summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-03-31 12:49:15 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-03-31 12:49:15 +0000
commitb60633fb879086fd4cc7016ec8bfb6f2c2a3810e (patch)
tree53f275a10ed8da1e1a19443152fdb3e57cc2714f /llvm/lib
parentbeb296bea1b26c3c047ea4d0937a25426b4d7f5b (diff)
downloadbcm5719-llvm-b60633fb879086fd4cc7016ec8bfb6f2c2a3810e.tar.gz
bcm5719-llvm-b60633fb879086fd4cc7016ec8bfb6f2c2a3810e.zip
X86: Promote sitofp <8 x i16> to <8 x i32> when AVX is available.
A vector sext + sitofp is a lot cheaper than 8 scalar conversions. llvm-svn: 178448
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 80c392ae1ce..69341869aa3 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -1111,6 +1111,7 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM)
setOperationAction(ISD::FP_TO_SINT, MVT::v8i16, Custom);
setOperationAction(ISD::FP_TO_SINT, MVT::v8i32, Legal);
+ setOperationAction(ISD::SINT_TO_FP, MVT::v8i16, Promote);
setOperationAction(ISD::SINT_TO_FP, MVT::v8i32, Legal);
setOperationAction(ISD::FP_ROUND, MVT::v4f32, Legal);
OpenPOWER on IntegriCloud