1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme
,+sme-i16i64
2>&1 < %s| FileCheck
%s
3 // ------------------------------------------------------------------------- //
6 addha za4.s
, p0
/m
, p0
/m
, z0.s
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
8 // CHECK-NEXT
: addha za4.s
, p0
/m
, p0
/m
, z0.s
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
11 addha za8.d
, p0
/m
, p0
/m
, z0.d
12 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
13 // CHECK-NEXT
: addha za8.d
, p0
/m
, p0
/m
, z0.d
14 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
16 addha za0p.s
, p0
/m
, p0
/m
, z0.s
17 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
18 // CHECK-NEXT
: addha za0p.s
, p0
/m
, p0
/m
, z0.s
19 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
21 addha za0h.s
, p0
/m
, p0
/m
, z0.s
22 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid matrix operand
, expected za
[0-7].d
23 // CHECK-NEXT
: addha za0h.s
, p0
/m
, p0
/m
, z0.s
24 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
26 addha za0v.s
, p0
/m
, p0
/m
, z0.s
27 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid matrix operand
, expected za
[0-7].d
28 // CHECK-NEXT
: addha za0v.s
, p0
/m
, p0
/m
, z0.s
29 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
31 // ------------------------------------------------------------------------- //
34 addha za0.s
, p8
/m
, p0
/m
, z0.s
35 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
36 // CHECK-NEXT
: addha za0.s
, p8
/m
, p0
/m
, z0.s
37 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
39 addha za0.s
, p0
/m
, p8
/m
, z0.s
40 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
41 // CHECK-NEXT
: addha za0.s
, p0
/m
, p8
/m
, z0.s
42 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
44 addha za0.d
, p8
/m
, p0
/m
, z0.d
45 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
46 // CHECK-NEXT
: addha za0.d
, p8
/m
, p0
/m
, z0.d
47 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
49 addha za0.d
, p0
/m
, p8
/m
, z0.d
50 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
51 // CHECK-NEXT
: addha za0.d
, p0
/m
, p8
/m
, z0.d
52 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: