implement FLDD
[oota-llvm.git] / test / CodeGen / ARM / fp.ll
index 3cf45fcddb2bf03d96d3bd9aedb2cc62263d0ff3..c40e2fc88608f28d301df5aa45b9e7a7bc3b14a0 100644 (file)
@@ -1,9 +1,11 @@
 ; RUN: llvm-as < %s | llc -march=arm &&
-; RUN: llvm-as < %s | llc -march=arm | grep fmsr | wc -l | grep 2 &&
+; RUN: llvm-as < %s | llc -march=arm | grep fmsr  | wc -l | grep 2 &&
 ; RUN: llvm-as < %s | llc -march=arm | grep fsitos &&
 ; RUN: llvm-as < %s | llc -march=arm | grep fmrs &&
 ; RUN: llvm-as < %s | llc -march=arm | grep fsitod &&
-; RUN: llvm-as < %s | llc -march=arm | grep fmrrd &&
+; RUN: llvm-as < %s | llc -march=arm | grep fmrrd | wc -l | grep 4 &&
+; RUN: llvm-as < %s | llc -march=arm | grep fmdrr | wc -l | grep 2 &&
+; RUN: llvm-as < %s | llc -march=arm | grep fldd &&
 ; RUN: llvm-as < %s | llc -march=arm | grep flds &&
 ; RUN: llvm-as < %s | llc -march=arm | grep ".word.*1065353216"
 
@@ -19,7 +21,27 @@ entry:
         ret double %tmp
 }
 
+double %h(double* %v) {
+entry:
+       %tmp = load double* %v          ; <double> [#uses=1]
+       ret double %tmp
+}
+
 float %h() {
 entry:
         ret float 1.000000e+00
 }
+
+double %f2(double %a) {
+        ret double %a
+}
+
+void %f3() {
+entry:
+       %tmp = call double %f5()                ; <double> [#uses=1]
+       call void %f4(double %tmp )
+       ret void
+}
+
+declare void %f4(double)
+declare double %f5()