diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-01-19 09:20:23 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-01-19 09:20:23 +0000 |
commit | a5007faaa68de9487fe63b690bea6e16c3c5f770 (patch) | |
tree | 07322d3e08789b6620893863778d9927e5cf80ce /llvm/test/CodeGen/ARM/fp.ll | |
parent | 10043e215bcfd6d2b09a6ce3ad461fd686f686b8 (diff) | |
download | bcm5719-llvm-a5007faaa68de9487fe63b690bea6e16c3c5f770.tar.gz bcm5719-llvm-a5007faaa68de9487fe63b690bea6e16c3c5f770.zip |
ARM test cases contributed by Apple.
llvm-svn: 33354
Diffstat (limited to 'llvm/test/CodeGen/ARM/fp.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/fp.ll | 59 |
1 files changed, 34 insertions, 25 deletions
diff --git a/llvm/test/CodeGen/ARM/fp.ll b/llvm/test/CodeGen/ARM/fp.ll index ef6fde6a1c3..15be71637b2 100644 --- a/llvm/test/CodeGen/ARM/fp.ll +++ b/llvm/test/CodeGen/ARM/fp.ll @@ -1,27 +1,48 @@ ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep fmsr && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep fmrs && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep fmrrd && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep fmdrr && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep fldd && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep flds && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep fstd && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep fsts && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "mov r0, #1065353216" +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fmsr | wc -l | grep 4 && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fsitos && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fmrs && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fsitod && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fmrrd | wc -l | grep 5 && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fmdrr | wc -l | grep 2 && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fldd && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep flds && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fuitod && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep fuitos && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | grep 1065353216 + +float %f(int %a) { +entry: + %tmp = cast int %a to float ; <float> [#uses=1] + ret float %tmp +} +double %g(int %a) { +entry: + %tmp = cast int %a to double ; <double> [#uses=1] + ret double %tmp +} -double %h(double* %v) { +double %uint_to_double(uint %a) { entry: - %tmp = load double* %v ; <double> [#uses=1] + %tmp = cast uint %a to double ret double %tmp } -float %h(float* %v) { +float %uint_to_float(uint %a) { entry: - %tmp = load float* %v ; <double> [#uses=1] + %tmp = cast uint %a to float ret float %tmp } + +double %h(double* %v) { +entry: + %tmp = load double* %v ; <double> [#uses=1] + ret double %tmp +} + float %h() { entry: ret float 1.000000e+00 @@ -40,15 +61,3 @@ entry: declare void %f4(double) declare double %f5() - -void %f6(float %a, float* %b) { -entry: - store float %a, float* %b - ret void -} - -void %f7(double %a, double* %b) { -entry: - store double %a, double* %b - ret void -} |