From 067eee1c13b664224afcd4392dc86e32ce6de74b Mon Sep 17 00:00:00 2001 From: Sander de Smalen Date: Mon, 18 Jun 2018 21:03:02 +0000 Subject: [PATCH] [AArch64][SVE] Asm: Fix predicate pattern diagnostics. This patch uses the DiagnosticPredicate for SVE predicate patterns to improve their diagnostics, now giving a 'invalid operand' diagnostic if the type is not an immediate or one of the expected pattern labels. Reviewers: samparker, SjoerdMeijer, javed.absar, fhahn Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D48220 llvm-svn: 334983 --- llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp | 10 ++++++---- llvm/test/MC/AArch64/SVE/decb-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/decd-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/dech-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/decw-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/incb-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/incd-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/inch-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/incw-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/ptrue-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/ptrues-diagnostics.s | 4 ++-- llvm/test/MC/AArch64/SVE/sqdecb-diagnostics.s | 6 +++--- llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s | 6 +++--- llvm/test/MC/AArch64/SVE/sqdech-diagnostics.s | 6 +++--- llvm/test/MC/AArch64/SVE/sqdecw-diagnostics.s | 6 +++--- llvm/test/MC/AArch64/SVE/sqincb-diagnostics.s | 6 +++--- llvm/test/MC/AArch64/SVE/sqincd-diagnostics.s | 6 +++--- llvm/test/MC/AArch64/SVE/sqinch-diagnostics.s | 6 +++--- llvm/test/MC/AArch64/SVE/sqincw-diagnostics.s | 6 +++--- llvm/test/MC/AArch64/SVE/uqdecb-diagnostics.s | 10 +++++----- llvm/test/MC/AArch64/SVE/uqdecd-diagnostics.s | 10 +++++----- llvm/test/MC/AArch64/SVE/uqdech-diagnostics.s | 10 +++++----- llvm/test/MC/AArch64/SVE/uqdecw-diagnostics.s | 10 +++++----- llvm/test/MC/AArch64/SVE/uqincb-diagnostics.s | 10 +++++----- llvm/test/MC/AArch64/SVE/uqincd-diagnostics.s | 10 +++++----- llvm/test/MC/AArch64/SVE/uqinch-diagnostics.s | 10 +++++----- llvm/test/MC/AArch64/SVE/uqincw-diagnostics.s | 10 +++++----- 27 files changed, 90 insertions(+), 88 deletions(-) diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp index c34ecb24fb50..d042370acf45 100644 --- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp +++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp @@ -573,14 +573,16 @@ public: return DiagnosticPredicateTy::NearMatch; } - bool isSVEPattern() const { + DiagnosticPredicate isSVEPattern() const { if (!isImm()) - return false; + return DiagnosticPredicateTy::NoMatch; auto *MCE = dyn_cast(getImm()); if (!MCE) - return false; + return DiagnosticPredicateTy::NoMatch; int64_t Val = MCE->getValue(); - return Val >= 0 && Val < 32; + if (Val >= 0 && Val < 32) + return DiagnosticPredicateTy::Match; + return DiagnosticPredicateTy::NearMatch; } bool isSymbolicUImm12Offset(const MCExpr *Expr, unsigned Scale) const { diff --git a/llvm/test/MC/AArch64/SVE/decb-diagnostics.s b/llvm/test/MC/AArch64/SVE/decb-diagnostics.s index 2f241a9979f4..4f888bc884d9 100644 --- a/llvm/test/MC/AArch64/SVE/decb-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/decb-diagnostics.s @@ -37,12 +37,12 @@ decb x0, all, mul #17 // Invalid predicate patterns decb x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: decb x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: decb x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: decb x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/decd-diagnostics.s b/llvm/test/MC/AArch64/SVE/decd-diagnostics.s index 8df9e8a8cce3..db7c0cf80b0d 100644 --- a/llvm/test/MC/AArch64/SVE/decd-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/decd-diagnostics.s @@ -37,12 +37,12 @@ decd x0, all, mul #17 // Invalid predicate patterns decd x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: decd x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: decd x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: decd x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/dech-diagnostics.s b/llvm/test/MC/AArch64/SVE/dech-diagnostics.s index 1263f9632540..bb7d1ef43fa8 100644 --- a/llvm/test/MC/AArch64/SVE/dech-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/dech-diagnostics.s @@ -37,12 +37,12 @@ dech x0, all, mul #17 // Invalid predicate patterns dech x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: dech x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: dech x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: dech x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/decw-diagnostics.s b/llvm/test/MC/AArch64/SVE/decw-diagnostics.s index 1634e62b34aa..7ecf9e06bd3c 100644 --- a/llvm/test/MC/AArch64/SVE/decw-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/decw-diagnostics.s @@ -37,12 +37,12 @@ decw x0, all, mul #17 // Invalid predicate patterns decw x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: decw x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: decw x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: decw x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/incb-diagnostics.s b/llvm/test/MC/AArch64/SVE/incb-diagnostics.s index df5215e16e72..9f20018ae005 100644 --- a/llvm/test/MC/AArch64/SVE/incb-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/incb-diagnostics.s @@ -37,12 +37,12 @@ incb x0, all, mul #17 // Invalid predicate patterns incb x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: incb x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: incb x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: incb x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/incd-diagnostics.s b/llvm/test/MC/AArch64/SVE/incd-diagnostics.s index 1e53ee6c31a4..75337ec8583b 100644 --- a/llvm/test/MC/AArch64/SVE/incd-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/incd-diagnostics.s @@ -37,12 +37,12 @@ incd x0, all, mul #17 // Invalid predicate patterns incd x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: incd x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: incd x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: incd x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/inch-diagnostics.s b/llvm/test/MC/AArch64/SVE/inch-diagnostics.s index dea84fbd5c02..00fea15f7b79 100644 --- a/llvm/test/MC/AArch64/SVE/inch-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/inch-diagnostics.s @@ -37,12 +37,12 @@ inch x0, all, mul #17 // Invalid predicate patterns inch x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: inch x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: inch x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: inch x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/incw-diagnostics.s b/llvm/test/MC/AArch64/SVE/incw-diagnostics.s index a5df210a7072..d5b6e71c942f 100644 --- a/llvm/test/MC/AArch64/SVE/incw-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/incw-diagnostics.s @@ -37,12 +37,12 @@ incw x0, all, mul #17 // Invalid predicate patterns incw x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: incw x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: incw x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: incw x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/ptrue-diagnostics.s b/llvm/test/MC/AArch64/SVE/ptrue-diagnostics.s index d41e9a6a5f8e..51001265acbc 100644 --- a/llvm/test/MC/AArch64/SVE/ptrue-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/ptrue-diagnostics.s @@ -5,12 +5,12 @@ // --------------------------------------------------------------------------// ptrue p0.s, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: ptrue p0.s, vl512 // CHECK-NOT: [[@LINE-3]]:{{[0-9]+}}: ptrue p0.s, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: ptrue p0.s, vl9 // CHECK-NOT: [[@LINE-3]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/ptrues-diagnostics.s b/llvm/test/MC/AArch64/SVE/ptrues-diagnostics.s index 0ba2d8344f9b..dfbf9794caee 100644 --- a/llvm/test/MC/AArch64/SVE/ptrues-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/ptrues-diagnostics.s @@ -5,12 +5,12 @@ // --------------------------------------------------------------------------// ptrues p0.s, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: ptrues p0.s, vl512 // CHECK-NOT: [[@LINE-3]]:{{[0-9]+}}: ptrues p0.s, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: ptrues p0.s, vl9 // CHECK-NOT: [[@LINE-3]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/sqdecb-diagnostics.s b/llvm/test/MC/AArch64/SVE/sqdecb-diagnostics.s index 84bd1e23a8c6..3bfe64b437c1 100644 --- a/llvm/test/MC/AArch64/SVE/sqdecb-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/sqdecb-diagnostics.s @@ -28,7 +28,7 @@ sqdecb x0, w1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqdecb x0, x1 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecb x0, x1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ sqdecb x0, all, mul #17 // Invalid predicate patterns sqdecb x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecb x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqdecb x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecb x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s b/llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s index 2b7f89900ceb..ab1331fe6da2 100644 --- a/llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s @@ -28,7 +28,7 @@ sqdecd x0, w1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqdecd x0, x1 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecd x0, x1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ sqdecd x0, all, mul #17 // Invalid predicate patterns sqdecd x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecd x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqdecd x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecd x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/sqdech-diagnostics.s b/llvm/test/MC/AArch64/SVE/sqdech-diagnostics.s index 385dad9bd260..5ec208d22fd5 100644 --- a/llvm/test/MC/AArch64/SVE/sqdech-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/sqdech-diagnostics.s @@ -28,7 +28,7 @@ sqdech x0, w1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqdech x0, x1 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdech x0, x1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ sqdech x0, all, mul #17 // Invalid predicate patterns sqdech x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdech x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqdech x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdech x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/sqdecw-diagnostics.s b/llvm/test/MC/AArch64/SVE/sqdecw-diagnostics.s index 48a9751d05dc..006462838c9e 100644 --- a/llvm/test/MC/AArch64/SVE/sqdecw-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/sqdecw-diagnostics.s @@ -28,7 +28,7 @@ sqdecw x0, w1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqdecw x0, x1 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecw x0, x1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ sqdecw x0, all, mul #17 // Invalid predicate patterns sqdecw x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecw x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqdecw x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqdecw x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/sqincb-diagnostics.s b/llvm/test/MC/AArch64/SVE/sqincb-diagnostics.s index 4d6d3e5d7b20..a780b27c58e5 100644 --- a/llvm/test/MC/AArch64/SVE/sqincb-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/sqincb-diagnostics.s @@ -28,7 +28,7 @@ sqincb x0, w1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqincb x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincb x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ sqincb x0, all, mul #17 // Invalid predicate patterns sqincb x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincb x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqincb x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincb x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/sqincd-diagnostics.s b/llvm/test/MC/AArch64/SVE/sqincd-diagnostics.s index c43d019a8790..f2541fb4f130 100644 --- a/llvm/test/MC/AArch64/SVE/sqincd-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/sqincd-diagnostics.s @@ -28,7 +28,7 @@ sqincd x0, w1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqincd x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincd x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ sqincd x0, all, mul #17 // Invalid predicate patterns sqincd x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincd x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqincd x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincd x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/sqinch-diagnostics.s b/llvm/test/MC/AArch64/SVE/sqinch-diagnostics.s index d926d28a1885..7e574d9710e6 100644 --- a/llvm/test/MC/AArch64/SVE/sqinch-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/sqinch-diagnostics.s @@ -28,7 +28,7 @@ sqinch x0, w1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqinch x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqinch x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ sqinch x0, all, mul #17 // Invalid predicate patterns sqinch x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqinch x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqinch x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqinch x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/sqincw-diagnostics.s b/llvm/test/MC/AArch64/SVE/sqincw-diagnostics.s index 7f9f1857ff83..5176897f589b 100644 --- a/llvm/test/MC/AArch64/SVE/sqincw-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/sqincw-diagnostics.s @@ -28,7 +28,7 @@ sqincw x0, w1 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqincw x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincw x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ sqincw x0, all, mul #17 // Invalid predicate patterns sqincw x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincw x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: sqincw x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: sqincw x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/uqdecb-diagnostics.s b/llvm/test/MC/AArch64/SVE/uqdecb-diagnostics.s index e817451f886e..fe73b92903fc 100644 --- a/llvm/test/MC/AArch64/SVE/uqdecb-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/uqdecb-diagnostics.s @@ -18,17 +18,17 @@ uqdecb sp // Operands not matching up (unsigned dec only has one register operand) uqdecb x0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecb x0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecb w0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecb w0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecb x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecb x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ uqdecb x0, all, mul #17 // Invalid predicate patterns uqdecb x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecb x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecb x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecb x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/uqdecd-diagnostics.s b/llvm/test/MC/AArch64/SVE/uqdecd-diagnostics.s index e2f626eb0135..38134022c973 100644 --- a/llvm/test/MC/AArch64/SVE/uqdecd-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/uqdecd-diagnostics.s @@ -18,17 +18,17 @@ uqdecd sp // Operands not matching up (unsigned dec only has one register operand) uqdecd x0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecd x0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecd w0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecd w0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecd x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecd x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ uqdecd x0, all, mul #17 // Invalid predicate patterns uqdecd x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecd x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecd x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecd x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/uqdech-diagnostics.s b/llvm/test/MC/AArch64/SVE/uqdech-diagnostics.s index 50fd50e6dbec..14a614f2210c 100644 --- a/llvm/test/MC/AArch64/SVE/uqdech-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/uqdech-diagnostics.s @@ -18,17 +18,17 @@ uqdech sp // Operands not matching up (unsigned dec only has one register operand) uqdech x0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdech x0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdech w0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdech w0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdech x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdech x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ uqdech x0, all, mul #17 // Invalid predicate patterns uqdech x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdech x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdech x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdech x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/uqdecw-diagnostics.s b/llvm/test/MC/AArch64/SVE/uqdecw-diagnostics.s index 0dd7b0d07f2e..4664393d839f 100644 --- a/llvm/test/MC/AArch64/SVE/uqdecw-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/uqdecw-diagnostics.s @@ -18,17 +18,17 @@ uqdecw sp // Operands not matching up (unsigned dec only has one register operand) uqdecw x0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecw x0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecw w0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecw w0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecw x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecw x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ uqdecw x0, all, mul #17 // Invalid predicate patterns uqdecw x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecw x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqdecw x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqdecw x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/uqincb-diagnostics.s b/llvm/test/MC/AArch64/SVE/uqincb-diagnostics.s index 22346933b19a..59940ca32524 100644 --- a/llvm/test/MC/AArch64/SVE/uqincb-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/uqincb-diagnostics.s @@ -18,17 +18,17 @@ uqincb sp // Operands not matching up (unsigned inc only has one register operand) uqincb x0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincb x0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincb w0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincb w0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincb x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincb x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ uqincb x0, all, mul #17 // Invalid predicate patterns uqincb x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincb x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincb x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincb x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/uqincd-diagnostics.s b/llvm/test/MC/AArch64/SVE/uqincd-diagnostics.s index 12f36dc6c977..54a22793f5a9 100644 --- a/llvm/test/MC/AArch64/SVE/uqincd-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/uqincd-diagnostics.s @@ -18,17 +18,17 @@ uqincd sp // Operands not matching up (unsigned inc only has one register operand) uqincd x0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincd x0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincd w0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincd w0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincd x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincd x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ uqincd x0, all, mul #17 // Invalid predicate patterns uqincd x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincd x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincd x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincd x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/uqinch-diagnostics.s b/llvm/test/MC/AArch64/SVE/uqinch-diagnostics.s index ba22906d8d6f..5f8761c4b6a3 100644 --- a/llvm/test/MC/AArch64/SVE/uqinch-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/uqinch-diagnostics.s @@ -18,17 +18,17 @@ uqinch sp // Operands not matching up (unsigned inc only has one register operand) uqinch x0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqinch x0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqinch w0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqinch w0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqinch x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqinch x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ uqinch x0, all, mul #17 // Invalid predicate patterns uqinch x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqinch x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqinch x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqinch x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: diff --git a/llvm/test/MC/AArch64/SVE/uqincw-diagnostics.s b/llvm/test/MC/AArch64/SVE/uqincw-diagnostics.s index 629dcf1d6624..cb85c4e7a2ad 100644 --- a/llvm/test/MC/AArch64/SVE/uqincw-diagnostics.s +++ b/llvm/test/MC/AArch64/SVE/uqincw-diagnostics.s @@ -18,17 +18,17 @@ uqincw sp // Operands not matching up (unsigned inc only has one register operand) uqincw x0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincw x0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincw w0, w0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincw w0, w0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincw x0, x0 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincw x0, x0 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: @@ -56,12 +56,12 @@ uqincw x0, all, mul #17 // Invalid predicate patterns uqincw x0, vl512 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincw x0, vl512 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: uqincw x0, vl9 -// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern +// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand // CHECK-NEXT: uqincw x0, vl9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: