For PR1319: Upgrade to use new test harness
[oota-llvm.git] / test / CodeGen / ARM / fp.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \
2 ; RUN:   grep fmsr | wc -l | grep 4
3 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \
4 ; RUN:   grep fsitos
5 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \
6 ; RUN:   grep fmrs
7 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \
8 ; RUN:   grep fsitod
9 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \
10 ; RUN:   grep fmrrd | wc -l | grep 5
11 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \
12 ; RUN:   grep fmdrr | wc -l | grep 2 &&
13 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fldd
14 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep flds
15 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fuitod
16 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fuitos
17 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \
18 ; RUN:   grep 1065353216
19
20 float %f(int %a) {
21 entry:
22         %tmp = cast int %a to float             ; <float> [#uses=1]
23         ret float %tmp
24 }
25
26 double %g(int %a) {
27 entry:
28         %tmp = cast int %a to double            ; <double> [#uses=1]
29         ret double %tmp
30 }
31
32 double %uint_to_double(uint %a) {
33 entry:
34         %tmp = cast uint %a to double
35         ret double %tmp
36 }
37
38 float %uint_to_float(uint %a) {
39 entry:
40         %tmp = cast uint %a to float
41         ret float %tmp
42 }
43
44
45 double %h(double* %v) {
46 entry:
47         %tmp = load double* %v          ; <double> [#uses=1]
48         ret double %tmp
49 }
50
51 float %h2() {
52 entry:
53         ret float 1.000000e+00
54 }
55
56 double %f2(double %a) {
57         ret double %a
58 }
59
60 void %f3() {
61 entry:
62         %tmp = call double %f5()                ; <double> [#uses=1]
63         call void %f4(double %tmp )
64         ret void
65 }
66
67 declare void %f4(double)
68 declare double %f5()