add support for calling functions that return double
[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 3 &&
7 ; RUN: llvm-as < %s | llc -march=arm | grep fmdrr | wc -l | grep 2 &&
8 ; RUN: llvm-as < %s | llc -march=arm | grep flds &&
9 ; RUN: llvm-as < %s | llc -march=arm | grep ".word.*1065353216"
10
11 float %f(int %a) {
12 entry:
13         %tmp = cast int %a to float             ; <float> [#uses=1]
14         ret float %tmp
15 }
16
17 double %g(int %a) {
18 entry:
19         %tmp = cast int %a to double            ; <double> [#uses=1]
20         ret double %tmp
21 }
22
23 float %h() {
24 entry:
25         ret float 1.000000e+00
26 }
27
28 double %f2(double %a) {
29         ret double %a
30 }
31
32 void %f3() {
33 entry:
34         %tmp = call double %f5()                ; <double> [#uses=1]
35         call void %f4(double %tmp )
36         ret void
37 }
38
39 declare void %f4(double)
40 declare double %f5()