forked from OSchip/llvm-project
[X86][SSE] Combine EXTRACT_VECTOR_ELT with combineExtractWithShuffle before XFormVExtractWithShuffleIntoLoad
combineExtractWithShuffle can handle more complex shuffles/bitcasts than we can with the equivalent code in XFormVExtractWithShuffleIntoLoad. Mainly a compile time improvement now (combineExtractWithShuffle combines will have always failed late on inside XFormVExtractWithShuffleIntoLoad), and will let us merge combineExtractVectorElt_SSE in a future commit. llvm-svn: 317481
This commit is contained in:
parent
13dc13ef09
commit
14450720e6
|
@ -30485,10 +30485,10 @@ static SDValue combineExtractWithShuffle(SDNode *N, SelectionDAG &DAG,
|
|||
static SDValue combineExtractVectorElt(SDNode *N, SelectionDAG &DAG,
|
||||
TargetLowering::DAGCombinerInfo &DCI,
|
||||
const X86Subtarget &Subtarget) {
|
||||
if (SDValue NewOp = XFormVExtractWithShuffleIntoLoad(N, DAG, DCI))
|
||||
if (SDValue NewOp = combineExtractWithShuffle(N, DAG, DCI, Subtarget))
|
||||
return NewOp;
|
||||
|
||||
if (SDValue NewOp = combineExtractWithShuffle(N, DAG, DCI, Subtarget))
|
||||
if (SDValue NewOp = XFormVExtractWithShuffleIntoLoad(N, DAG, DCI))
|
||||
return NewOp;
|
||||
|
||||
SDValue InputVector = N->getOperand(0);
|
||||
|
|
Loading…
Reference in New Issue