aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/ARM/fpconsts.ll
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-10-28 01:44:26 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-10-28 01:44:26 +0000
commit39382427f1095f089d73a7dd3d9a371dea75b781 (patch)
tree4335d6e015c750e046bb2ef103e283eda632645e /test/CodeGen/ARM/fpconsts.ll
parenta1eaa3c52b75d4fe2bcd4f7c52e56c405ee91d3c (diff)
downloadexternal_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/CodeGen/ARM/fpconsts.ll')
-rw-r--r--test/CodeGen/ARM/fpconsts.ll33
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
+}