forked from OSchip/llvm-project
[X86] Prefer isTypeLegal over checking isSimple in a DAG combine.
Simple types are a superset of what all in tree targets in LLVM could possibly have a legal type. This means the behavior of using isSimple to check for a supported type for X86 could change over time. For example, this could would change if a v256i1 type was added to MVT in the future. llvm-svn: 343995
This commit is contained in:
parent
6205ba0e7f
commit
ff9f02580d
|
@ -40211,7 +40211,9 @@ static SDValue combineExtractSubvector(SDNode *N, SelectionDAG &DAG,
|
|||
EVT VT = N->getValueType(0);
|
||||
EVT WideVecVT = N->getOperand(0).getValueType();
|
||||
SDValue WideVec = peekThroughBitcasts(N->getOperand(0));
|
||||
if (Subtarget.hasAVX() && !Subtarget.hasAVX2() && WideVecVT.isSimple() &&
|
||||
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
|
||||
if (Subtarget.hasAVX() && !Subtarget.hasAVX2() &&
|
||||
TLI.isTypeLegal(WideVecVT) &&
|
||||
WideVecVT.getSizeInBits() == 256 && WideVec.getOpcode() == ISD::AND) {
|
||||
auto isConcatenatedNot = [] (SDValue V) {
|
||||
V = peekThroughBitcasts(V);
|
||||
|
|
Loading…
Reference in New Issue