diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2025-02-10 13:22:42 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2025-02-10 13:23:01 +0000 |
commit | 121e6abefd9cd0276d04df32df1da3604c044cdf (patch) | |
tree | 79fddd55d8a07371642f171388b52d445b10a13f | |
parent | 83fa117f76f9c4c82ce0ca914c4eba268c6c2fa2 (diff) | |
download | llvm-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.cpp | 7 |
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; |