forked from OSchip/llvm-project
Refine fix to PR10499, no functionality change
- Put expensive checking after simple one llvm-svn: 176060
This commit is contained in:
parent
6308f58254
commit
609a527286
|
@ -5344,7 +5344,7 @@ X86TargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const {
|
||||||
// Vectors containing all ones can be matched by pcmpeqd on 128-bit width
|
// Vectors containing all ones can be matched by pcmpeqd on 128-bit width
|
||||||
// vectors or broken into v4i32 operations on 256-bit vectors. AVX2 can use
|
// vectors or broken into v4i32 operations on 256-bit vectors. AVX2 can use
|
||||||
// vpcmpeqd on 256-bit vectors.
|
// vpcmpeqd on 256-bit vectors.
|
||||||
if (ISD::isBuildVectorAllOnes(Op.getNode()) && Subtarget->hasSSE2()) {
|
if (Subtarget->hasSSE2() && ISD::isBuildVectorAllOnes(Op.getNode())) {
|
||||||
if (VT == MVT::v4i32 || (VT == MVT::v8i32 && Subtarget->hasInt256()))
|
if (VT == MVT::v4i32 || (VT == MVT::v8i32 && Subtarget->hasInt256()))
|
||||||
return Op;
|
return Op;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue