1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme2
2>&1 < %s | FileCheck
%s
3 // --------------------------------------------------------------------------//
6 smops za8.s
, p0
/m
, p0
/m
, z0.s
, z0.s
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
8 // CHECK-NEXT
: smops za8.s
, p0
/m
, p0
/m
, z0.s
, z0.s
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
11 // --------------------------------------------------------------------------//
14 smops za0.s
, p0
/z
, p0
/m
, z0.s
, z0.s
15 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
16 // CHECK-NEXT
: smops za0.s
, p0
/z
, p0
/m
, z0.s
, z0.s
17 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
19 smops za0.s
, p15
/m
, p0
/m
, z0.s
, z0.s
20 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
21 // CHECK-NEXT
: smops za0.s
, p15
/m
, p0
/m
, z0.s
, z0.s
22 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
24 // --------------------------------------------------------------------------//
27 smops za0.d
, p0
/z
, p0
/m
, z0.d
, z0.d
28 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid matrix operand
, expected za
[0-3].s
29 // CHECK-NEXT
: smops za0.d
, p0
/z
, p0
/m
, z0.d
, z0.d
30 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
32 smops za0.s
, p0
/m
, p0
/m
, z0.s
, z0.d
33 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
34 // CHECK-NEXT
: za0.s
, p0
/m
, p0
/m
, z0.s
, z0.d
35 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: