[llvm] r318869 - [X86] Sink the MGATHER setOperationActions for AVX2 into the AVX block where most of the rest of the AVX2 legalization lives.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 22 12:05:52 PST 2017
Author: ctopper
Date: Wed Nov 22 12:05:51 2017
New Revision: 318869
URL: http://llvm.org/viewvc/llvm-project?rev=318869&view=rev
Log:
[X86] Sink the MGATHER setOperationActions for AVX2 into the AVX block where most of the rest of the AVX2 legalization lives.
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=318869&r1=318868&r2=318869&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Wed Nov 22 12:05:51 2017
@@ -970,13 +970,6 @@ X86TargetLowering::X86TargetLowering(con
setOperationAction(ISD::BITREVERSE, VT, Custom);
}
- // Special handling for masked gather of 2 elements
- if (Subtarget.hasAVX2()) {
- for (auto VT : { MVT::v4i32, MVT::v8i32, MVT::v2i64, MVT::v4i64,
- MVT::v4f32, MVT::v8f32, MVT::v2f64, MVT::v4f64 })
- setOperationAction(ISD::MGATHER, VT, Custom);
- }
-
if (!Subtarget.useSoftFloat() && Subtarget.hasFp256()) {
bool HasInt256 = Subtarget.hasInt256();
@@ -1139,6 +1132,12 @@ X86TargetLowering::X86TargetLowering(con
setOperationPromotedToType(ISD::LOAD, VT, MVT::v4i64);
setOperationPromotedToType(ISD::SELECT, VT, MVT::v4i64);
}
+
+ if (HasInt256) {
+ for (auto VT : { MVT::v4i32, MVT::v8i32, MVT::v2i64, MVT::v4i64,
+ MVT::v4f32, MVT::v8f32, MVT::v2f64, MVT::v4f64 })
+ setOperationAction(ISD::MGATHER, VT, Custom);
+ }
}
if (!Subtarget.useSoftFloat() && Subtarget.hasAVX512()) {
More information about the llvm-commits
mailing list