[llvm] 7f01737 - [AArch64][AsmParser] SME: Allow h/v suffix to be upper-case.
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 28 03:43:29 PST 2022
Author: Sander de Smalen
Date: 2022-11-28T11:42:43Z
New Revision: 7f017376875815c5a5dece807dcb397e267a97aa
URL: https://github.com/llvm/llvm-project/commit/7f017376875815c5a5dece807dcb397e267a97aa
DIFF: https://github.com/llvm/llvm-project/commit/7f017376875815c5a5dece807dcb397e267a97aa.diff
LOG: [AArch64][AsmParser] SME: Allow h/v suffix to be upper-case.
Added:
Modified:
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/test/MC/AArch64/SME/ld1b.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
index 895748e9d83cc..ca4717f0c3cf0 100644
--- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -3466,7 +3466,7 @@ AArch64AsmParser::tryParseMatrixRegister(OperandVector &Operands) {
StringRef Tail = Name.drop_front(DotPosition);
StringRef RowOrColumn = Head.take_back();
- MatrixKind Kind = StringSwitch<MatrixKind>(RowOrColumn)
+ MatrixKind Kind = StringSwitch<MatrixKind>(RowOrColumn.lower())
.Case("h", MatrixKind::Row)
.Case("v", MatrixKind::Col)
.Default(MatrixKind::Tile);
diff --git a/llvm/test/MC/AArch64/SME/ld1b.s b/llvm/test/MC/AArch64/SME/ld1b.s
index ed011a7d9090e..fc86ae3086dad 100644
--- a/llvm/test/MC/AArch64/SME/ld1b.s
+++ b/llvm/test/MC/AArch64/SME/ld1b.s
@@ -305,3 +305,18 @@ ld1b za0v.b[w13, 7], p2/z, [x12, x11]
// CHECK-ENCODING: [0x87,0xa9,0x0b,0xe0]
// CHECK-ERROR: instruction requires: sme
// CHECK-UNKNOWN: e00ba987 <unknown>
+
+// --------------------------------------------------------------------------//
+// Test parsing in all-caps
+
+LD1B {ZA0H.B[W12, 0]}, P0/Z, [X0, X0]
+// CHECK-INST: ld1b {za0h.b[w12, 0]}, p0/z, [x0, x0]
+// CHECK-ENCODING: [0x00,0x00,0x00,0xe0]
+// CHECK-ERROR: instruction requires: sme
+// CHECK-UNKNOWN: e0000000 <unknown>
+
+LD1B {ZA0V.B[W12, 0]}, P0/Z, [X0, X0]
+// CHECK-INST: ld1b {za0v.b[w12, 0]}, p0/z, [x0, x0]
+// CHECK-ENCODING: [0x00,0x80,0x00,0xe0]
+// CHECK-ERROR: instruction requires: sme
+// CHECK-UNKNOWN: e0008000 <unknown>
More information about the llvm-commits
mailing list