For PR1319:
[oota-llvm.git] / test / CodeGen / ARM / fparith.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 > %t
2 ; RUN: grep fadds %t
3 ; RUN: grep faddd %t
4 ; RUN: grep fmuls %t
5 ; RUN: grep fmuld %t
6 ; RUN: grep fnegs %t
7 ; RUN: grep fnegd %t
8 ; RUN: grep fdivs %t
9 ; RUN: grep fdivd %t
10
11
12 float %f1(float %a, float %b) {
13 entry:
14         %tmp = add float %a, %b
15         ret float %tmp
16 }
17
18 double %f2(double %a, double %b) {
19 entry:
20         %tmp = add double %a, %b
21         ret double %tmp
22 }
23
24 float %f3(float %a, float %b) {
25 entry:
26         %tmp = mul float %a, %b
27         ret float %tmp
28 }
29
30 double %f4(double %a, double %b) {
31 entry:
32         %tmp = mul double %a, %b
33         ret double %tmp
34 }
35
36 float %f5(float %a, float %b) {
37 entry:
38         %tmp = sub float %a, %b
39         ret float %tmp
40 }
41
42 double %f6(double %a, double %b) {
43 entry:
44         %tmp = sub double %a, %b
45         ret double %tmp
46 }
47
48 float %f7(float %a) {
49 entry:
50         %tmp1 = sub float -0.000000e+00, %a
51         ret float %tmp1
52 }
53
54 double %f8(double %a) {
55 entry:
56         %tmp1 = sub double -0.000000e+00, %a
57         ret double %tmp1
58 }
59
60 float %f9(float %a, float %b) {
61 entry:
62         %tmp1 = div float %a, %b
63         ret float %tmp1
64 }
65
66 double %f10(double %a, double %b) {
67 entry:
68         %tmp1 = div double %a, %b
69         ret double %tmp1
70 }
71
72 float %f11(float %a) {
73 entry:
74         %tmp1 = call float %fabsf(float %a)
75         ret float %tmp1
76 }
77
78 declare float %fabsf(float)
79
80 double %f12(double %a) {
81 entry:
82         %tmp1 = call double %fabs(double %a)
83         ret double %tmp1
84 }
85
86 declare double %fabs(double)