implement FLDD
[oota-llvm.git] / test / CodeGen / ARM / fp.ll
1 ; RUN: llvm-as < %s | llc -march=arm &&
2 ; RUN: llvm-as < %s | llc -march=arm | grep fmsr  | wc -l | grep 2 &&
3 ; RUN: llvm-as < %s | llc -march=arm | grep fsitos &&
4 ; RUN: llvm-as < %s | llc -march=arm | grep fmrs &&
5 ; RUN: llvm-as < %s | llc -march=arm | grep fsitod &&
6 ; RUN: llvm-as < %s | llc -march=arm | grep fmrrd | wc -l | grep 4 &&
7 ; RUN: llvm-as < %s | llc -march=arm | grep fmdrr | wc -l | grep 2 &&
8 ; RUN: llvm-as < %s | llc -march=arm | grep fldd &&
9 ; RUN: llvm-as < %s | llc -march=arm | grep flds &&
10 ; RUN: llvm-as < %s | llc -march=arm | grep ".word.*1065353216"
11
12 float %f(int %a) {
13 entry:
14         %tmp = cast int %a to float             ; <float> [#uses=1]
15         ret float %tmp
16 }
17
18 double %g(int %a) {
19 entry:
20         %tmp = cast int %a to double            ; <double> [#uses=1]
21         ret double %tmp
22 }
23
24 double %h(double* %v) {
25 entry:
26         %tmp = load double* %v          ; <double> [#uses=1]
27         ret double %tmp
28 }
29
30 float %h() {
31 entry:
32         ret float 1.000000e+00
33 }
34
35 double %f2(double %a) {
36         ret double %a
37 }
38
39 void %f3() {
40 entry:
41         %tmp = call double %f5()                ; <double> [#uses=1]
42         call void %f4(double %tmp )
43         ret void
44 }
45
46 declare void %f4(double)
47 declare double %f5()