1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme
2>&1 < %s| FileCheck
%s
3 // ------------------------------------------------------------------------- //
4 // Invalid matrix operand
(expected
: za
)
6 ldr za0h.
b[w12
, #0], [x0]
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid matrix operand
, expected za
8 // CHECK-NEXT
: ldr za0h.
b[w12
, #0], [x0]
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
11 ldr za3.s
[w12
, #0], [x0]
12 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid matrix operand
, expected za
13 // CHECK-NEXT
: ldr za3.s
[w12
, #0], [x0]
14 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
16 // ------------------------------------------------------------------------- //
17 // Invalid vector select register
(expected
: w12-w15
)
20 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: operand must
be a register in range
[w12
, w15
]
21 // CHECK-NEXT
: ldr za
[w11
, #0], [x0]
22 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
25 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: operand must
be a register in range
[w12
, w15
]
26 // CHECK-NEXT
: ldr za
[w16
, #0], [x0]
27 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
29 // ------------------------------------------------------------------------- //
30 // Invalid vector select offset
(expected
: 0-15)
32 ldr za
[w12
, #16], [x0]
33 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[0, 15].
34 // CHECK-NEXT
: ldr za
[w12
, #16], [x0]
35 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
37 // ------------------------------------------------------------------------- //
38 // Invalid memory operands
41 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
42 // CHECK-NEXT
: ldr za
[w12
, #0], [w0]
43 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
45 ldr 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
: ldr za
[w12
, #0], [x0, #16, mul vl]
48 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
50 ldr za
[w12
, #0], [x0, #0]
51 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
52 // CHECK-NEXT
: ldr za
[w12
, #0], [x0, #0]
53 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
55 // ------------------------------------------------------------------------- //
56 // Mismatch between offset
and immediate
57 ldr za
[w14
, 6], [x10
, #5, mul vl]
58 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: unpredictable instruction
, immediate
and offset mismatch.
59 // CHECK-NEXT
: ldr za
[w14
, 6], [x10
, #5, mul vl]
60 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: