[AMDGPU] Add True16 register classes.
[llvm-project.git] / llvm / test / MC / AArch64 / SME2p1 / zero.s
bloba28f9cc6e08b9c55694c0e9caa7855bf2c70a3aa
1 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p1 < %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=+sme2p1 < %s \
6 // RUN: | llvm-objdump --no-print-imm-hex -d --mattr=+sme2p1 - \
7 // RUN: | FileCheck %s --check-prefix=CHECK-INST
8 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2p1 < %s \
9 // RUN: | llvm-objdump --no-print-imm-hex -d --mattr=-sme2p1 - \
10 // RUN: | FileCheck %s --check-prefix=CHECK-UNKNOWN
11 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p1 < %s \
12 // RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
13 // RUN: | llvm-mc -triple=aarch64 -mattr=+sme2p1 -disassemble -show-encoding \
14 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
16 zero za.d[w8, 0:1] // 11000000-00001100-10000000-00000000
17 // CHECK-INST: zero za.d[w8, 0:1]
18 // CHECK-ENCODING: [0x00,0x80,0x0c,0xc0]
19 // CHECK-ERROR: instruction requires: sme2p1
20 // CHECK-UNKNOWN: c00c8000 <unknown>
22 zero za.d[w10, 10:11] // 11000000-00001100-11000000-00000101
23 // CHECK-INST: zero za.d[w10, 10:11]
24 // CHECK-ENCODING: [0x05,0xc0,0x0c,0xc0]
25 // CHECK-ERROR: instruction requires: sme2p1
26 // CHECK-UNKNOWN: c00cc005 <unknown>
28 zero za.d[w11, 14:15] // 11000000-00001100-11100000-00000111
29 // CHECK-INST: zero za.d[w11, 14:15]
30 // CHECK-ENCODING: [0x07,0xe0,0x0c,0xc0]
31 // CHECK-ERROR: instruction requires: sme2p1
32 // CHECK-UNKNOWN: c00ce007 <unknown>
34 zero za.d[w8, 10:11] // 11000000-00001100-10000000-00000101
35 // CHECK-INST: zero za.d[w8, 10:11]
36 // CHECK-ENCODING: [0x05,0x80,0x0c,0xc0]
37 // CHECK-ERROR: instruction requires: sme2p1
38 // CHECK-UNKNOWN: c00c8005 <unknown>
40 zero za.d[w8, 2:3] // 11000000-00001100-10000000-00000001
41 // CHECK-INST: zero za.d[w8, 2:3]
42 // CHECK-ENCODING: [0x01,0x80,0x0c,0xc0]
43 // CHECK-ERROR: instruction requires: sme2p1
44 // CHECK-UNKNOWN: c00c8001 <unknown>
46 zero za.d[w10, 0:1] // 11000000-00001100-11000000-00000000
47 // CHECK-INST: zero za.d[w10, 0:1]
48 // CHECK-ENCODING: [0x00,0xc0,0x0c,0xc0]
49 // CHECK-ERROR: instruction requires: sme2p1
50 // CHECK-UNKNOWN: c00cc000 <unknown>
52 zero za.d[w10, 2:3] // 11000000-00001100-11000000-00000001
53 // CHECK-INST: zero za.d[w10, 2:3]
54 // CHECK-ENCODING: [0x01,0xc0,0x0c,0xc0]
55 // CHECK-ERROR: instruction requires: sme2p1
56 // CHECK-UNKNOWN: c00cc001 <unknown>
58 zero za.d[w11, 4:5] // 11000000-00001100-11100000-00000010
59 // CHECK-INST: zero za.d[w11, 4:5]
60 // CHECK-ENCODING: [0x02,0xe0,0x0c,0xc0]
61 // CHECK-ERROR: instruction requires: sme2p1
62 // CHECK-UNKNOWN: c00ce002 <unknown>
64 zero za.d[w9, 14:15] // 11000000-00001100-10100000-00000111
65 // CHECK-INST: zero za.d[w9, 14:15]
66 // CHECK-ENCODING: [0x07,0xa0,0x0c,0xc0]
67 // CHECK-ERROR: instruction requires: sme2p1
68 // CHECK-UNKNOWN: c00ca007 <unknown>
71 zero za.d[w8, 0:3] // 11000000-00001110-10000000-00000000
72 // CHECK-INST: zero za.d[w8, 0:3]
73 // CHECK-ENCODING: [0x00,0x80,0x0e,0xc0]
74 // CHECK-ERROR: instruction requires: sme2p1
75 // CHECK-UNKNOWN: c00e8000 <unknown>
77 zero za.d[w10, 4:7] // 11000000-00001110-11000000-00000001
78 // CHECK-INST: zero za.d[w10, 4:7]
79 // CHECK-ENCODING: [0x01,0xc0,0x0e,0xc0]
80 // CHECK-ERROR: instruction requires: sme2p1
81 // CHECK-UNKNOWN: c00ec001 <unknown>
83 zero za.d[w11, 12:15] // 11000000-00001110-11100000-00000011
84 // CHECK-INST: zero za.d[w11, 12:15]
85 // CHECK-ENCODING: [0x03,0xe0,0x0e,0xc0]
86 // CHECK-ERROR: instruction requires: sme2p1
87 // CHECK-UNKNOWN: c00ee003 <unknown>
89 zero za.d[w8, 4:7] // 11000000-00001110-10000000-00000001
90 // CHECK-INST: zero za.d[w8, 4:7]
91 // CHECK-ENCODING: [0x01,0x80,0x0e,0xc0]
92 // CHECK-ERROR: instruction requires: sme2p1
93 // CHECK-UNKNOWN: c00e8001 <unknown>
95 zero za.d[w10, 0:3] // 11000000-00001110-11000000-00000000
96 // CHECK-INST: zero za.d[w10, 0:3]
97 // CHECK-ENCODING: [0x00,0xc0,0x0e,0xc0]
98 // CHECK-ERROR: instruction requires: sme2p1
99 // CHECK-UNKNOWN: c00ec000 <unknown>
101 zero za.d[w11, 8:11] // 11000000-00001110-11100000-00000010
102 // CHECK-INST: zero za.d[w11, 8:11]
103 // CHECK-ENCODING: [0x02,0xe0,0x0e,0xc0]
104 // CHECK-ERROR: instruction requires: sme2p1
105 // CHECK-UNKNOWN: c00ee002 <unknown>
107 zero za.d[w9, 12:15] // 11000000-00001110-10100000-00000011
108 // CHECK-INST: zero za.d[w9, 12:15]
109 // CHECK-ENCODING: [0x03,0xa0,0x0e,0xc0]
110 // CHECK-ERROR: instruction requires: sme2p1
111 // CHECK-UNKNOWN: c00ea003 <unknown>
114 zero za.d[w8, 0, vgx2] // 11000000-00001100-00000000-00000000
115 // CHECK-INST: zero za.d[w8, 0, vgx2]
116 // CHECK-ENCODING: [0x00,0x00,0x0c,0xc0]
117 // CHECK-ERROR: instruction requires: sme2p1
118 // CHECK-UNKNOWN: c00c0000 <unknown>
120 zero za.d[w10, 5, vgx2] // 11000000-00001100-01000000-00000101
121 // CHECK-INST: zero za.d[w10, 5, vgx2]
122 // CHECK-ENCODING: [0x05,0x40,0x0c,0xc0]
123 // CHECK-ERROR: instruction requires: sme2p1
124 // CHECK-UNKNOWN: c00c4005 <unknown>
126 zero za.d[w11, 7, vgx2] // 11000000-00001100-01100000-00000111
127 // CHECK-INST: zero za.d[w11, 7, vgx2]
128 // CHECK-ENCODING: [0x07,0x60,0x0c,0xc0]
129 // CHECK-ERROR: instruction requires: sme2p1
130 // CHECK-UNKNOWN: c00c6007 <unknown>
132 zero za.d[w8, 5, vgx2] // 11000000-00001100-00000000-00000101
133 // CHECK-INST: zero za.d[w8, 5, vgx2]
134 // CHECK-ENCODING: [0x05,0x00,0x0c,0xc0]
135 // CHECK-ERROR: instruction requires: sme2p1
136 // CHECK-UNKNOWN: c00c0005 <unknown>
138 zero za.d[w8, 1, vgx2] // 11000000-00001100-00000000-00000001
139 // CHECK-INST: zero za.d[w8, 1, vgx2]
140 // CHECK-ENCODING: [0x01,0x00,0x0c,0xc0]
141 // CHECK-ERROR: instruction requires: sme2p1
142 // CHECK-UNKNOWN: c00c0001 <unknown>
144 zero za.d[w10, 0, vgx2] // 11000000-00001100-01000000-00000000
145 // CHECK-INST: zero za.d[w10, 0, vgx2]
146 // CHECK-ENCODING: [0x00,0x40,0x0c,0xc0]
147 // CHECK-ERROR: instruction requires: sme2p1
148 // CHECK-UNKNOWN: c00c4000 <unknown>
150 zero za.d[w10, 1, vgx2] // 11000000-00001100-01000000-00000001
151 // CHECK-INST: zero za.d[w10, 1, vgx2]
152 // CHECK-ENCODING: [0x01,0x40,0x0c,0xc0]
153 // CHECK-ERROR: instruction requires: sme2p1
154 // CHECK-UNKNOWN: c00c4001 <unknown>
156 zero za.d[w11, 2, vgx2] // 11000000-00001100-01100000-00000010
157 // CHECK-INST: zero za.d[w11, 2, vgx2]
158 // CHECK-ENCODING: [0x02,0x60,0x0c,0xc0]
159 // CHECK-ERROR: instruction requires: sme2p1
160 // CHECK-UNKNOWN: c00c6002 <unknown>
162 zero za.d[w9, 7, vgx2] // 11000000-00001100-00100000-00000111
163 // CHECK-INST: zero za.d[w9, 7, vgx2]
164 // CHECK-ENCODING: [0x07,0x20,0x0c,0xc0]
165 // CHECK-ERROR: instruction requires: sme2p1
166 // CHECK-UNKNOWN: c00c2007 <unknown>
169 zero za.d[w8, 0:1, vgx2] // 11000000-00001101-00000000-00000000
170 // CHECK-INST: zero za.d[w8, 0:1, vgx2]
171 // CHECK-ENCODING: [0x00,0x00,0x0d,0xc0]
172 // CHECK-ERROR: instruction requires: sme2p1
173 // CHECK-UNKNOWN: c00d0000 <unknown>
175 zero za.d[w10, 2:3, vgx2] // 11000000-00001101-01000000-00000001
176 // CHECK-INST: zero za.d[w10, 2:3, vgx2]
177 // CHECK-ENCODING: [0x01,0x40,0x0d,0xc0]
178 // CHECK-ERROR: instruction requires: sme2p1
179 // CHECK-UNKNOWN: c00d4001 <unknown>
181 zero za.d[w11, 6:7, vgx2] // 11000000-00001101-01100000-00000011
182 // CHECK-INST: zero za.d[w11, 6:7, vgx2]
183 // CHECK-ENCODING: [0x03,0x60,0x0d,0xc0]
184 // CHECK-ERROR: instruction requires: sme2p1
185 // CHECK-UNKNOWN: c00d6003 <unknown>
187 zero za.d[w8, 2:3, vgx2] // 11000000-00001101-00000000-00000001
188 // CHECK-INST: zero za.d[w8, 2:3, vgx2]
189 // CHECK-ENCODING: [0x01,0x00,0x0d,0xc0]
190 // CHECK-ERROR: instruction requires: sme2p1
191 // CHECK-UNKNOWN: c00d0001 <unknown>
193 zero za.d[w10, 0:1, vgx2] // 11000000-00001101-01000000-00000000
194 // CHECK-INST: zero za.d[w10, 0:1, vgx2]
195 // CHECK-ENCODING: [0x00,0x40,0x0d,0xc0]
196 // CHECK-ERROR: instruction requires: sme2p1
197 // CHECK-UNKNOWN: c00d4000 <unknown>
199 zero za.d[w11, 4:5, vgx2] // 11000000-00001101-01100000-00000010
200 // CHECK-INST: zero za.d[w11, 4:5, vgx2]
201 // CHECK-ENCODING: [0x02,0x60,0x0d,0xc0]
202 // CHECK-ERROR: instruction requires: sme2p1
203 // CHECK-UNKNOWN: c00d6002 <unknown>
205 zero za.d[w9, 6:7, vgx2] // 11000000-00001101-00100000-00000011
206 // CHECK-INST: zero za.d[w9, 6:7, vgx2]
207 // CHECK-ENCODING: [0x03,0x20,0x0d,0xc0]
208 // CHECK-ERROR: instruction requires: sme2p1
209 // CHECK-UNKNOWN: c00d2003 <unknown>
212 zero za.d[w8, 0:3, vgx2] // 11000000-00001111-00000000-00000000
213 // CHECK-INST: zero za.d[w8, 0:3, vgx2]
214 // CHECK-ENCODING: [0x00,0x00,0x0f,0xc0]
215 // CHECK-ERROR: instruction requires: sme2p1
216 // CHECK-UNKNOWN: c00f0000 <unknown>
218 zero za.d[w10, 4:7, vgx2] // 11000000-00001111-01000000-00000001
219 // CHECK-INST: zero za.d[w10, 4:7, vgx2]
220 // CHECK-ENCODING: [0x01,0x40,0x0f,0xc0]
221 // CHECK-ERROR: instruction requires: sme2p1
222 // CHECK-UNKNOWN: c00f4001 <unknown>
224 zero za.d[w11, 4:7, vgx2] // 11000000-00001111-01100000-00000001
225 // CHECK-INST: zero za.d[w11, 4:7, vgx2]
226 // CHECK-ENCODING: [0x01,0x60,0x0f,0xc0]
227 // CHECK-ERROR: instruction requires: sme2p1
228 // CHECK-UNKNOWN: c00f6001 <unknown>
230 zero za.d[w8, 4:7, vgx2] // 11000000-00001111-00000000-00000001
231 // CHECK-INST: zero za.d[w8, 4:7, vgx2]
232 // CHECK-ENCODING: [0x01,0x00,0x0f,0xc0]
233 // CHECK-ERROR: instruction requires: sme2p1
234 // CHECK-UNKNOWN: c00f0001 <unknown>
236 zero za.d[w10, 0:3, vgx2] // 11000000-00001111-01000000-00000000
237 // CHECK-INST: zero za.d[w10, 0:3, vgx2]
238 // CHECK-ENCODING: [0x00,0x40,0x0f,0xc0]
239 // CHECK-ERROR: instruction requires: sme2p1
240 // CHECK-UNKNOWN: c00f4000 <unknown>
242 zero za.d[w11, 0:3, vgx2] // 11000000-00001111-01100000-00000000
243 // CHECK-INST: zero za.d[w11, 0:3, vgx2]
244 // CHECK-ENCODING: [0x00,0x60,0x0f,0xc0]
245 // CHECK-ERROR: instruction requires: sme2p1
246 // CHECK-UNKNOWN: c00f6000 <unknown>
248 zero za.d[w9, 4:7, vgx2] // 11000000-00001111-00100000-00000001
249 // CHECK-INST: zero za.d[w9, 4:7, vgx2]
250 // CHECK-ENCODING: [0x01,0x20,0x0f,0xc0]
251 // CHECK-ERROR: instruction requires: sme2p1
252 // CHECK-UNKNOWN: c00f2001 <unknown>
255 zero za.d[w8, 0, vgx4] // 11000000-00001110-00000000-00000000
256 // CHECK-INST: zero za.d[w8, 0, vgx4]
257 // CHECK-ENCODING: [0x00,0x00,0x0e,0xc0]
258 // CHECK-ERROR: instruction requires: sme2p1
259 // CHECK-UNKNOWN: c00e0000 <unknown>
261 zero za.d[w10, 5, vgx4] // 11000000-00001110-01000000-00000101
262 // CHECK-INST: zero za.d[w10, 5, vgx4]
263 // CHECK-ENCODING: [0x05,0x40,0x0e,0xc0]
264 // CHECK-ERROR: instruction requires: sme2p1
265 // CHECK-UNKNOWN: c00e4005 <unknown>
267 zero za.d[w11, 7, vgx4] // 11000000-00001110-01100000-00000111
268 // CHECK-INST: zero za.d[w11, 7, vgx4]
269 // CHECK-ENCODING: [0x07,0x60,0x0e,0xc0]
270 // CHECK-ERROR: instruction requires: sme2p1
271 // CHECK-UNKNOWN: c00e6007 <unknown>
273 zero za.d[w8, 5, vgx4] // 11000000-00001110-00000000-00000101
274 // CHECK-INST: zero za.d[w8, 5, vgx4]
275 // CHECK-ENCODING: [0x05,0x00,0x0e,0xc0]
276 // CHECK-ERROR: instruction requires: sme2p1
277 // CHECK-UNKNOWN: c00e0005 <unknown>
279 zero za.d[w8, 1, vgx4] // 11000000-00001110-00000000-00000001
280 // CHECK-INST: zero za.d[w8, 1, vgx4]
281 // CHECK-ENCODING: [0x01,0x00,0x0e,0xc0]
282 // CHECK-ERROR: instruction requires: sme2p1
283 // CHECK-UNKNOWN: c00e0001 <unknown>
285 zero za.d[w10, 0, vgx4] // 11000000-00001110-01000000-00000000
286 // CHECK-INST: zero za.d[w10, 0, vgx4]
287 // CHECK-ENCODING: [0x00,0x40,0x0e,0xc0]
288 // CHECK-ERROR: instruction requires: sme2p1
289 // CHECK-UNKNOWN: c00e4000 <unknown>
291 zero za.d[w10, 1, vgx4] // 11000000-00001110-01000000-00000001
292 // CHECK-INST: zero za.d[w10, 1, vgx4]
293 // CHECK-ENCODING: [0x01,0x40,0x0e,0xc0]
294 // CHECK-ERROR: instruction requires: sme2p1
295 // CHECK-UNKNOWN: c00e4001 <unknown>
297 zero za.d[w11, 2, vgx4] // 11000000-00001110-01100000-00000010
298 // CHECK-INST: zero za.d[w11, 2, vgx4]
299 // CHECK-ENCODING: [0x02,0x60,0x0e,0xc0]
300 // CHECK-ERROR: instruction requires: sme2p1
301 // CHECK-UNKNOWN: c00e6002 <unknown>
303 zero za.d[w9, 7, vgx4] // 11000000-00001110-00100000-00000111
304 // CHECK-INST: zero za.d[w9, 7, vgx4]
305 // CHECK-ENCODING: [0x07,0x20,0x0e,0xc0]
306 // CHECK-ERROR: instruction requires: sme2p1
307 // CHECK-UNKNOWN: c00e2007 <unknown>
310 zero za.d[w8, 0:1, vgx4] // 11000000-00001101-10000000-00000000
311 // CHECK-INST: zero za.d[w8, 0:1, vgx4]
312 // CHECK-ENCODING: [0x00,0x80,0x0d,0xc0]
313 // CHECK-ERROR: instruction requires: sme2p1
314 // CHECK-UNKNOWN: c00d8000 <unknown>
316 zero za.d[w10, 2:3, vgx4] // 11000000-00001101-11000000-00000001
317 // CHECK-INST: zero za.d[w10, 2:3, vgx4]
318 // CHECK-ENCODING: [0x01,0xc0,0x0d,0xc0]
319 // CHECK-ERROR: instruction requires: sme2p1
320 // CHECK-UNKNOWN: c00dc001 <unknown>
322 zero za.d[w11, 6:7, vgx4] // 11000000-00001101-11100000-00000011
323 // CHECK-INST: zero za.d[w11, 6:7, vgx4]
324 // CHECK-ENCODING: [0x03,0xe0,0x0d,0xc0]
325 // CHECK-ERROR: instruction requires: sme2p1
326 // CHECK-UNKNOWN: c00de003 <unknown>
328 zero za.d[w8, 2:3, vgx4] // 11000000-00001101-10000000-00000001
329 // CHECK-INST: zero za.d[w8, 2:3, vgx4]
330 // CHECK-ENCODING: [0x01,0x80,0x0d,0xc0]
331 // CHECK-ERROR: instruction requires: sme2p1
332 // CHECK-UNKNOWN: c00d8001 <unknown>
334 zero za.d[w10, 0:1, vgx4] // 11000000-00001101-11000000-00000000
335 // CHECK-INST: zero za.d[w10, 0:1, vgx4]
336 // CHECK-ENCODING: [0x00,0xc0,0x0d,0xc0]
337 // CHECK-ERROR: instruction requires: sme2p1
338 // CHECK-UNKNOWN: c00dc000 <unknown>
340 zero za.d[w11, 4:5, vgx4] // 11000000-00001101-11100000-00000010
341 // CHECK-INST: zero za.d[w11, 4:5, vgx4]
342 // CHECK-ENCODING: [0x02,0xe0,0x0d,0xc0]
343 // CHECK-ERROR: instruction requires: sme2p1
344 // CHECK-UNKNOWN: c00de002 <unknown>
346 zero za.d[w9, 6:7, vgx4] // 11000000-00001101-10100000-00000011
347 // CHECK-INST: zero za.d[w9, 6:7, vgx4]
348 // CHECK-ENCODING: [0x03,0xa0,0x0d,0xc0]
349 // CHECK-ERROR: instruction requires: sme2p1
350 // CHECK-UNKNOWN: c00da003 <unknown>
353 zero za.d[w8, 0:3, vgx4] // 11000000-00001111-10000000-00000000
354 // CHECK-INST: zero za.d[w8, 0:3, vgx4]
355 // CHECK-ENCODING: [0x00,0x80,0x0f,0xc0]
356 // CHECK-ERROR: instruction requires: sme2p1
357 // CHECK-UNKNOWN: c00f8000 <unknown>
359 zero za.d[w10, 4:7, vgx4] // 11000000-00001111-11000000-00000001
360 // CHECK-INST: zero za.d[w10, 4:7, vgx4]
361 // CHECK-ENCODING: [0x01,0xc0,0x0f,0xc0]
362 // CHECK-ERROR: instruction requires: sme2p1
363 // CHECK-UNKNOWN: c00fc001 <unknown>
365 zero za.d[w11, 4:7, vgx4] // 11000000-00001111-11100000-00000001
366 // CHECK-INST: zero za.d[w11, 4:7, vgx4]
367 // CHECK-ENCODING: [0x01,0xe0,0x0f,0xc0]
368 // CHECK-ERROR: instruction requires: sme2p1
369 // CHECK-UNKNOWN: c00fe001 <unknown>
371 zero za.d[w8, 4:7, vgx4] // 11000000-00001111-10000000-00000001
372 // CHECK-INST: zero za.d[w8, 4:7, vgx4]
373 // CHECK-ENCODING: [0x01,0x80,0x0f,0xc0]
374 // CHECK-ERROR: instruction requires: sme2p1
375 // CHECK-UNKNOWN: c00f8001 <unknown>
377 zero za.d[w10, 0:3, vgx4] // 11000000-00001111-11000000-00000000
378 // CHECK-INST: zero za.d[w10, 0:3, vgx4]
379 // CHECK-ENCODING: [0x00,0xc0,0x0f,0xc0]
380 // CHECK-ERROR: instruction requires: sme2p1
381 // CHECK-UNKNOWN: c00fc000 <unknown>
383 zero za.d[w11, 0:3, vgx4] // 11000000-00001111-11100000-00000000
384 // CHECK-INST: zero za.d[w11, 0:3, vgx4]
385 // CHECK-ENCODING: [0x00,0xe0,0x0f,0xc0]
386 // CHECK-ERROR: instruction requires: sme2p1
387 // CHECK-UNKNOWN: c00fe000 <unknown>
389 zero za.d[w9, 4:7, vgx4] // 11000000-00001111-10100000-00000001
390 // CHECK-INST: zero za.d[w9, 4:7, vgx4]
391 // CHECK-ENCODING: [0x01,0xa0,0x0f,0xc0]
392 // CHECK-ERROR: instruction requires: sme2p1
393 // CHECK-UNKNOWN: c00fa001 <unknown>