1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme-f8f16
,+sme-f8f32
2>&1 < %s | FileCheck
%s
4 // --------------------------------------------------------------------------//
5 // Invalid predicate register
7 fmopa za0.h
, p8
/m
, p0
/m
, z0.
b, z0.
b
8 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
9 // CHECK-NEXT
: fmopa za0.h
, p8
/m
, p0
/m
, z0.
b, z0.
b
10 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
12 fmopa za0.h
, p0
/m
, p8
/m
, z0.
b, z0.
b
13 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
14 // CHECK-NEXT
: fmopa za0.h
, p0
/m
, p8
/m
, z0.
b, z0.
b
15 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
17 fmopa za0.s
, p8
/m
, p0
/m
, z0.
b, z0.
b
18 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
19 // CHECK-NEXT
: fmopa za0.s
, p8
/m
, p0
/m
, z0.
b, z0.
b
20 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
22 fmopa za3.s
, p7
/m
, p8
/m
, z31.
b, z31.
b
23 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
24 // CHECK-NEXT
: fmopa za3.s
, p7
/m
, p8
/m
, z31.
b, z31.
b
25 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
27 // --------------------------------------------------------------------------//
28 // Invalid matrix operand
30 fmopa za2.h
, p0
/m
, p0
/m
, z0.
b, z0.
b
31 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
32 // CHECK-NEXT
: fmopa za2.h
, p0
/m
, p0
/m
, z0.
b, z0.
b
33 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
35 // --------------------------------------------------------------------------//
36 // Invalid register suffixes
38 fmopa za0.h
, p0
/m
, p0
/m
, z0.
b, z0.h
39 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
40 // CHECK-NEXT
: fmopa za0.h
, p0
/m
, p0
/m
, z0.
b, z0.h
41 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
43 fmopa za3.s
, p7
/m
, p0
/m
, z31.
b, z31.s
44 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
45 // CHECK-NEXT
: fmopa za3.s
, p7
/m
, p0
/m
, z31.
b, z31.s
46 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: