summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorReed Kotler <rkotler@mips.com>2014-10-01 18:47:02 +0000
committerReed Kotler <rkotler@mips.com>2014-10-01 18:47:02 +0000
commitb9dc248e9e964bccd8358de113cbeb3d9427f7ca (patch)
tree67656c1410e2ff6c0f0cda23dba52ea06087b925 /llvm/test/CodeGen
parent30c9242caad0f82daedb838d73d8311e82b9201b (diff)
downloadbcm5719-llvm-b9dc248e9e964bccd8358de113cbeb3d9427f7ca.tar.gz
bcm5719-llvm-b9dc248e9e964bccd8358de113cbeb3d9427f7ca.zip
Add fptrunc to mips fast-sel
Summary: Implement conversion of 64 to 32 bit floating point numbers (fptrunc) in mips fast-isel Test Plan: fptrunc.ll checked also with 4 internal mips build bot flavors mip32r1/miprs32r2 and at -O0 and -O2 Reviewers: dsanders Reviewed By: dsanders Subscribers: rfuhler Differential Revision: http://reviews.llvm.org/D5553 llvm-svn: 218785
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/Mips/Fast-ISel/fptrunc.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Mips/Fast-ISel/fptrunc.ll b/llvm/test/CodeGen/Mips/Fast-ISel/fptrunc.ll
new file mode 100644
index 00000000000..d843dee5a8c
--- /dev/null
+++ b/llvm/test/CodeGen/Mips/Fast-ISel/fptrunc.ll
@@ -0,0 +1,20 @@
+; RUN: llc -march=mipsel -relocation-model=pic -O0 -mips-fast-isel -fast-isel-abort -mcpu=mips32r2 \
+; RUN: < %s | FileCheck %s
+; RUN: llc -march=mipsel -relocation-model=pic -O0 -mips-fast-isel -fast-isel-abort -mcpu=mips32 \
+; RUN: < %s | FileCheck %s
+
+@d = global double 0x40147E6B74DF0446, align 8
+@f = common global float 0.000000e+00, align 4
+@.str = private unnamed_addr constant [6 x i8] c"%f \0A\00", align 1
+
+; Function Attrs: nounwind
+define void @fv() #0 {
+entry:
+ %0 = load double* @d, align 8
+ %conv = fptrunc double %0 to float
+; CHECK: cvt.s.d $f{{[0-9]+}}, $f{{[0-9]+}}
+ store float %conv, float* @f, align 4
+ ret void
+}
+
+attributes #1 = { nounwind }
OpenPOWER on IntegriCloud