aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2025-02-10 13:22:42 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2025-02-10 13:23:01 +0000
commit121e6abefd9cd0276d04df32df1da3604c044cdf (patch)
tree79fddd55d8a07371642f171388b52d445b10a13f
parent83fa117f76f9c4c82ce0ca914c4eba268c6c2fa2 (diff)
downloadllvm-121e6abefd9cd0276d04df32df1da3604c044cdf.zip
llvm-121e6abefd9cd0276d04df32df1da3604c044cdf.tar.gz
llvm-121e6abefd9cd0276d04df32df1da3604c044cdf.tar.bz2
[X86] IsElementEquivalent - pull out repeated getValueType calls. NFC.
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 34ac426..995b4de 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -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;