[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / SME / zero.s
blob9a433020eaf847c955c2bf692559ddfe5040903b
1 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %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: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \
6 // RUN: | llvm-objdump -d --mattr=+sme - | FileCheck %s --check-prefix=CHECK-INST
7 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \
8 // RUN: | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
10 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %s \
11 // RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
12 // RUN: | llvm-mc -triple=aarch64 -mattr=+sme -disassemble -show-encoding \
13 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
15 zero {}
16 // CHECK-INST: zero {}
17 // CHECK-ENCODING: [0x00,0x00,0x08,0xc0]
18 // CHECK-ERROR: instruction requires: sme
19 // CHECK-UNKNOWN: c0080000 <unknown>
21 zero {za0.d, za2.d, za4.d, za6.d}
22 // CHECK-INST: zero {za0.h}
23 // CHECK-ENCODING: [0x55,0x00,0x08,0xc0]
24 // CHECK-ERROR: instruction requires: sme
25 // CHECK-UNKNOWN: c0080055 <unknown>
27 zero {za0.d, za1.d, za2.d, za4.d, za5.d, za7.d}
28 // CHECK-INST: zero {za0.d, za1.d, za2.d, za4.d, za5.d, za7.d}
29 // CHECK-ENCODING: [0xb7,0x00,0x08,0xc0]
30 // CHECK-ERROR: instruction requires: sme
31 // CHECK-UNKNOWN: c00800b7 <unknown>
33 zero {za0.d, za1.d, za2.d, za3.d, za4.d, za5.d, za6.d, za7.d}
34 // CHECK-INST: zero {za}
35 // CHECK-ENCODING: [0xff,0x00,0x08,0xc0]
36 // CHECK-ERROR: instruction requires: sme
37 // CHECK-UNKNOWN: c00800ff <unknown>
39 // --------------------------------------------------------------------------//
40 // Aliases
42 zero {za}
43 // CHECK-INST: zero {za}
44 // CHECK-ENCODING: [0xff,0x00,0x08,0xc0]
45 // CHECK-ERROR: instruction requires: sme
46 // CHECK-UNKNOWN: c00800ff <unknown>
48 zero {za0.b}
49 // CHECK-INST: zero {za}
50 // CHECK-ENCODING: [0xff,0x00,0x08,0xc0]
51 // CHECK-ERROR: instruction requires: sme
52 // CHECK-UNKNOWN: c00800ff <unknown>
54 zero {za0.h}
55 // CHECK-INST: zero {za0.h}
56 // CHECK-ENCODING: [0x55,0x00,0x08,0xc0]
57 // CHECK-ERROR: instruction requires: sme
58 // CHECK-UNKNOWN: c0080055 <unknown>
60 zero {za1.h}
61 // CHECK-INST: zero {za1.h}
62 // CHECK-ENCODING: [0xaa,0x00,0x08,0xc0]
63 // CHECK-ERROR: instruction requires: sme
64 // CHECK-UNKNOWN: c00800aa <unknown>
66 zero {za0.h,za1.h}
67 // CHECK-INST: zero {za}
68 // CHECK-ENCODING: [0xff,0x00,0x08,0xc0]
69 // CHECK-ERROR: instruction requires: sme
70 // CHECK-UNKNOWN: c00800ff <unknown>
72 zero {za0.s}
73 // CHECK-INST: zero {za0.s}
74 // CHECK-ENCODING: [0x11,0x00,0x08,0xc0]
75 // CHECK-ERROR: instruction requires: sme
76 // CHECK-UNKNOWN: c0080011 <unknown>
78 zero {za1.s}
79 // CHECK-INST: zero {za1.s}
80 // CHECK-ENCODING: [0x22,0x00,0x08,0xc0]
81 // CHECK-ERROR: instruction requires: sme
82 // CHECK-UNKNOWN: c0080022 <unknown>
84 zero {za2.s}
85 // CHECK-INST: zero {za2.s}
86 // CHECK-ENCODING: [0x44,0x00,0x08,0xc0]
87 // CHECK-ERROR: instruction requires: sme
88 // CHECK-UNKNOWN: c0080044 <unknown>
90 zero {za3.s}
91 // CHECK-INST: zero {za3.s}
92 // CHECK-ENCODING: [0x88,0x00,0x08,0xc0]
93 // CHECK-ERROR: instruction requires: sme
94 // CHECK-UNKNOWN: c0080088 <unknown>
96 zero {za0.s,za1.s}
97 // CHECK-INST: zero {za0.s,za1.s}
98 // CHECK-ENCODING: [0x33,0x00,0x08,0xc0]
99 // CHECK-ERROR: instruction requires: sme
100 // CHECK-UNKNOWN: c0080033 <unknown>
102 zero {za0.s,za2.s}
103 // CHECK-INST: zero {za0.h}
104 // CHECK-ENCODING: [0x55,0x00,0x08,0xc0]
105 // CHECK-ERROR: instruction requires: sme
106 // CHECK-UNKNOWN: c0080055 <unknown>
108 zero {za0.s,za3.s}
109 // CHECK-INST: zero {za0.s,za3.s}
110 // CHECK-ENCODING: [0x99,0x00,0x08,0xc0]
111 // CHECK-ERROR: instruction requires: sme
112 // CHECK-UNKNOWN: c0080099 <unknown>
114 zero {za1.s,za2.s}
115 // CHECK-INST: zero {za1.s,za2.s}
116 // CHECK-ENCODING: [0x66,0x00,0x08,0xc0]
117 // CHECK-ERROR: instruction requires: sme
118 // CHECK-UNKNOWN: c0080066 <unknown>
120 zero {za1.s,za3.s}
121 // CHECK-INST: zero {za1.h}
122 // CHECK-ENCODING: [0xaa,0x00,0x08,0xc0]
123 // CHECK-ERROR: instruction requires: sme
124 // CHECK-UNKNOWN: c00800aa <unknown>
126 zero {za2.s,za3.s}
127 // CHECK-INST: zero {za2.s,za3.s}
128 // CHECK-ENCODING: [0xcc,0x00,0x08,0xc0]
129 // CHECK-ERROR: instruction requires: sme
130 // CHECK-UNKNOWN: c00800cc <unknown>
132 zero {za0.s,za1.s,za2.s}
133 // CHECK-INST: zero {za0.s,za1.s,za2.s}
134 // CHECK-ENCODING: [0x77,0x00,0x08,0xc0]
135 // CHECK-ERROR: instruction requires: sme
136 // CHECK-UNKNOWN: c0080077 <unknown>
138 zero {za0.s,za1.s,za3.s}
139 // CHECK-INST: zero {za0.s,za1.s,za3.s}
140 // CHECK-ENCODING: [0xbb,0x00,0x08,0xc0]
141 // CHECK-ERROR: instruction requires: sme
142 // CHECK-UNKNOWN: c00800bb <unknown>
144 zero {za0.s,za2.s,za3.s}
145 // CHECK-INST: zero {za0.s,za2.s,za3.s}
146 // CHECK-ENCODING: [0xdd,0x00,0x08,0xc0]
147 // CHECK-ERROR: instruction requires: sme
148 // CHECK-UNKNOWN: c00800dd <unknown>
150 zero {za1.s,za2.s,za3.s}
151 // CHECK-INST: zero {za1.s,za2.s,za3.s}
152 // CHECK-ENCODING: [0xee,0x00,0x08,0xc0]
153 // CHECK-ERROR: instruction requires: sme
154 // CHECK-UNKNOWN: c00800ee <unknown>
156 zero {za0.s,za1.s,za2.s,za3.s}
157 // CHECK-INST: zero {za}
158 // CHECK-ENCODING: [0xff,0x00,0x08,0xc0]
159 // CHECK-ERROR: instruction requires: sme
160 // CHECK-UNKNOWN: c00800ff <unknown>
162 zero {za0.d,za1.d,za2.d,za3.d,za4.d,za5.d,za6.d,za7.d}
163 // CHECK-INST: zero {za}
164 // CHECK-ENCODING: [0xff,0x00,0x08,0xc0]
165 // CHECK-ERROR: instruction requires: sme
166 // CHECK-UNKNOWN: c00800ff <unknown>
168 zero {za0.d,za2.d,za4.d,za6.d}
169 // CHECK-INST: zero {za0.h}
170 // CHECK-ENCODING: [0x55,0x00,0x08,0xc0]
171 // CHECK-ERROR: instruction requires: sme
172 // CHECK-UNKNOWN: c0080055 <unknown>
174 zero {za1.d,za3.d,za5.d,za7.d}
175 // CHECK-INST: zero {za1.h}
176 // CHECK-ENCODING: [0xaa,0x00,0x08,0xc0]
177 // CHECK-ERROR: instruction requires: sme
178 // CHECK-UNKNOWN: c00800aa <unknown>
180 zero {za0.d,za4.d}
181 // CHECK-INST: zero {za0.s}
182 // CHECK-ENCODING: [0x11,0x00,0x08,0xc0]
183 // CHECK-ERROR: instruction requires: sme
184 // CHECK-UNKNOWN: c0080011 <unknown>
186 zero {za1.d,za5.d}
187 // CHECK-INST: zero {za1.s}
188 // CHECK-ENCODING: [0x22,0x00,0x08,0xc0]
189 // CHECK-ERROR: instruction requires: sme
190 // CHECK-UNKNOWN: c0080022 <unknown>
192 zero {za2.d,za6.d}
193 // CHECK-INST: zero {za2.s}
194 // CHECK-ENCODING: [0x44,0x00,0x08,0xc0]
195 // CHECK-ERROR: instruction requires: sme
196 // CHECK-UNKNOWN: c0080044 <unknown>
198 zero {za3.d,za7.d}
199 // CHECK-INST: zero {za3.s}
200 // CHECK-ENCODING: [0x88,0x00,0x08,0xc0]
201 // CHECK-ERROR: instruction requires: sme
202 // CHECK-UNKNOWN: c0080088 <unknown>
204 zero {za0.d,za1.d,za4.d,za5.d}
205 // CHECK-INST: zero {za0.s,za1.s}
206 // CHECK-ENCODING: [0x33,0x00,0x08,0xc0]
207 // CHECK-ERROR: instruction requires: sme
208 // CHECK-UNKNOWN: c0080033 <unknown>
210 zero {za0.d,za3.d,za4.d,za7.d}
211 // CHECK-INST: zero {za0.s,za3.s}
212 // CHECK-ENCODING: [0x99,0x00,0x08,0xc0]
213 // CHECK-ERROR: instruction requires: sme
214 // CHECK-UNKNOWN: c0080099 <unknown>
216 zero {za1.d,za2.d,za5.d,za6.d}
217 // CHECK-INST: zero {za1.s,za2.s}
218 // CHECK-ENCODING: [0x66,0x00,0x08,0xc0]
219 // CHECK-ERROR: instruction requires: sme
220 // CHECK-UNKNOWN: c0080066 <unknown>
222 zero {za2.d,za3.d,za6.d,za7.d}
223 // CHECK-INST: zero {za2.s,za3.s}
224 // CHECK-ENCODING: [0xcc,0x00,0x08,0xc0]
225 // CHECK-ERROR: instruction requires: sme
226 // CHECK-UNKNOWN: c00800cc <unknown>
228 zero {za0.d,za1.d,za2.d,za4.d,za5.d,za6.d}
229 // CHECK-INST: zero {za0.s,za1.s,za2.s}
230 // CHECK-ENCODING: [0x77,0x00,0x08,0xc0]
231 // CHECK-ERROR: instruction requires: sme
232 // CHECK-UNKNOWN: c0080077 <unknown>
234 zero {za0.d,za1.d,za3.d,za4.d,za5.d,za7.d}
235 // CHECK-INST: zero {za0.s,za1.s,za3.s}
236 // CHECK-ENCODING: [0xbb,0x00,0x08,0xc0]
237 // CHECK-ERROR: instruction requires: sme
238 // CHECK-UNKNOWN: c00800bb <unknown>
240 zero {za0.d,za2.d,za3.d,za4.d,za6.d,za7.d}
241 // CHECK-INST: zero {za0.s,za2.s,za3.s}
242 // CHECK-ENCODING: [0xdd,0x00,0x08,0xc0]
243 // CHECK-ERROR: instruction requires: sme
244 // CHECK-UNKNOWN: c00800dd <unknown>
246 zero {za1.d,za2.d,za3.d,za5.d,za6.d,za7.d}
247 // CHECK-INST: zero {za1.s,za2.s,za3.s}
248 // CHECK-ENCODING: [0xee,0x00,0x08,0xc0]
249 // CHECK-ERROR: instruction requires: sme
250 // CHECK-UNKNOWN: c00800ee <unknown>