summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-08-05 03:48:31 +0000
committerCraig Topper <craig.topper@intel.com>2019-08-05 03:48:31 +0000
commit635f5ff580db8cb6e0b7ed4d6c16b849ef63bb11 (patch)
treeffe8f8527d30c65756b8abd5db89e34e0aafc46b /llvm/lib
parentbc3c2994033cd33acfaed5ee9761496cc0a5c26c (diff)
downloadbcm5719-llvm-635f5ff580db8cb6e0b7ed4d6c16b849ef63bb11.tar.gz
bcm5719-llvm-635f5ff580db8cb6e0b7ed4d6c16b849ef63bb11.zip
[X86] Fix a bad early out in combineExtInVec that prevented recursive shuffle combining from running with -x86-experimental-vector-widening-legalization.
llvm-svn: 367798
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 447265c32ea..104623774cc 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -44400,14 +44400,12 @@ static SDValue combineExtInVec(SDNode *N, SelectionDAG &DAG,
}
}
+ // Combine (ext_invec (ext_invec X)) -> (ext_invec X)
// Disabling for widening legalization for now. We can enable if we find a
// case that needs it. Otherwise it can be deleted when we switch to
// widening legalization.
- if (ExperimentalVectorWideningLegalization)
- return SDValue();
-
- // Combine (ext_invec (ext_invec X)) -> (ext_invec X)
- if (In.getOpcode() == N->getOpcode() &&
+ if (!ExperimentalVectorWideningLegalization &&
+ In.getOpcode() == N->getOpcode() &&
TLI.isTypeLegal(VT) && TLI.isTypeLegal(In.getOperand(0).getValueType()))
return DAG.getNode(N->getOpcode(), SDLoc(N), VT, In.getOperand(0));
OpenPOWER on IntegriCloud