1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sve2p1
2>&1 < %s | FileCheck
%s
3 // --------------------------------------------------------------------------//
6 whilele pn8.
b, x0
, x0
, vlx1
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand
8 // CHECK-NEXT
: whilele pn8.
b, x0
, x0
, vlx1
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
12 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: too few operands for instruction
13 // CHECK-NEXT
: whilele pn8.
b, x0
, x0
14 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
16 // --------------------------------------------------------------------------//
17 // Invalid use of predicate without suffix
19 whilele pn8
, x0
, x0
, vlx2
20 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: Invalid predicate register
, expected PN in range pn8.
.pn15 with element suffix.
21 // CHECK-NEXT
: whilele pn8
, x0
, x0
, vlx2
22 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
24 // --------------------------------------------------------------------------//
25 // Out of range Predicate register
27 whilele pn7.
b, x0
, x0
, vlx2
28 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: Invalid predicate register
, expected PN in range pn8.
.pn15 with element suffix.
29 // CHECK-NEXT
: whilele pn7.
b, x0
, x0
, vlx2
30 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
32 whilele
{ p0.
b, p2.
b }, x13
, x8
33 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
34 // CHECK-NEXT
: whilele
{ p0.
b, p2.
b }, x13
, x8
35 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
37 whilele
{ p15.
b, p0.
b }, x13
, x8
38 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: Invalid vector list
, expected list with
2 consecutive predicate registers
, where the first vector is
a multiple of
2 and with correct element type
39 // CHECK-NEXT
: whilele
{ p15.
b, p0.
b }, x13
, x8
40 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: