1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sve2
2>&1 < %s| FileCheck
%s
4 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[1, 8]
5 // CHECK-NEXT
: usra z30.
b, z10.
b, #0
6 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
9 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[1, 8]
10 // CHECK-NEXT
: usra z18.
b, z27.
b, #9
11 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
14 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[1, 16]
15 // CHECK-NEXT
: usra z26.h
, z4.h
, #0
16 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
18 usra z25.h
, z10.h
, #17
19 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[1, 16]
20 // CHECK-NEXT
: usra z25.h
, z10.h
, #17
21 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
24 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[1, 32]
25 // CHECK-NEXT
: usra z17.s
, z0.s
, #0
26 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
29 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[1, 32]
30 // CHECK-NEXT
: usra z0.s
, z15.s
, #33
31 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
34 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[1, 64]
35 // CHECK-NEXT
: usra z4.d
, z13.d
, #0
36 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
38 usra z26.d
, z26.d
, #65
39 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[1, 64]
40 // CHECK-NEXT
: usra z26.d
, z26.d
, #65
41 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
44 // --------------------------------------------------------------------------//
45 // Element sizes must match
48 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid element width
49 // CHECK-NEXT
: usra z0.
b, z0.d
, #1
50 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
53 // --------------------------------------------------------------------------//
54 // Negative tests for instructions that are incompatible with movprfx
56 movprfx z0.d
, p0
/z
, z7.d
58 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: instruction is unpredictable when following
a predicated movprfx
, suggest using unpredicated movprfx
59 // CHECK-NEXT
: usra z0.d
, z1.d
, #64
60 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: