1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme
2>&1 < %s| FileCheck
%s
3 // ------------------------------------------------------------------------- //
4 // Invalid tile
(expected
: za0-za3
)
6 bfmops za4.s
, p0
/m
, p0
/m
, z0.h
, z0.h
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
8 // CHECK-NEXT
: bfmops za4.s
, p0
/m
, p0
/m
, z0.h
, z0.h
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
11 // ------------------------------------------------------------------------- //
12 // Invalid predicate
(expected
: p0-p7
)
14 bfmops za0.s
, p8
/m
, p0
/m
, z0.h
, z0.h
15 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
16 // CHECK-NEXT
: bfmops za0.s
, p8
/m
, p0
/m
, z0.h
, z0.h
17 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
19 bfmops za0.s
, p0
/m
, p8
/m
, z0.h
, z0.h
20 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
21 // CHECK-NEXT
: bfmops za0.s
, p0
/m
, p8
/m
, z0.h
, z0.h
22 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
24 // ------------------------------------------------------------------------- //
25 // Invalid predicate qualifier
(expected
: /m
)
27 bfmops za0.s
, p0
/z
, p0
/m
, z0.h
, z0.h
28 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
29 // CHECK-NEXT
: bfmops za0.s
, p0
/z
, p0
/m
, z0.h
, z0.h
30 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
32 bfmops za0.s
, p0
/m
, p0
/z
, z0.h
, z0.h
33 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
34 // CHECK-NEXT
: bfmops za0.s
, p0
/m
, p0
/z
, z0.h
, z0.h
35 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
37 // ------------------------------------------------------------------------- //
38 // Invalid ZPR type suffix
(expected
: .h)
40 bfmops za0.s
, p0
/m
, p0
/m
, z0.
b, z0.h
41 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
42 // CHECK-NEXT
: bfmops za0.s
, p0
/m
, p0
/m
, z0.
b, z0.h
43 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
45 bfmops za0.s
, p0
/m
, p0
/m
, z0.h
, z0.s
46 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
47 // CHECK-NEXT
: bfmops za0.s
, p0
/m
, p0
/m
, z0.h
, z0.s
48 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: