61 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme 2>&1 < %s| FileCheck %s2 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 za8// 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 za13// 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 operands39 40str za[w12, #0], [w0]41// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction42// 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 instruction52// CHECK-NEXT: str za[w12, #0], [x0, #0]53// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:54 55// ------------------------------------------------------------------------- //56// Mismatch between offset and immediate57str za[w14, 6], [x10, #5, mul vl]58// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: unpredictable instruction, immediate and offset mismatch.59// CHECK-NEXT: str za[w14, 6], [x10, #5, mul vl]60// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:61