[llvm] [LLVM][AArch64] Fix invalid use of AArch64ISD::UZP2 in performConcatVectorsCombine. (PR #104774)
Graham Hunter via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 21 08:55:24 PDT 2024
================
@@ -19811,15 +19811,15 @@ static SDValue performConcatVectorsCombine(SDNode *N,
// This optimization reduces instruction count.
if (N00Opc == AArch64ISD::VLSHR && N10Opc == AArch64ISD::VLSHR &&
N00->getOperand(1) == N10->getOperand(1)) {
-
SDValue N000 = N00->getOperand(0);
SDValue N100 = N10->getOperand(0);
uint64_t N001ConstVal = N00->getConstantOperandVal(1),
N101ConstVal = N10->getConstantOperandVal(1),
NScalarSize = N->getValueType(0).getScalarSizeInBits();
if (N001ConstVal == N101ConstVal && N001ConstVal > NScalarSize) {
-
+ N000 = DAG.getNode(AArch64ISD::NVCAST, dl, VT, N000);
----------------
huntergr-arm wrote:
Would it be possible to test this fix?
I think a comment is warranted at least. I take it this has something to do with big-endian mode?
https://github.com/llvm/llvm-project/pull/104774
More information about the llvm-commits
mailing list