[llvm] [LLVM][AArch64] Enable verifyTargetSDNode for scalable vectors and fix the fallout. (PR #104820)
Matthew Devereau via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 30 09:01:13 PDT 2024
================
@@ -29363,12 +29389,25 @@ void AArch64TargetLowering::verifyTargetSDNode(const SDNode *N) const {
EVT Op1VT = N->getOperand(1).getValueType();
assert(VT.isVector() && Op0VT.isVector() && Op1VT.isVector() &&
"Expected vectors!");
- // TODO: Enable assert once bogus creations have been fixed.
- if (VT.isScalableVector())
- break;
assert(VT == Op0VT && VT == Op1VT && "Expected matching vectors!");
break;
}
+ case AArch64ISD::RSHRNB_I: {
+ assert(N->getNumValues() == 1 && "Expected one result!");
+ assert(N->getNumOperands() == 2 && "Expected two operand!");
+ EVT VT = N->getValueType(0);
+ EVT Op0VT = N->getOperand(0).getValueType();
+ EVT Op1VT = N->getOperand(1).getValueType();
+ assert(VT.isVector() && Op0VT.isVector() && VT.isInteger() &&
+ Op0VT.isInteger() && "Expected integer vectors!");
----------------
MDevereau wrote:
Since the message for the second operand is very specific, this message could be more specific about which operand numbers this refers to
https://github.com/llvm/llvm-project/pull/104820
More information about the llvm-commits
mailing list