1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sve
2>&1 < %s| FileCheck
%s
3 // --------------------------------------------------------------------------//
6 compact z23.d
, p8
, z13.d
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
8 // CHECK-NEXT
: compact z23.d
, p8
, z13.d
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
11 compact z23.d
, p7.
b, z13.d
12 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
13 // CHECK-NEXT
: compact z23.d
, p7.
b, z13.d
14 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
16 compact z23.d
, p7.q
, z13.d
17 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
18 // CHECK-NEXT
: compact z23.d
, p7.q
, z13.d
19 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
22 // --------------------------------------------------------------------------//
23 // Invalid element widths
25 compact z31.s
, p7
, z31.d
26 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
27 // CHECK-NEXT
: compact z31.s
, p7
, z31.d
28 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
30 compact z31.
b, p7
, z31.
b
31 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
32 // CHECK-NEXT
: compact z31.
b, p7
, z31.
b
33 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
35 compact z31.h
, p7
, z31.h
36 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
37 // CHECK-NEXT
: compact z31.h
, p7
, z31.h
38 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
41 // --------------------------------------------------------------------------//
42 // Negative tests for instructions that are incompatible with movprfx
44 movprfx z31.d
, p7
/z
, z6.d
45 compact z31.d
, p7
, z31.d
46 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: instruction is unpredictable when following
a movprfx
, suggest replacing movprfx with mov
47 // CHECK-NEXT
: compact z31.d
, p7
, z31.d
48 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
51 compact z31.d
, p7
, z31.d
52 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: instruction is unpredictable when following
a movprfx
, suggest replacing movprfx with mov
53 // CHECK-NEXT
: compact z31.d
, p7
, z31.d
54 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: