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 | 02b985c50faa7b0f43ef4100761c633ed4b8d6d2 (patch) | |
tree | 0d21bd626b6931c8fd248b5094331f5bb53f3b54 /test/CodeGen/ARM/fp.ll | |
parent | a8e2989ece6dc46df59b0768184028257f913843 (diff) | |
download | external_llvm-02b985c50faa7b0f43ef4100761c633ed4b8d6d2.zip external_llvm-02b985c50faa7b0f43ef4100761c633ed4b8d6d2.tar.gz external_llvm-02b985c50faa7b0f43ef4100761c633ed4b8d6d2.tar.bz2 |
ARM test cases contributed by Apple.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33354 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/fp.ll')
-rw-r--r-- | test/CodeGen/ARM/fp.ll | 59 |
1 files changed, 34 insertions, 25 deletions
diff --git a/test/CodeGen/ARM/fp.ll b/test/CodeGen/ARM/fp.ll index ef6fde6..15be716 100644 --- a/test/CodeGen/ARM/fp.ll +++ b/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 -} |