1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sve
2>&1 < %s| FileCheck
%s
3 // --------------------------------------------------------------------------//
4 // Immediate
not compatible with encode
/decode function.
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: expected compatible register
or logical immediate
8 // CHECK-NEXT
: eon z5.
b, z5.
b, #0xfa
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
11 eon z5.
b, z5.
b, #0xfff9
12 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: expected compatible register
or logical immediate
13 // CHECK-NEXT
: eon z5.
b, z5.
b, #0xfff9
14 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
16 eon z5.h
, z5.h
, #0xfffa
17 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: expected compatible register
or logical immediate
18 // CHECK-NEXT
: eon z5.h
, z5.h
, #0xfffa
19 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
21 eon z5.h
, z5.h
, #0xfffffff9
22 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: expected compatible register
or logical immediate
23 // CHECK-NEXT
: eon z5.h
, z5.h
, #0xfffffff9
24 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
26 eon z5.s
, z5.s
, #0xfffffffa
27 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: expected compatible register
or logical immediate
28 // CHECK-NEXT
: eon z5.s
, z5.s
, #0xfffffffa
29 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
31 eon z5.s
, z5.s
, #0xffffffffffffff9
32 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: expected compatible register
or logical immediate
33 // CHECK-NEXT
: eon z5.s
, z5.s
, #0xffffffffffffff9
34 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
36 eon z15.d
, z15.d
, #0xfffffffffffffffa
37 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: expected compatible register
or logical immediate
38 // CHECK-NEXT
: eon z15.d
, z15.d
, #0xfffffffffffffffa
39 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
41 // --------------------------------------------------------------------------//
42 // Source
and Destination Registers must match
45 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: operand must match destination register
46 // CHECK-NEXT
: eon z7.d
, z8.d
, #254
47 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
50 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: operand must match destination register
51 // CHECK-NEXT
: eon z7.d
, z8.d
, #254
52 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
55 // --------------------------------------------------------------------------//
56 // Negative tests for instructions that are incompatible with movprfx
58 movprfx z0.d
, p0
/z
, z7.d
60 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: instruction is unpredictable when following
a predicated movprfx
, suggest using unpredicated movprfx
61 // CHECK-NEXT
: eon z0.d
, z0.d
, #0x6
62 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: