xref: /llvm-project/llvm/test/MC/AArch64/SME2p1/zero.s (revision 3eacda4547c59c3daa2daf275321c8013eb485cd)
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
15
16zero    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>
21
22zero    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>
27
28zero    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>
33
34zero    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>
39
40zero    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>
45
46zero    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>
51
52zero    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>
57
58zero    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>
63
64zero    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>
69
70
71zero    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>
76
77zero    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>
82
83zero    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>
88
89zero    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>
94
95zero    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>
100
101zero    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>
106
107zero    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>
112
113
114zero    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>
119
120zero    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>
125
126zero    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>
131
132zero    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>
137
138zero    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>
143
144zero    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>
149
150zero    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>
155
156zero    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>
161
162zero    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>
167
168
169zero    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>
174
175zero    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>
180
181zero    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>
186
187zero    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>
192
193zero    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>
198
199zero    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>
204
205zero    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>
210
211
212zero    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>
217
218zero    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>
223
224zero    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>
229
230zero    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>
235
236zero    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>
241
242zero    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>
247
248zero    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>
253
254
255zero    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>
260
261zero    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>
266
267zero    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>
272
273zero    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>
278
279zero    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>
284
285zero    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>
290
291zero    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>
296
297zero    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>
302
303zero    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>
308
309
310zero    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>
315
316zero    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>
321
322zero    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>
327
328zero    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>
333
334zero    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>
339
340zero    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>
345
346zero    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>
351
352
353zero    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>
358
359zero    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>
364
365zero    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>
370
371zero    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>
376
377zero    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>
382
383zero    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>
388
389zero    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>
394
395