diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-10-28 01:44:26 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-10-28 01:44:26 +0000 |
commit | 39382427f1095f089d73a7dd3d9a371dea75b781 (patch) | |
tree | 4335d6e015c750e046bb2ef103e283eda632645e /test | |
parent | a1eaa3c52b75d4fe2bcd4f7c52e56c405ee91d3c (diff) | |
download | external_llvm-39382427f1095f089d73a7dd3d9a371dea75b781.zip external_llvm-39382427f1095f089d73a7dd3d9a371dea75b781.tar.gz external_llvm-39382427f1095f089d73a7dd3d9a371dea75b781.tar.bz2 |
Use fconsts and fconstd to materialize small fp constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85362 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/ARM/fpconsts.ll | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/fpconsts.ll b/test/CodeGen/ARM/fpconsts.ll new file mode 100644 index 0000000..6a3a6d8 --- /dev/null +++ b/test/CodeGen/ARM/fpconsts.ll @@ -0,0 +1,33 @@ +; RUN: llc < %s -march=arm -mattr=+vfp3 | FileCheck %s + +define arm_apcscc float @t1(float %x) nounwind readnone optsize { +entry: +; CHECK: t1: +; CHECK: fconsts s1, 16 + %0 = fadd float %x, 4.000000e+00 + ret float %0 +} + +define arm_apcscc double @t2(double %x) nounwind readnone optsize { +entry: +; CHECK: t2: +; CHECK: fconstd d1, 8 + %0 = fadd double %x, 3.000000e+00 + ret double %0 +} + +define arm_apcscc double @t3(double %x) nounwind readnone optsize { +entry: +; CHECK: t3: +; CHECK: fconstd d1, 170 + %0 = fmul double %x, -1.300000e+01 + ret double %0 +} + +define arm_apcscc float @t4(float %x) nounwind readnone optsize { +entry: +; CHECK: t4: +; CHECK: fconsts s1, 184 + %0 = fmul float %x, -2.400000e+01 + ret float %0 +} |