diff options
author | Craig Topper <craig.topper@intel.com> | 2018-12-29 01:17:11 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-12-29 01:17:11 +0000 |
commit | 0a6cec6f9f1bd11147eb76d8d0b4df9d40bb873c (patch) | |
tree | cec9b3a0c24ac760d704834ac51ad603fb3a6ba2 /llvm/lib/Target | |
parent | 48615c17866a50a36b7ea6f0e435c7e9b77df702 (diff) | |
download | bcm5719-llvm-0a6cec6f9f1bd11147eb76d8d0b4df9d40bb873c.tar.gz bcm5719-llvm-0a6cec6f9f1bd11147eb76d8d0b4df9d40bb873c.zip |
[X86] Don't mark SEXTLOAD v4i8->v4i64 and v8i8->v8i64 as custom under vector widening legalization.
This was tricking us into making these operations and then letting them get scalarized later. But I can't prove that the scalarized version is actually better.
llvm-svn: 350141
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 82083653f0d..ef9fa2fcb31 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -897,14 +897,6 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM, setLoadExtAction(ISD::EXTLOAD, VT, MVT::v8i8, Custom); } - if (ExperimentalVectorWideningLegalization && - !Subtarget.hasSSE41() && Subtarget.is64Bit()) { - // This lets DAG combine create sextloads that get split and scalarized. - // TODO: Does this make sense? What about v2i8->v2i64? - setLoadExtAction(ISD::SEXTLOAD, MVT::v4i64, MVT::v4i8, Custom); - setLoadExtAction(ISD::SEXTLOAD, MVT::v8i64, MVT::v8i8, Custom); - } - for (auto VT : { MVT::v2f64, MVT::v2i64 }) { setOperationAction(ISD::BUILD_VECTOR, VT, Custom); setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); |