1 // RUN
: llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sve
< %s \
2 // RUN
: | FileCheck
%s
--check-prefixes
=CHECK-ENCODING
,CHECK-INST
3 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
< %s
2>&1 \
4 // RUN
: | FileCheck
%s
--check-prefix
=CHECK-ERROR
5 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme
< %s
2>&1 \
6 // RUN
: | FileCheck
%s
--check-prefix
=CHECK-ERROR
7 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sve
< %s \
8 // RUN
: | llvm-objdump
--no-print-imm-hex
-d
--mattr
=+sve
- | FileCheck
%s
--check-prefix
=CHECK-INST
9 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sve
< %s \
10 // RUN
: | llvm-objdump
--no-print-imm-hex
-d
--mattr
=-sve
- | FileCheck
%s
--check-prefix
=CHECK-UNKNOWN
12 // Test instruction variants that aren
't legal in streaming mode.
14 st1d { z0.d }, p0, [x0, z0.d, uxtw]
15 // CHECK-INST: st1d { z0.d }, p0, [x0, z0.d, uxtw]
16 // CHECK-ENCODING: [0x00,0x80,0x80,0xe5]
17 // CHECK-ERROR: instruction requires: sve
18 // CHECK-UNKNOWN: e5808000 <unknown>
20 st1d { z0.d }, p0, [x0, z0.d, sxtw]
21 // CHECK-INST: st1d { z0.d }, p0, [x0, z0.d, sxtw]
22 // CHECK-ENCODING: [0x00,0xc0,0x80,0xe5]
23 // CHECK-ERROR: instruction requires: sve
24 // CHECK-UNKNOWN: e580c000 <unknown>
26 st1d { z0.d }, p0, [x0, z0.d, uxtw #3]
27 // CHECK-INST: st1d { z0.d }, p0, [x0, z0.d, uxtw #3]
28 // CHECK-ENCODING: [0x00,0x80,0xa0,0xe5]
29 // CHECK-ERROR: instruction requires: sve
30 // CHECK-UNKNOWN: e5a08000 <unknown>
32 st1d { z0.d }, p0, [x0, z0.d, sxtw #3]
33 // CHECK-INST: st1d { z0.d }, p0, [x0, z0.d, sxtw #3]
34 // CHECK-ENCODING: [0x00,0xc0,0xa0,0xe5]
35 // CHECK-ERROR: instruction requires: sve
36 // CHECK-UNKNOWN: e5a0c000 <unknown>
38 st1d { z0.d }, p0, [x0, z0.d]
39 // CHECK-INST: st1d { z0.d }, p0, [x0, z0.d]
40 // CHECK-ENCODING: [0x00,0xa0,0x80,0xe5]
41 // CHECK-ERROR: instruction requires: sve
42 // CHECK-UNKNOWN: e580a000 <unknown>
44 st1d { z0.d }, p0, [x0, z0.d, lsl #3]
45 // CHECK-INST: st1d { z0.d }, p0, [x0, z0.d, lsl #3]
46 // CHECK-ENCODING: [0x00,0xa0,0xa0,0xe5]
47 // CHECK-ERROR: instruction requires: sve
48 // CHECK-UNKNOWN: e5a0a000 <unknown>
50 st1d { z31.d }, p7, [z31.d, #248]
51 // CHECK-INST: st1d { z31.d }, p7, [z31.d, #248]
52 // CHECK-ENCODING: [0xff,0xbf,0xdf,0xe5]
53 // CHECK-ERROR: instruction requires: sve
54 // CHECK-UNKNOWN: e5dfbfff <unknown>
56 st1d { z0.d }, p7, [z0.d, #0]
57 // CHECK-INST: st1d { z0.d }, p7, [z0.d]
58 // CHECK-ENCODING: [0x00,0xbc,0xc0,0xe5]
59 // CHECK-ERROR: instruction requires: sve
60 // CHECK-UNKNOWN: e5c0bc00 <unknown>
62 st1d { z0.d }, p7, [z0.d]
63 // CHECK-INST: st1d { z0.d }, p7, [z0.d]
64 // CHECK-ENCODING: [0x00,0xbc,0xc0,0xe5]
65 // CHECK-ERROR: instruction requires: sve
66 // CHECK-UNKNOWN: e5c0bc00 <unknown>