1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme 2>&1 < %s| FileCheck %s 2 3// ------------------------------------------------------------------------- // 4// Invalid matrix operand (expected: za) 5 6str za0h.b[w12, #0], [x0] 7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za 8// CHECK-NEXT: str za0h.b[w12, #0], [x0] 9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 10 11str za3.s[w12, #0], [x0] 12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za 13// CHECK-NEXT: str za3.s[w12, #0], [x0] 14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 15 16// ------------------------------------------------------------------------- // 17// Invalid vector select register (expected: w12-w15) 18 19str za[w11, #0], [x0] 20// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: operand must be a register in range [w12, w15] 21// CHECK-NEXT: str za[w11, #0], [x0] 22// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 23 24str za[w16, #0], [x0] 25// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: operand must be a register in range [w12, w15] 26// CHECK-NEXT: str za[w16, #0], [x0] 27// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 28 29// ------------------------------------------------------------------------- // 30// Invalid vector select offset (expected: 0-15) 31 32str za[w12, #16], [x0] 33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 15]. 34// CHECK-NEXT: str za[w12, #16], [x0] 35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 36 37// ------------------------------------------------------------------------- // 38// Invalid memory operands 39 40str za[w12, #0], [w0] 41// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 42// CHECK-NEXT: str za[w12, #0], [w0] 43// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 44 45str za[w12, #0], [x0, #16, mul vl] 46// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 15]. 47// CHECK-NEXT: str za[w12, #0], [x0, #16, mul vl] 48// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 49 50str za[w12, #0], [x0, #0] 51// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 52// CHECK-NEXT: str za[w12, #0], [x0, #0] 53// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 54