mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 00:56:06 +00:00
[X86] IsElementEquivalent - pull out repeated getValueType calls. NFC.
This commit is contained in:
parent
83fa117f76
commit
121e6abefd
@ -9789,6 +9789,7 @@ static bool IsElementEquivalent(int MaskSize, SDValue Op, SDValue ExpectedOp,
|
||||
if (!Op || !ExpectedOp || Op.getOpcode() != ExpectedOp.getOpcode())
|
||||
return false;
|
||||
|
||||
EVT VT = Op.getValueType();
|
||||
switch (Op.getOpcode()) {
|
||||
case ISD::BUILD_VECTOR:
|
||||
// If the values are build vectors, we can look through them to find
|
||||
@ -9800,9 +9801,8 @@ static bool IsElementEquivalent(int MaskSize, SDValue Op, SDValue ExpectedOp,
|
||||
break;
|
||||
case X86ISD::VBROADCAST:
|
||||
case X86ISD::VBROADCAST_LOAD:
|
||||
// TODO: Handle MaskSize != Op.getValueType().getVectorNumElements()?
|
||||
return (Op == ExpectedOp &&
|
||||
(int)Op.getValueType().getVectorNumElements() == MaskSize);
|
||||
// TODO: Handle MaskSize != VT.getVectorNumElements()?
|
||||
return (Op == ExpectedOp && (int)VT.getVectorNumElements() == MaskSize);
|
||||
case X86ISD::HADD:
|
||||
case X86ISD::HSUB:
|
||||
case X86ISD::FHADD:
|
||||
@ -9813,7 +9813,6 @@ static bool IsElementEquivalent(int MaskSize, SDValue Op, SDValue ExpectedOp,
|
||||
// TODO: Handle MaskSize != NumElts?
|
||||
// TODO: Handle HOP(X,Y) vs HOP(Y,X) equivalence cases.
|
||||
if (Op == ExpectedOp && Op.getOperand(0) == Op.getOperand(1)) {
|
||||
MVT VT = Op.getSimpleValueType();
|
||||
int NumElts = VT.getVectorNumElements();
|
||||
if (MaskSize == NumElts) {
|
||||
int NumLanes = VT.getSizeInBits() / 128;
|
||||
|
Loading…
x
Reference in New Issue
Block a user