summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86ISelLowering.cpp
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
commitb8f0d89d0584e37e205c04ed5753f57a23365403 (patch)
tree7113d755dcc54b6be1cb18650341f0fa8a5116ec /lib/Target/X86/X86ISelLowering.cpp
parent8049ab15e4b638a07d6f230329945c2310eca27b (diff)
downloadllvm-b8f0d89d0584e37e205c04ed5753f57a23365403.tar.gz
llvm-b8f0d89d0584e37e205c04ed5753f57a23365403.tar.bz2
llvm-b8f0d89d0584e37e205c04ed5753f57a23365403.tar.xz
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178448 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index 80c392ae1c..69341869aa 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/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);