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