xref: /llvm-project/llvm/test/MC/AArch64/SVE2p1/ld1w_q-diagnostics.s (revision a9d7b18b4a853daa8fecb5d5863af211841de762)
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p1 2>&1 < %s | FileCheck %s
2
3// --------------------------------------------------------------------------//
4// Invalid predicate register
5
6ld1w {z0.q}, p8/z, [x0, x0, lsl #3]
7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
8// CHECK-NEXT: ld1w {z0.q}, p8/z, [x0, x0, lsl #3]
9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
10
11ld1w {z23.q}, p2/m, [x13, #-8, mul vl]
12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
13// CHECK-NEXT: ld1w {z23.q}, p2/m, [x13, #-8, mul vl]
14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
15
16ld1w {z23.q}, p2.q, [x13, #-8, mul vl]
17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
18// CHECK-NEXT: ld1w {z23.q}, p2.q, [x13, #-8, mul vl]
19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
20
21// --------------------------------------------------------------------------//
22// Invalid immediate range
23
24ld1w {z0.q}, p0/z, [x0, #-9, mul vl]
25// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7].
26// CHECK-NEXT: ld1w {z0.q}, p0/z, [x0, #-9, mul vl]
27// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
28
29ld1w {z3.q}, p0/z, [x0, #8, mul vl]
30// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7].
31// CHECK-NEXT: ld1w {z3.q}, p0/z, [x0, #8, mul vl]
32// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
33