xref: /llvm-project/llvm/test/MC/AArch64/SME2/udot.s (revision 5d67b051e29c2bde42a5004634296b88542c096a)
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sme-i16i64 < %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=+sme2,+sme-i16i64 < %s \
6// RUN:        | llvm-objdump -d --mattr=+sme2,+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sme-i16i64 < %s \
8// RUN:        | llvm-objdump -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sme-i16i64 < %s \
10// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
11// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme2,+sme-i16i64 -disassemble -show-encoding \
12// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
13
14
15udot    za.s[w8, 0, vgx2], {z0.h, z1.h}, z0.h  // 11000001-01100000-00010100-00011000
16// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.h, z1.h }, z0.h
17// CHECK-ENCODING: [0x18,0x14,0x60,0xc1]
18// CHECK-ERROR: instruction requires: sme2
19// CHECK-UNKNOWN: c1601418 <unknown>
20
21udot    za.s[w8, 0], {z0.h, z1.h}, z0.h  // 11000001-01100000-00010100-00011000
22// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.h, z1.h }, z0.h
23// CHECK-ENCODING: [0x18,0x14,0x60,0xc1]
24// CHECK-ERROR: instruction requires: sme2
25// CHECK-UNKNOWN: c1601418 <unknown>
26
27udot    za.s[w10, 5, vgx2], {z10.h, z11.h}, z5.h  // 11000001-01100101-01010101-01011101
28// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.h, z11.h }, z5.h
29// CHECK-ENCODING: [0x5d,0x55,0x65,0xc1]
30// CHECK-ERROR: instruction requires: sme2
31// CHECK-UNKNOWN: c165555d <unknown>
32
33udot    za.s[w10, 5], {z10.h, z11.h}, z5.h  // 11000001-01100101-01010101-01011101
34// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.h, z11.h }, z5.h
35// CHECK-ENCODING: [0x5d,0x55,0x65,0xc1]
36// CHECK-ERROR: instruction requires: sme2
37// CHECK-UNKNOWN: c165555d <unknown>
38
39udot    za.s[w11, 7, vgx2], {z13.h, z14.h}, z8.h  // 11000001-01101000-01110101-10111111
40// CHECK-INST: udot    za.s[w11, 7, vgx2], { z13.h, z14.h }, z8.h
41// CHECK-ENCODING: [0xbf,0x75,0x68,0xc1]
42// CHECK-ERROR: instruction requires: sme2
43// CHECK-UNKNOWN: c16875bf <unknown>
44
45udot    za.s[w11, 7], {z13.h, z14.h}, z8.h  // 11000001-01101000-01110101-10111111
46// CHECK-INST: udot    za.s[w11, 7, vgx2], { z13.h, z14.h }, z8.h
47// CHECK-ENCODING: [0xbf,0x75,0x68,0xc1]
48// CHECK-ERROR: instruction requires: sme2
49// CHECK-UNKNOWN: c16875bf <unknown>
50
51udot    za.s[w11, 7, vgx2], {z31.h, z0.h}, z15.h  // 11000001-01101111-01110111-11111111
52// CHECK-INST: udot    za.s[w11, 7, vgx2], { z31.h, z0.h }, z15.h
53// CHECK-ENCODING: [0xff,0x77,0x6f,0xc1]
54// CHECK-ERROR: instruction requires: sme2
55// CHECK-UNKNOWN: c16f77ff <unknown>
56
57udot    za.s[w11, 7], {z31.h, z0.h}, z15.h  // 11000001-01101111-01110111-11111111
58// CHECK-INST: udot    za.s[w11, 7, vgx2], { z31.h, z0.h }, z15.h
59// CHECK-ENCODING: [0xff,0x77,0x6f,0xc1]
60// CHECK-ERROR: instruction requires: sme2
61// CHECK-UNKNOWN: c16f77ff <unknown>
62
63udot    za.s[w8, 5, vgx2], {z17.h, z18.h}, z0.h  // 11000001-01100000-00010110-00111101
64// CHECK-INST: udot    za.s[w8, 5, vgx2], { z17.h, z18.h }, z0.h
65// CHECK-ENCODING: [0x3d,0x16,0x60,0xc1]
66// CHECK-ERROR: instruction requires: sme2
67// CHECK-UNKNOWN: c160163d <unknown>
68
69udot    za.s[w8, 5], {z17.h, z18.h}, z0.h  // 11000001-01100000-00010110-00111101
70// CHECK-INST: udot    za.s[w8, 5, vgx2], { z17.h, z18.h }, z0.h
71// CHECK-ENCODING: [0x3d,0x16,0x60,0xc1]
72// CHECK-ERROR: instruction requires: sme2
73// CHECK-UNKNOWN: c160163d <unknown>
74
75udot    za.s[w8, 1, vgx2], {z1.h, z2.h}, z14.h  // 11000001-01101110-00010100-00111001
76// CHECK-INST: udot    za.s[w8, 1, vgx2], { z1.h, z2.h }, z14.h
77// CHECK-ENCODING: [0x39,0x14,0x6e,0xc1]
78// CHECK-ERROR: instruction requires: sme2
79// CHECK-UNKNOWN: c16e1439 <unknown>
80
81udot    za.s[w8, 1], {z1.h, z2.h}, z14.h  // 11000001-01101110-00010100-00111001
82// CHECK-INST: udot    za.s[w8, 1, vgx2], { z1.h, z2.h }, z14.h
83// CHECK-ENCODING: [0x39,0x14,0x6e,0xc1]
84// CHECK-ERROR: instruction requires: sme2
85// CHECK-UNKNOWN: c16e1439 <unknown>
86
87udot    za.s[w10, 0, vgx2], {z19.h, z20.h}, z4.h  // 11000001-01100100-01010110-01111000
88// CHECK-INST: udot    za.s[w10, 0, vgx2], { z19.h, z20.h }, z4.h
89// CHECK-ENCODING: [0x78,0x56,0x64,0xc1]
90// CHECK-ERROR: instruction requires: sme2
91// CHECK-UNKNOWN: c1645678 <unknown>
92
93udot    za.s[w10, 0], {z19.h, z20.h}, z4.h  // 11000001-01100100-01010110-01111000
94// CHECK-INST: udot    za.s[w10, 0, vgx2], { z19.h, z20.h }, z4.h
95// CHECK-ENCODING: [0x78,0x56,0x64,0xc1]
96// CHECK-ERROR: instruction requires: sme2
97// CHECK-UNKNOWN: c1645678 <unknown>
98
99udot    za.s[w8, 0, vgx2], {z12.h, z13.h}, z2.h  // 11000001-01100010-00010101-10011000
100// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.h, z13.h }, z2.h
101// CHECK-ENCODING: [0x98,0x15,0x62,0xc1]
102// CHECK-ERROR: instruction requires: sme2
103// CHECK-UNKNOWN: c1621598 <unknown>
104
105udot    za.s[w8, 0], {z12.h, z13.h}, z2.h  // 11000001-01100010-00010101-10011000
106// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.h, z13.h }, z2.h
107// CHECK-ENCODING: [0x98,0x15,0x62,0xc1]
108// CHECK-ERROR: instruction requires: sme2
109// CHECK-UNKNOWN: c1621598 <unknown>
110
111udot    za.s[w10, 1, vgx2], {z1.h, z2.h}, z10.h  // 11000001-01101010-01010100-00111001
112// CHECK-INST: udot    za.s[w10, 1, vgx2], { z1.h, z2.h }, z10.h
113// CHECK-ENCODING: [0x39,0x54,0x6a,0xc1]
114// CHECK-ERROR: instruction requires: sme2
115// CHECK-UNKNOWN: c16a5439 <unknown>
116
117udot    za.s[w10, 1], {z1.h, z2.h}, z10.h  // 11000001-01101010-01010100-00111001
118// CHECK-INST: udot    za.s[w10, 1, vgx2], { z1.h, z2.h }, z10.h
119// CHECK-ENCODING: [0x39,0x54,0x6a,0xc1]
120// CHECK-ERROR: instruction requires: sme2
121// CHECK-UNKNOWN: c16a5439 <unknown>
122
123udot    za.s[w8, 5, vgx2], {z22.h, z23.h}, z14.h  // 11000001-01101110-00010110-11011101
124// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.h, z23.h }, z14.h
125// CHECK-ENCODING: [0xdd,0x16,0x6e,0xc1]
126// CHECK-ERROR: instruction requires: sme2
127// CHECK-UNKNOWN: c16e16dd <unknown>
128
129udot    za.s[w8, 5], {z22.h, z23.h}, z14.h  // 11000001-01101110-00010110-11011101
130// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.h, z23.h }, z14.h
131// CHECK-ENCODING: [0xdd,0x16,0x6e,0xc1]
132// CHECK-ERROR: instruction requires: sme2
133// CHECK-UNKNOWN: c16e16dd <unknown>
134
135udot    za.s[w11, 2, vgx2], {z9.h, z10.h}, z1.h  // 11000001-01100001-01110101-00111010
136// CHECK-INST: udot    za.s[w11, 2, vgx2], { z9.h, z10.h }, z1.h
137// CHECK-ENCODING: [0x3a,0x75,0x61,0xc1]
138// CHECK-ERROR: instruction requires: sme2
139// CHECK-UNKNOWN: c161753a <unknown>
140
141udot    za.s[w11, 2], {z9.h, z10.h}, z1.h  // 11000001-01100001-01110101-00111010
142// CHECK-INST: udot    za.s[w11, 2, vgx2], { z9.h, z10.h }, z1.h
143// CHECK-ENCODING: [0x3a,0x75,0x61,0xc1]
144// CHECK-ERROR: instruction requires: sme2
145// CHECK-UNKNOWN: c161753a <unknown>
146
147udot    za.s[w9, 7, vgx2], {z12.h, z13.h}, z11.h  // 11000001-01101011-00110101-10011111
148// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.h, z13.h }, z11.h
149// CHECK-ENCODING: [0x9f,0x35,0x6b,0xc1]
150// CHECK-ERROR: instruction requires: sme2
151// CHECK-UNKNOWN: c16b359f <unknown>
152
153udot    za.s[w9, 7], {z12.h, z13.h}, z11.h  // 11000001-01101011-00110101-10011111
154// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.h, z13.h }, z11.h
155// CHECK-ENCODING: [0x9f,0x35,0x6b,0xc1]
156// CHECK-ERROR: instruction requires: sme2
157// CHECK-UNKNOWN: c16b359f <unknown>
158
159
160udot    za.s[w8, 0, vgx2], {z0.h, z1.h}, z0.h[0]  // 11000001-01010000-00010000-00010000
161// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.h, z1.h }, z0.h[0]
162// CHECK-ENCODING: [0x10,0x10,0x50,0xc1]
163// CHECK-ERROR: instruction requires: sme2
164// CHECK-UNKNOWN: c1501010 <unknown>
165
166udot    za.s[w8, 0], {z0.h, z1.h}, z0.h[0]  // 11000001-01010000-00010000-00010000
167// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.h, z1.h }, z0.h[0]
168// CHECK-ENCODING: [0x10,0x10,0x50,0xc1]
169// CHECK-ERROR: instruction requires: sme2
170// CHECK-UNKNOWN: c1501010 <unknown>
171
172udot    za.s[w10, 5, vgx2], {z10.h, z11.h}, z5.h[1]  // 11000001-01010101-01010101-01010101
173// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.h, z11.h }, z5.h[1]
174// CHECK-ENCODING: [0x55,0x55,0x55,0xc1]
175// CHECK-ERROR: instruction requires: sme2
176// CHECK-UNKNOWN: c1555555 <unknown>
177
178udot    za.s[w10, 5], {z10.h, z11.h}, z5.h[1]  // 11000001-01010101-01010101-01010101
179// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.h, z11.h }, z5.h[1]
180// CHECK-ENCODING: [0x55,0x55,0x55,0xc1]
181// CHECK-ERROR: instruction requires: sme2
182// CHECK-UNKNOWN: c1555555 <unknown>
183
184udot    za.s[w11, 7, vgx2], {z12.h, z13.h}, z8.h[3]  // 11000001-01011000-01111101-10010111
185// CHECK-INST: udot    za.s[w11, 7, vgx2], { z12.h, z13.h }, z8.h[3]
186// CHECK-ENCODING: [0x97,0x7d,0x58,0xc1]
187// CHECK-ERROR: instruction requires: sme2
188// CHECK-UNKNOWN: c1587d97 <unknown>
189
190udot    za.s[w11, 7], {z12.h, z13.h}, z8.h[3]  // 11000001-01011000-01111101-10010111
191// CHECK-INST: udot    za.s[w11, 7, vgx2], { z12.h, z13.h }, z8.h[3]
192// CHECK-ENCODING: [0x97,0x7d,0x58,0xc1]
193// CHECK-ERROR: instruction requires: sme2
194// CHECK-UNKNOWN: c1587d97 <unknown>
195
196udot    za.s[w11, 7, vgx2], {z30.h, z31.h}, z15.h[3]  // 11000001-01011111-01111111-11010111
197// CHECK-INST: udot    za.s[w11, 7, vgx2], { z30.h, z31.h }, z15.h[3]
198// CHECK-ENCODING: [0xd7,0x7f,0x5f,0xc1]
199// CHECK-ERROR: instruction requires: sme2
200// CHECK-UNKNOWN: c15f7fd7 <unknown>
201
202udot    za.s[w11, 7], {z30.h, z31.h}, z15.h[3]  // 11000001-01011111-01111111-11010111
203// CHECK-INST: udot    za.s[w11, 7, vgx2], { z30.h, z31.h }, z15.h[3]
204// CHECK-ENCODING: [0xd7,0x7f,0x5f,0xc1]
205// CHECK-ERROR: instruction requires: sme2
206// CHECK-UNKNOWN: c15f7fd7 <unknown>
207
208udot    za.s[w8, 5, vgx2], {z16.h, z17.h}, z0.h[3]  // 11000001-01010000-00011110-00010101
209// CHECK-INST: udot    za.s[w8, 5, vgx2], { z16.h, z17.h }, z0.h[3]
210// CHECK-ENCODING: [0x15,0x1e,0x50,0xc1]
211// CHECK-ERROR: instruction requires: sme2
212// CHECK-UNKNOWN: c1501e15 <unknown>
213
214udot    za.s[w8, 5], {z16.h, z17.h}, z0.h[3]  // 11000001-01010000-00011110-00010101
215// CHECK-INST: udot    za.s[w8, 5, vgx2], { z16.h, z17.h }, z0.h[3]
216// CHECK-ENCODING: [0x15,0x1e,0x50,0xc1]
217// CHECK-ERROR: instruction requires: sme2
218// CHECK-UNKNOWN: c1501e15 <unknown>
219
220udot    za.s[w8, 1, vgx2], {z0.h, z1.h}, z14.h[1]  // 11000001-01011110-00010100-00010001
221// CHECK-INST: udot    za.s[w8, 1, vgx2], { z0.h, z1.h }, z14.h[1]
222// CHECK-ENCODING: [0x11,0x14,0x5e,0xc1]
223// CHECK-ERROR: instruction requires: sme2
224// CHECK-UNKNOWN: c15e1411 <unknown>
225
226udot    za.s[w8, 1], {z0.h, z1.h}, z14.h[1]  // 11000001-01011110-00010100-00010001
227// CHECK-INST: udot    za.s[w8, 1, vgx2], { z0.h, z1.h }, z14.h[1]
228// CHECK-ENCODING: [0x11,0x14,0x5e,0xc1]
229// CHECK-ERROR: instruction requires: sme2
230// CHECK-UNKNOWN: c15e1411 <unknown>
231
232udot    za.s[w10, 0, vgx2], {z18.h, z19.h}, z4.h[1]  // 11000001-01010100-01010110-01010000
233// CHECK-INST: udot    za.s[w10, 0, vgx2], { z18.h, z19.h }, z4.h[1]
234// CHECK-ENCODING: [0x50,0x56,0x54,0xc1]
235// CHECK-ERROR: instruction requires: sme2
236// CHECK-UNKNOWN: c1545650 <unknown>
237
238udot    za.s[w10, 0], {z18.h, z19.h}, z4.h[1]  // 11000001-01010100-01010110-01010000
239// CHECK-INST: udot    za.s[w10, 0, vgx2], { z18.h, z19.h }, z4.h[1]
240// CHECK-ENCODING: [0x50,0x56,0x54,0xc1]
241// CHECK-ERROR: instruction requires: sme2
242// CHECK-UNKNOWN: c1545650 <unknown>
243
244udot    za.s[w8, 0, vgx2], {z12.h, z13.h}, z2.h[2]  // 11000001-01010010-00011001-10010000
245// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.h, z13.h }, z2.h[2]
246// CHECK-ENCODING: [0x90,0x19,0x52,0xc1]
247// CHECK-ERROR: instruction requires: sme2
248// CHECK-UNKNOWN: c1521990 <unknown>
249
250udot    za.s[w8, 0], {z12.h, z13.h}, z2.h[2]  // 11000001-01010010-00011001-10010000
251// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.h, z13.h }, z2.h[2]
252// CHECK-ENCODING: [0x90,0x19,0x52,0xc1]
253// CHECK-ERROR: instruction requires: sme2
254// CHECK-UNKNOWN: c1521990 <unknown>
255
256udot    za.s[w10, 1, vgx2], {z0.h, z1.h}, z10.h[2]  // 11000001-01011010-01011000-00010001
257// CHECK-INST: udot    za.s[w10, 1, vgx2], { z0.h, z1.h }, z10.h[2]
258// CHECK-ENCODING: [0x11,0x58,0x5a,0xc1]
259// CHECK-ERROR: instruction requires: sme2
260// CHECK-UNKNOWN: c15a5811 <unknown>
261
262udot    za.s[w10, 1], {z0.h, z1.h}, z10.h[2]  // 11000001-01011010-01011000-00010001
263// CHECK-INST: udot    za.s[w10, 1, vgx2], { z0.h, z1.h }, z10.h[2]
264// CHECK-ENCODING: [0x11,0x58,0x5a,0xc1]
265// CHECK-ERROR: instruction requires: sme2
266// CHECK-UNKNOWN: c15a5811 <unknown>
267
268udot    za.s[w8, 5, vgx2], {z22.h, z23.h}, z14.h[2]  // 11000001-01011110-00011010-11010101
269// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.h, z23.h }, z14.h[2]
270// CHECK-ENCODING: [0xd5,0x1a,0x5e,0xc1]
271// CHECK-ERROR: instruction requires: sme2
272// CHECK-UNKNOWN: c15e1ad5 <unknown>
273
274udot    za.s[w8, 5], {z22.h, z23.h}, z14.h[2]  // 11000001-01011110-00011010-11010101
275// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.h, z23.h }, z14.h[2]
276// CHECK-ENCODING: [0xd5,0x1a,0x5e,0xc1]
277// CHECK-ERROR: instruction requires: sme2
278// CHECK-UNKNOWN: c15e1ad5 <unknown>
279
280udot    za.s[w11, 2, vgx2], {z8.h, z9.h}, z1.h[1]  // 11000001-01010001-01110101-00010010
281// CHECK-INST: udot    za.s[w11, 2, vgx2], { z8.h, z9.h }, z1.h[1]
282// CHECK-ENCODING: [0x12,0x75,0x51,0xc1]
283// CHECK-ERROR: instruction requires: sme2
284// CHECK-UNKNOWN: c1517512 <unknown>
285
286udot    za.s[w11, 2], {z8.h, z9.h}, z1.h[1]  // 11000001-01010001-01110101-00010010
287// CHECK-INST: udot    za.s[w11, 2, vgx2], { z8.h, z9.h }, z1.h[1]
288// CHECK-ENCODING: [0x12,0x75,0x51,0xc1]
289// CHECK-ERROR: instruction requires: sme2
290// CHECK-UNKNOWN: c1517512 <unknown>
291
292udot    za.s[w9, 7, vgx2], {z12.h, z13.h}, z11.h[2]  // 11000001-01011011-00111001-10010111
293// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.h, z13.h }, z11.h[2]
294// CHECK-ENCODING: [0x97,0x39,0x5b,0xc1]
295// CHECK-ERROR: instruction requires: sme2
296// CHECK-UNKNOWN: c15b3997 <unknown>
297
298udot    za.s[w9, 7], {z12.h, z13.h}, z11.h[2]  // 11000001-01011011-00111001-10010111
299// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.h, z13.h }, z11.h[2]
300// CHECK-ENCODING: [0x97,0x39,0x5b,0xc1]
301// CHECK-ERROR: instruction requires: sme2
302// CHECK-UNKNOWN: c15b3997 <unknown>
303
304
305udot    za.s[w8, 0, vgx2], {z0.h, z1.h}, {z0.h, z1.h}  // 11000001-11100000-00010100-00011000
306// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
307// CHECK-ENCODING: [0x18,0x14,0xe0,0xc1]
308// CHECK-ERROR: instruction requires: sme2
309// CHECK-UNKNOWN: c1e01418 <unknown>
310
311udot    za.s[w8, 0], {z0.h, z1.h}, {z0.h, z1.h}  // 11000001-11100000-00010100-00011000
312// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
313// CHECK-ENCODING: [0x18,0x14,0xe0,0xc1]
314// CHECK-ERROR: instruction requires: sme2
315// CHECK-UNKNOWN: c1e01418 <unknown>
316
317udot    za.s[w10, 5, vgx2], {z10.h, z11.h}, {z20.h, z21.h}  // 11000001-11110100-01010101-01011101
318// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
319// CHECK-ENCODING: [0x5d,0x55,0xf4,0xc1]
320// CHECK-ERROR: instruction requires: sme2
321// CHECK-UNKNOWN: c1f4555d <unknown>
322
323udot    za.s[w10, 5], {z10.h, z11.h}, {z20.h, z21.h}  // 11000001-11110100-01010101-01011101
324// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
325// CHECK-ENCODING: [0x5d,0x55,0xf4,0xc1]
326// CHECK-ERROR: instruction requires: sme2
327// CHECK-UNKNOWN: c1f4555d <unknown>
328
329udot    za.s[w11, 7, vgx2], {z12.h, z13.h}, {z8.h, z9.h}  // 11000001-11101000-01110101-10011111
330// CHECK-INST: udot    za.s[w11, 7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
331// CHECK-ENCODING: [0x9f,0x75,0xe8,0xc1]
332// CHECK-ERROR: instruction requires: sme2
333// CHECK-UNKNOWN: c1e8759f <unknown>
334
335udot    za.s[w11, 7], {z12.h, z13.h}, {z8.h, z9.h}  // 11000001-11101000-01110101-10011111
336// CHECK-INST: udot    za.s[w11, 7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
337// CHECK-ENCODING: [0x9f,0x75,0xe8,0xc1]
338// CHECK-ERROR: instruction requires: sme2
339// CHECK-UNKNOWN: c1e8759f <unknown>
340
341udot    za.s[w11, 7, vgx2], {z30.h, z31.h}, {z30.h, z31.h}  // 11000001-11111110-01110111-11011111
342// CHECK-INST: udot    za.s[w11, 7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
343// CHECK-ENCODING: [0xdf,0x77,0xfe,0xc1]
344// CHECK-ERROR: instruction requires: sme2
345// CHECK-UNKNOWN: c1fe77df <unknown>
346
347udot    za.s[w11, 7], {z30.h, z31.h}, {z30.h, z31.h}  // 11000001-11111110-01110111-11011111
348// CHECK-INST: udot    za.s[w11, 7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
349// CHECK-ENCODING: [0xdf,0x77,0xfe,0xc1]
350// CHECK-ERROR: instruction requires: sme2
351// CHECK-UNKNOWN: c1fe77df <unknown>
352
353udot    za.s[w8, 5, vgx2], {z16.h, z17.h}, {z16.h, z17.h}  // 11000001-11110000-00010110-00011101
354// CHECK-INST: udot    za.s[w8, 5, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
355// CHECK-ENCODING: [0x1d,0x16,0xf0,0xc1]
356// CHECK-ERROR: instruction requires: sme2
357// CHECK-UNKNOWN: c1f0161d <unknown>
358
359udot    za.s[w8, 5], {z16.h, z17.h}, {z16.h, z17.h}  // 11000001-11110000-00010110-00011101
360// CHECK-INST: udot    za.s[w8, 5, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
361// CHECK-ENCODING: [0x1d,0x16,0xf0,0xc1]
362// CHECK-ERROR: instruction requires: sme2
363// CHECK-UNKNOWN: c1f0161d <unknown>
364
365udot    za.s[w8, 1, vgx2], {z0.h, z1.h}, {z30.h, z31.h}  // 11000001-11111110-00010100-00011001
366// CHECK-INST: udot    za.s[w8, 1, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
367// CHECK-ENCODING: [0x19,0x14,0xfe,0xc1]
368// CHECK-ERROR: instruction requires: sme2
369// CHECK-UNKNOWN: c1fe1419 <unknown>
370
371udot    za.s[w8, 1], {z0.h, z1.h}, {z30.h, z31.h}  // 11000001-11111110-00010100-00011001
372// CHECK-INST: udot    za.s[w8, 1, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
373// CHECK-ENCODING: [0x19,0x14,0xfe,0xc1]
374// CHECK-ERROR: instruction requires: sme2
375// CHECK-UNKNOWN: c1fe1419 <unknown>
376
377udot    za.s[w10, 0, vgx2], {z18.h, z19.h}, {z20.h, z21.h}  // 11000001-11110100-01010110-01011000
378// CHECK-INST: udot    za.s[w10, 0, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
379// CHECK-ENCODING: [0x58,0x56,0xf4,0xc1]
380// CHECK-ERROR: instruction requires: sme2
381// CHECK-UNKNOWN: c1f45658 <unknown>
382
383udot    za.s[w10, 0], {z18.h, z19.h}, {z20.h, z21.h}  // 11000001-11110100-01010110-01011000
384// CHECK-INST: udot    za.s[w10, 0, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
385// CHECK-ENCODING: [0x58,0x56,0xf4,0xc1]
386// CHECK-ERROR: instruction requires: sme2
387// CHECK-UNKNOWN: c1f45658 <unknown>
388
389udot    za.s[w8, 0, vgx2], {z12.h, z13.h}, {z2.h, z3.h}  // 11000001-11100010-00010101-10011000
390// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
391// CHECK-ENCODING: [0x98,0x15,0xe2,0xc1]
392// CHECK-ERROR: instruction requires: sme2
393// CHECK-UNKNOWN: c1e21598 <unknown>
394
395udot    za.s[w8, 0], {z12.h, z13.h}, {z2.h, z3.h}  // 11000001-11100010-00010101-10011000
396// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
397// CHECK-ENCODING: [0x98,0x15,0xe2,0xc1]
398// CHECK-ERROR: instruction requires: sme2
399// CHECK-UNKNOWN: c1e21598 <unknown>
400
401udot    za.s[w10, 1, vgx2], {z0.h, z1.h}, {z26.h, z27.h}  // 11000001-11111010-01010100-00011001
402// CHECK-INST: udot    za.s[w10, 1, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
403// CHECK-ENCODING: [0x19,0x54,0xfa,0xc1]
404// CHECK-ERROR: instruction requires: sme2
405// CHECK-UNKNOWN: c1fa5419 <unknown>
406
407udot    za.s[w10, 1], {z0.h, z1.h}, {z26.h, z27.h}  // 11000001-11111010-01010100-00011001
408// CHECK-INST: udot    za.s[w10, 1, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
409// CHECK-ENCODING: [0x19,0x54,0xfa,0xc1]
410// CHECK-ERROR: instruction requires: sme2
411// CHECK-UNKNOWN: c1fa5419 <unknown>
412
413udot    za.s[w8, 5, vgx2], {z22.h, z23.h}, {z30.h, z31.h}  // 11000001-11111110-00010110-11011101
414// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
415// CHECK-ENCODING: [0xdd,0x16,0xfe,0xc1]
416// CHECK-ERROR: instruction requires: sme2
417// CHECK-UNKNOWN: c1fe16dd <unknown>
418
419udot    za.s[w8, 5], {z22.h, z23.h}, {z30.h, z31.h}  // 11000001-11111110-00010110-11011101
420// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
421// CHECK-ENCODING: [0xdd,0x16,0xfe,0xc1]
422// CHECK-ERROR: instruction requires: sme2
423// CHECK-UNKNOWN: c1fe16dd <unknown>
424
425udot    za.s[w11, 2, vgx2], {z8.h, z9.h}, {z0.h, z1.h}  // 11000001-11100000-01110101-00011010
426// CHECK-INST: udot    za.s[w11, 2, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
427// CHECK-ENCODING: [0x1a,0x75,0xe0,0xc1]
428// CHECK-ERROR: instruction requires: sme2
429// CHECK-UNKNOWN: c1e0751a <unknown>
430
431udot    za.s[w11, 2], {z8.h, z9.h}, {z0.h, z1.h}  // 11000001-11100000-01110101-00011010
432// CHECK-INST: udot    za.s[w11, 2, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
433// CHECK-ENCODING: [0x1a,0x75,0xe0,0xc1]
434// CHECK-ERROR: instruction requires: sme2
435// CHECK-UNKNOWN: c1e0751a <unknown>
436
437udot    za.s[w9, 7, vgx2], {z12.h, z13.h}, {z10.h, z11.h}  // 11000001-11101010-00110101-10011111
438// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
439// CHECK-ENCODING: [0x9f,0x35,0xea,0xc1]
440// CHECK-ERROR: instruction requires: sme2
441// CHECK-UNKNOWN: c1ea359f <unknown>
442
443udot    za.s[w9, 7], {z12.h, z13.h}, {z10.h, z11.h}  // 11000001-11101010-00110101-10011111
444// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
445// CHECK-ENCODING: [0x9f,0x35,0xea,0xc1]
446// CHECK-ERROR: instruction requires: sme2
447// CHECK-UNKNOWN: c1ea359f <unknown>
448
449
450udot    za.s[w8, 0, vgx2], {z0.b, z1.b}, z0.b[0]  // 11000001-01010000-00010000-00110000
451// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0]
452// CHECK-ENCODING: [0x30,0x10,0x50,0xc1]
453// CHECK-ERROR: instruction requires: sme2
454// CHECK-UNKNOWN: c1501030 <unknown>
455
456udot    za.s[w8, 0], {z0.b, z1.b}, z0.b[0]  // 11000001-01010000-00010000-00110000
457// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0]
458// CHECK-ENCODING: [0x30,0x10,0x50,0xc1]
459// CHECK-ERROR: instruction requires: sme2
460// CHECK-UNKNOWN: c1501030 <unknown>
461
462udot    za.s[w10, 5, vgx2], {z10.b, z11.b}, z5.b[1]  // 11000001-01010101-01010101-01110101
463// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b[1]
464// CHECK-ENCODING: [0x75,0x55,0x55,0xc1]
465// CHECK-ERROR: instruction requires: sme2
466// CHECK-UNKNOWN: c1555575 <unknown>
467
468udot    za.s[w10, 5], {z10.b, z11.b}, z5.b[1]  // 11000001-01010101-01010101-01110101
469// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b[1]
470// CHECK-ENCODING: [0x75,0x55,0x55,0xc1]
471// CHECK-ERROR: instruction requires: sme2
472// CHECK-UNKNOWN: c1555575 <unknown>
473
474udot    za.s[w11, 7, vgx2], {z12.b, z13.b}, z8.b[3]  // 11000001-01011000-01111101-10110111
475// CHECK-INST: udot    za.s[w11, 7, vgx2], { z12.b, z13.b }, z8.b[3]
476// CHECK-ENCODING: [0xb7,0x7d,0x58,0xc1]
477// CHECK-ERROR: instruction requires: sme2
478// CHECK-UNKNOWN: c1587db7 <unknown>
479
480udot    za.s[w11, 7], {z12.b, z13.b}, z8.b[3]  // 11000001-01011000-01111101-10110111
481// CHECK-INST: udot    za.s[w11, 7, vgx2], { z12.b, z13.b }, z8.b[3]
482// CHECK-ENCODING: [0xb7,0x7d,0x58,0xc1]
483// CHECK-ERROR: instruction requires: sme2
484// CHECK-UNKNOWN: c1587db7 <unknown>
485
486udot    za.s[w11, 7, vgx2], {z30.b, z31.b}, z15.b[3]  // 11000001-01011111-01111111-11110111
487// CHECK-INST: udot    za.s[w11, 7, vgx2], { z30.b, z31.b }, z15.b[3]
488// CHECK-ENCODING: [0xf7,0x7f,0x5f,0xc1]
489// CHECK-ERROR: instruction requires: sme2
490// CHECK-UNKNOWN: c15f7ff7 <unknown>
491
492udot    za.s[w11, 7], {z30.b, z31.b}, z15.b[3]  // 11000001-01011111-01111111-11110111
493// CHECK-INST: udot    za.s[w11, 7, vgx2], { z30.b, z31.b }, z15.b[3]
494// CHECK-ENCODING: [0xf7,0x7f,0x5f,0xc1]
495// CHECK-ERROR: instruction requires: sme2
496// CHECK-UNKNOWN: c15f7ff7 <unknown>
497
498udot    za.s[w8, 5, vgx2], {z16.b, z17.b}, z0.b[3]  // 11000001-01010000-00011110-00110101
499// CHECK-INST: udot    za.s[w8, 5, vgx2], { z16.b, z17.b }, z0.b[3]
500// CHECK-ENCODING: [0x35,0x1e,0x50,0xc1]
501// CHECK-ERROR: instruction requires: sme2
502// CHECK-UNKNOWN: c1501e35 <unknown>
503
504udot    za.s[w8, 5], {z16.b, z17.b}, z0.b[3]  // 11000001-01010000-00011110-00110101
505// CHECK-INST: udot    za.s[w8, 5, vgx2], { z16.b, z17.b }, z0.b[3]
506// CHECK-ENCODING: [0x35,0x1e,0x50,0xc1]
507// CHECK-ERROR: instruction requires: sme2
508// CHECK-UNKNOWN: c1501e35 <unknown>
509
510udot    za.s[w8, 1, vgx2], {z0.b, z1.b}, z14.b[1]  // 11000001-01011110-00010100-00110001
511// CHECK-INST: udot    za.s[w8, 1, vgx2], { z0.b, z1.b }, z14.b[1]
512// CHECK-ENCODING: [0x31,0x14,0x5e,0xc1]
513// CHECK-ERROR: instruction requires: sme2
514// CHECK-UNKNOWN: c15e1431 <unknown>
515
516udot    za.s[w8, 1], {z0.b, z1.b}, z14.b[1]  // 11000001-01011110-00010100-00110001
517// CHECK-INST: udot    za.s[w8, 1, vgx2], { z0.b, z1.b }, z14.b[1]
518// CHECK-ENCODING: [0x31,0x14,0x5e,0xc1]
519// CHECK-ERROR: instruction requires: sme2
520// CHECK-UNKNOWN: c15e1431 <unknown>
521
522udot    za.s[w10, 0, vgx2], {z18.b, z19.b}, z4.b[1]  // 11000001-01010100-01010110-01110000
523// CHECK-INST: udot    za.s[w10, 0, vgx2], { z18.b, z19.b }, z4.b[1]
524// CHECK-ENCODING: [0x70,0x56,0x54,0xc1]
525// CHECK-ERROR: instruction requires: sme2
526// CHECK-UNKNOWN: c1545670 <unknown>
527
528udot    za.s[w10, 0], {z18.b, z19.b}, z4.b[1]  // 11000001-01010100-01010110-01110000
529// CHECK-INST: udot    za.s[w10, 0, vgx2], { z18.b, z19.b }, z4.b[1]
530// CHECK-ENCODING: [0x70,0x56,0x54,0xc1]
531// CHECK-ERROR: instruction requires: sme2
532// CHECK-UNKNOWN: c1545670 <unknown>
533
534udot    za.s[w8, 0, vgx2], {z12.b, z13.b}, z2.b[2]  // 11000001-01010010-00011001-10110000
535// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b[2]
536// CHECK-ENCODING: [0xb0,0x19,0x52,0xc1]
537// CHECK-ERROR: instruction requires: sme2
538// CHECK-UNKNOWN: c15219b0 <unknown>
539
540udot    za.s[w8, 0], {z12.b, z13.b}, z2.b[2]  // 11000001-01010010-00011001-10110000
541// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b[2]
542// CHECK-ENCODING: [0xb0,0x19,0x52,0xc1]
543// CHECK-ERROR: instruction requires: sme2
544// CHECK-UNKNOWN: c15219b0 <unknown>
545
546udot    za.s[w10, 1, vgx2], {z0.b, z1.b}, z10.b[2]  // 11000001-01011010-01011000-00110001
547// CHECK-INST: udot    za.s[w10, 1, vgx2], { z0.b, z1.b }, z10.b[2]
548// CHECK-ENCODING: [0x31,0x58,0x5a,0xc1]
549// CHECK-ERROR: instruction requires: sme2
550// CHECK-UNKNOWN: c15a5831 <unknown>
551
552udot    za.s[w10, 1], {z0.b, z1.b}, z10.b[2]  // 11000001-01011010-01011000-00110001
553// CHECK-INST: udot    za.s[w10, 1, vgx2], { z0.b, z1.b }, z10.b[2]
554// CHECK-ENCODING: [0x31,0x58,0x5a,0xc1]
555// CHECK-ERROR: instruction requires: sme2
556// CHECK-UNKNOWN: c15a5831 <unknown>
557
558udot    za.s[w8, 5, vgx2], {z22.b, z23.b}, z14.b[2]  // 11000001-01011110-00011010-11110101
559// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b[2]
560// CHECK-ENCODING: [0xf5,0x1a,0x5e,0xc1]
561// CHECK-ERROR: instruction requires: sme2
562// CHECK-UNKNOWN: c15e1af5 <unknown>
563
564udot    za.s[w8, 5], {z22.b, z23.b}, z14.b[2]  // 11000001-01011110-00011010-11110101
565// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b[2]
566// CHECK-ENCODING: [0xf5,0x1a,0x5e,0xc1]
567// CHECK-ERROR: instruction requires: sme2
568// CHECK-UNKNOWN: c15e1af5 <unknown>
569
570udot    za.s[w11, 2, vgx2], {z8.b, z9.b}, z1.b[1]  // 11000001-01010001-01110101-00110010
571// CHECK-INST: udot    za.s[w11, 2, vgx2], { z8.b, z9.b }, z1.b[1]
572// CHECK-ENCODING: [0x32,0x75,0x51,0xc1]
573// CHECK-ERROR: instruction requires: sme2
574// CHECK-UNKNOWN: c1517532 <unknown>
575
576udot    za.s[w11, 2], {z8.b, z9.b}, z1.b[1]  // 11000001-01010001-01110101-00110010
577// CHECK-INST: udot    za.s[w11, 2, vgx2], { z8.b, z9.b }, z1.b[1]
578// CHECK-ENCODING: [0x32,0x75,0x51,0xc1]
579// CHECK-ERROR: instruction requires: sme2
580// CHECK-UNKNOWN: c1517532 <unknown>
581
582udot    za.s[w9, 7, vgx2], {z12.b, z13.b}, z11.b[2]  // 11000001-01011011-00111001-10110111
583// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b[2]
584// CHECK-ENCODING: [0xb7,0x39,0x5b,0xc1]
585// CHECK-ERROR: instruction requires: sme2
586// CHECK-UNKNOWN: c15b39b7 <unknown>
587
588udot    za.s[w9, 7], {z12.b, z13.b}, z11.b[2]  // 11000001-01011011-00111001-10110111
589// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b[2]
590// CHECK-ENCODING: [0xb7,0x39,0x5b,0xc1]
591// CHECK-ERROR: instruction requires: sme2
592// CHECK-UNKNOWN: c15b39b7 <unknown>
593
594
595udot    za.d[w8, 0, vgx2], {z0.h, z1.h}, z0.h[0]  // 11000001-11010000-00000000-00011000
596// CHECK-INST: udot    za.d[w8, 0, vgx2], { z0.h, z1.h }, z0.h[0]
597// CHECK-ENCODING: [0x18,0x00,0xd0,0xc1]
598// CHECK-ERROR: instruction requires: sme2
599// CHECK-UNKNOWN: c1d00018 <unknown>
600
601udot    za.d[w8, 0], {z0.h, z1.h}, z0.h[0]  // 11000001-11010000-00000000-00011000
602// CHECK-INST: udot    za.d[w8, 0, vgx2], { z0.h, z1.h }, z0.h[0]
603// CHECK-ENCODING: [0x18,0x00,0xd0,0xc1]
604// CHECK-ERROR: instruction requires: sme2
605// CHECK-UNKNOWN: c1d00018 <unknown>
606
607udot    za.d[w10, 5, vgx2], {z10.h, z11.h}, z5.h[1]  // 11000001-11010101-01000101-01011101
608// CHECK-INST: udot    za.d[w10, 5, vgx2], { z10.h, z11.h }, z5.h[1]
609// CHECK-ENCODING: [0x5d,0x45,0xd5,0xc1]
610// CHECK-ERROR: instruction requires: sme2
611// CHECK-UNKNOWN: c1d5455d <unknown>
612
613udot    za.d[w10, 5], {z10.h, z11.h}, z5.h[1]  // 11000001-11010101-01000101-01011101
614// CHECK-INST: udot    za.d[w10, 5, vgx2], { z10.h, z11.h }, z5.h[1]
615// CHECK-ENCODING: [0x5d,0x45,0xd5,0xc1]
616// CHECK-ERROR: instruction requires: sme2
617// CHECK-UNKNOWN: c1d5455d <unknown>
618
619udot    za.d[w11, 7, vgx2], {z12.h, z13.h}, z8.h[1]  // 11000001-11011000-01100101-10011111
620// CHECK-INST: udot    za.d[w11, 7, vgx2], { z12.h, z13.h }, z8.h[1]
621// CHECK-ENCODING: [0x9f,0x65,0xd8,0xc1]
622// CHECK-ERROR: instruction requires: sme2
623// CHECK-UNKNOWN: c1d8659f <unknown>
624
625udot    za.d[w11, 7], {z12.h, z13.h}, z8.h[1]  // 11000001-11011000-01100101-10011111
626// CHECK-INST: udot    za.d[w11, 7, vgx2], { z12.h, z13.h }, z8.h[1]
627// CHECK-ENCODING: [0x9f,0x65,0xd8,0xc1]
628// CHECK-ERROR: instruction requires: sme2
629// CHECK-UNKNOWN: c1d8659f <unknown>
630
631udot    za.d[w11, 7, vgx2], {z30.h, z31.h}, z15.h[1]  // 11000001-11011111-01100111-11011111
632// CHECK-INST: udot    za.d[w11, 7, vgx2], { z30.h, z31.h }, z15.h[1]
633// CHECK-ENCODING: [0xdf,0x67,0xdf,0xc1]
634// CHECK-ERROR: instruction requires: sme2
635// CHECK-UNKNOWN: c1df67df <unknown>
636
637udot    za.d[w11, 7], {z30.h, z31.h}, z15.h[1]  // 11000001-11011111-01100111-11011111
638// CHECK-INST: udot    za.d[w11, 7, vgx2], { z30.h, z31.h }, z15.h[1]
639// CHECK-ENCODING: [0xdf,0x67,0xdf,0xc1]
640// CHECK-ERROR: instruction requires: sme2
641// CHECK-UNKNOWN: c1df67df <unknown>
642
643udot    za.d[w8, 5, vgx2], {z16.h, z17.h}, z0.h[1]  // 11000001-11010000-00000110-00011101
644// CHECK-INST: udot    za.d[w8, 5, vgx2], { z16.h, z17.h }, z0.h[1]
645// CHECK-ENCODING: [0x1d,0x06,0xd0,0xc1]
646// CHECK-ERROR: instruction requires: sme2
647// CHECK-UNKNOWN: c1d0061d <unknown>
648
649udot    za.d[w8, 5], {z16.h, z17.h}, z0.h[1]  // 11000001-11010000-00000110-00011101
650// CHECK-INST: udot    za.d[w8, 5, vgx2], { z16.h, z17.h }, z0.h[1]
651// CHECK-ENCODING: [0x1d,0x06,0xd0,0xc1]
652// CHECK-ERROR: instruction requires: sme2
653// CHECK-UNKNOWN: c1d0061d <unknown>
654
655udot    za.d[w8, 1, vgx2], {z0.h, z1.h}, z14.h[1]  // 11000001-11011110-00000100-00011001
656// CHECK-INST: udot    za.d[w8, 1, vgx2], { z0.h, z1.h }, z14.h[1]
657// CHECK-ENCODING: [0x19,0x04,0xde,0xc1]
658// CHECK-ERROR: instruction requires: sme2
659// CHECK-UNKNOWN: c1de0419 <unknown>
660
661udot    za.d[w8, 1], {z0.h, z1.h}, z14.h[1]  // 11000001-11011110-00000100-00011001
662// CHECK-INST: udot    za.d[w8, 1, vgx2], { z0.h, z1.h }, z14.h[1]
663// CHECK-ENCODING: [0x19,0x04,0xde,0xc1]
664// CHECK-ERROR: instruction requires: sme2
665// CHECK-UNKNOWN: c1de0419 <unknown>
666
667udot    za.d[w10, 0, vgx2], {z18.h, z19.h}, z4.h[1]  // 11000001-11010100-01000110-01011000
668// CHECK-INST: udot    za.d[w10, 0, vgx2], { z18.h, z19.h }, z4.h[1]
669// CHECK-ENCODING: [0x58,0x46,0xd4,0xc1]
670// CHECK-ERROR: instruction requires: sme2
671// CHECK-UNKNOWN: c1d44658 <unknown>
672
673udot    za.d[w10, 0], {z18.h, z19.h}, z4.h[1]  // 11000001-11010100-01000110-01011000
674// CHECK-INST: udot    za.d[w10, 0, vgx2], { z18.h, z19.h }, z4.h[1]
675// CHECK-ENCODING: [0x58,0x46,0xd4,0xc1]
676// CHECK-ERROR: instruction requires: sme2
677// CHECK-UNKNOWN: c1d44658 <unknown>
678
679udot    za.d[w8, 0, vgx2], {z12.h, z13.h}, z2.h[0]  // 11000001-11010010-00000001-10011000
680// CHECK-INST: udot    za.d[w8, 0, vgx2], { z12.h, z13.h }, z2.h[0]
681// CHECK-ENCODING: [0x98,0x01,0xd2,0xc1]
682// CHECK-ERROR: instruction requires: sme2
683// CHECK-UNKNOWN: c1d20198 <unknown>
684
685udot    za.d[w8, 0], {z12.h, z13.h}, z2.h[0]  // 11000001-11010010-00000001-10011000
686// CHECK-INST: udot    za.d[w8, 0, vgx2], { z12.h, z13.h }, z2.h[0]
687// CHECK-ENCODING: [0x98,0x01,0xd2,0xc1]
688// CHECK-ERROR: instruction requires: sme2
689// CHECK-UNKNOWN: c1d20198 <unknown>
690
691udot    za.d[w10, 1, vgx2], {z0.h, z1.h}, z10.h[0]  // 11000001-11011010-01000000-00011001
692// CHECK-INST: udot    za.d[w10, 1, vgx2], { z0.h, z1.h }, z10.h[0]
693// CHECK-ENCODING: [0x19,0x40,0xda,0xc1]
694// CHECK-ERROR: instruction requires: sme2
695// CHECK-UNKNOWN: c1da4019 <unknown>
696
697udot    za.d[w10, 1], {z0.h, z1.h}, z10.h[0]  // 11000001-11011010-01000000-00011001
698// CHECK-INST: udot    za.d[w10, 1, vgx2], { z0.h, z1.h }, z10.h[0]
699// CHECK-ENCODING: [0x19,0x40,0xda,0xc1]
700// CHECK-ERROR: instruction requires: sme2
701// CHECK-UNKNOWN: c1da4019 <unknown>
702
703udot    za.d[w8, 5, vgx2], {z22.h, z23.h}, z14.h[0]  // 11000001-11011110-00000010-11011101
704// CHECK-INST: udot    za.d[w8, 5, vgx2], { z22.h, z23.h }, z14.h[0]
705// CHECK-ENCODING: [0xdd,0x02,0xde,0xc1]
706// CHECK-ERROR: instruction requires: sme2
707// CHECK-UNKNOWN: c1de02dd <unknown>
708
709udot    za.d[w8, 5], {z22.h, z23.h}, z14.h[0]  // 11000001-11011110-00000010-11011101
710// CHECK-INST: udot    za.d[w8, 5, vgx2], { z22.h, z23.h }, z14.h[0]
711// CHECK-ENCODING: [0xdd,0x02,0xde,0xc1]
712// CHECK-ERROR: instruction requires: sme2
713// CHECK-UNKNOWN: c1de02dd <unknown>
714
715udot    za.d[w11, 2, vgx2], {z8.h, z9.h}, z1.h[1]  // 11000001-11010001-01100101-00011010
716// CHECK-INST: udot    za.d[w11, 2, vgx2], { z8.h, z9.h }, z1.h[1]
717// CHECK-ENCODING: [0x1a,0x65,0xd1,0xc1]
718// CHECK-ERROR: instruction requires: sme2
719// CHECK-UNKNOWN: c1d1651a <unknown>
720
721udot    za.d[w11, 2], {z8.h, z9.h}, z1.h[1]  // 11000001-11010001-01100101-00011010
722// CHECK-INST: udot    za.d[w11, 2, vgx2], { z8.h, z9.h }, z1.h[1]
723// CHECK-ENCODING: [0x1a,0x65,0xd1,0xc1]
724// CHECK-ERROR: instruction requires: sme2
725// CHECK-UNKNOWN: c1d1651a <unknown>
726
727udot    za.d[w9, 7, vgx2], {z12.h, z13.h}, z11.h[0]  // 11000001-11011011-00100001-10011111
728// CHECK-INST: udot    za.d[w9, 7, vgx2], { z12.h, z13.h }, z11.h[0]
729// CHECK-ENCODING: [0x9f,0x21,0xdb,0xc1]
730// CHECK-ERROR: instruction requires: sme2
731// CHECK-UNKNOWN: c1db219f <unknown>
732
733udot    za.d[w9, 7], {z12.h, z13.h}, z11.h[0]  // 11000001-11011011-00100001-10011111
734// CHECK-INST: udot    za.d[w9, 7, vgx2], { z12.h, z13.h }, z11.h[0]
735// CHECK-ENCODING: [0x9f,0x21,0xdb,0xc1]
736// CHECK-ERROR: instruction requires: sme2
737// CHECK-UNKNOWN: c1db219f <unknown>
738
739
740udot    za.s[w8, 0, vgx4], {z0.h - z3.h}, z0.h  // 11000001-01110000-00010100-00011000
741// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.h - z3.h }, z0.h
742// CHECK-ENCODING: [0x18,0x14,0x70,0xc1]
743// CHECK-ERROR: instruction requires: sme2
744// CHECK-UNKNOWN: c1701418 <unknown>
745
746udot    za.s[w8, 0], {z0.h - z3.h}, z0.h  // 11000001-01110000-00010100-00011000
747// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.h - z3.h }, z0.h
748// CHECK-ENCODING: [0x18,0x14,0x70,0xc1]
749// CHECK-ERROR: instruction requires: sme2
750// CHECK-UNKNOWN: c1701418 <unknown>
751
752udot    za.s[w10, 5, vgx4], {z10.h - z13.h}, z5.h  // 11000001-01110101-01010101-01011101
753// CHECK-INST: udot    za.s[w10, 5, vgx4], { z10.h - z13.h }, z5.h
754// CHECK-ENCODING: [0x5d,0x55,0x75,0xc1]
755// CHECK-ERROR: instruction requires: sme2
756// CHECK-UNKNOWN: c175555d <unknown>
757
758udot    za.s[w10, 5], {z10.h - z13.h}, z5.h  // 11000001-01110101-01010101-01011101
759// CHECK-INST: udot    za.s[w10, 5, vgx4], { z10.h - z13.h }, z5.h
760// CHECK-ENCODING: [0x5d,0x55,0x75,0xc1]
761// CHECK-ERROR: instruction requires: sme2
762// CHECK-UNKNOWN: c175555d <unknown>
763
764udot    za.s[w11, 7, vgx4], {z13.h - z16.h}, z8.h  // 11000001-01111000-01110101-10111111
765// CHECK-INST: udot    za.s[w11, 7, vgx4], { z13.h - z16.h }, z8.h
766// CHECK-ENCODING: [0xbf,0x75,0x78,0xc1]
767// CHECK-ERROR: instruction requires: sme2
768// CHECK-UNKNOWN: c17875bf <unknown>
769
770udot    za.s[w11, 7], {z13.h - z16.h}, z8.h  // 11000001-01111000-01110101-10111111
771// CHECK-INST: udot    za.s[w11, 7, vgx4], { z13.h - z16.h }, z8.h
772// CHECK-ENCODING: [0xbf,0x75,0x78,0xc1]
773// CHECK-ERROR: instruction requires: sme2
774// CHECK-UNKNOWN: c17875bf <unknown>
775
776udot    za.s[w11, 7, vgx4], {z31.h - z2.h}, z15.h  // 11000001-01111111-01110111-11111111
777// CHECK-INST: udot    za.s[w11, 7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
778// CHECK-ENCODING: [0xff,0x77,0x7f,0xc1]
779// CHECK-ERROR: instruction requires: sme2
780// CHECK-UNKNOWN: c17f77ff <unknown>
781
782udot    za.s[w11, 7], {z31.h - z2.h}, z15.h  // 11000001-01111111-01110111-11111111
783// CHECK-INST: udot    za.s[w11, 7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
784// CHECK-ENCODING: [0xff,0x77,0x7f,0xc1]
785// CHECK-ERROR: instruction requires: sme2
786// CHECK-UNKNOWN: c17f77ff <unknown>
787
788udot    za.s[w8, 5, vgx4], {z17.h - z20.h}, z0.h  // 11000001-01110000-00010110-00111101
789// CHECK-INST: udot    za.s[w8, 5, vgx4], { z17.h - z20.h }, z0.h
790// CHECK-ENCODING: [0x3d,0x16,0x70,0xc1]
791// CHECK-ERROR: instruction requires: sme2
792// CHECK-UNKNOWN: c170163d <unknown>
793
794udot    za.s[w8, 5], {z17.h - z20.h}, z0.h  // 11000001-01110000-00010110-00111101
795// CHECK-INST: udot    za.s[w8, 5, vgx4], { z17.h - z20.h }, z0.h
796// CHECK-ENCODING: [0x3d,0x16,0x70,0xc1]
797// CHECK-ERROR: instruction requires: sme2
798// CHECK-UNKNOWN: c170163d <unknown>
799
800udot    za.s[w8, 1, vgx4], {z1.h - z4.h}, z14.h  // 11000001-01111110-00010100-00111001
801// CHECK-INST: udot    za.s[w8, 1, vgx4], { z1.h - z4.h }, z14.h
802// CHECK-ENCODING: [0x39,0x14,0x7e,0xc1]
803// CHECK-ERROR: instruction requires: sme2
804// CHECK-UNKNOWN: c17e1439 <unknown>
805
806udot    za.s[w8, 1], {z1.h - z4.h}, z14.h  // 11000001-01111110-00010100-00111001
807// CHECK-INST: udot    za.s[w8, 1, vgx4], { z1.h - z4.h }, z14.h
808// CHECK-ENCODING: [0x39,0x14,0x7e,0xc1]
809// CHECK-ERROR: instruction requires: sme2
810// CHECK-UNKNOWN: c17e1439 <unknown>
811
812udot    za.s[w10, 0, vgx4], {z19.h - z22.h}, z4.h  // 11000001-01110100-01010110-01111000
813// CHECK-INST: udot    za.s[w10, 0, vgx4], { z19.h - z22.h }, z4.h
814// CHECK-ENCODING: [0x78,0x56,0x74,0xc1]
815// CHECK-ERROR: instruction requires: sme2
816// CHECK-UNKNOWN: c1745678 <unknown>
817
818udot    za.s[w10, 0], {z19.h - z22.h}, z4.h  // 11000001-01110100-01010110-01111000
819// CHECK-INST: udot    za.s[w10, 0, vgx4], { z19.h - z22.h }, z4.h
820// CHECK-ENCODING: [0x78,0x56,0x74,0xc1]
821// CHECK-ERROR: instruction requires: sme2
822// CHECK-UNKNOWN: c1745678 <unknown>
823
824udot    za.s[w8, 0, vgx4], {z12.h - z15.h}, z2.h  // 11000001-01110010-00010101-10011000
825// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.h - z15.h }, z2.h
826// CHECK-ENCODING: [0x98,0x15,0x72,0xc1]
827// CHECK-ERROR: instruction requires: sme2
828// CHECK-UNKNOWN: c1721598 <unknown>
829
830udot    za.s[w8, 0], {z12.h - z15.h}, z2.h  // 11000001-01110010-00010101-10011000
831// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.h - z15.h }, z2.h
832// CHECK-ENCODING: [0x98,0x15,0x72,0xc1]
833// CHECK-ERROR: instruction requires: sme2
834// CHECK-UNKNOWN: c1721598 <unknown>
835
836udot    za.s[w10, 1, vgx4], {z1.h - z4.h}, z10.h  // 11000001-01111010-01010100-00111001
837// CHECK-INST: udot    za.s[w10, 1, vgx4], { z1.h - z4.h }, z10.h
838// CHECK-ENCODING: [0x39,0x54,0x7a,0xc1]
839// CHECK-ERROR: instruction requires: sme2
840// CHECK-UNKNOWN: c17a5439 <unknown>
841
842udot    za.s[w10, 1], {z1.h - z4.h}, z10.h  // 11000001-01111010-01010100-00111001
843// CHECK-INST: udot    za.s[w10, 1, vgx4], { z1.h - z4.h }, z10.h
844// CHECK-ENCODING: [0x39,0x54,0x7a,0xc1]
845// CHECK-ERROR: instruction requires: sme2
846// CHECK-UNKNOWN: c17a5439 <unknown>
847
848udot    za.s[w8, 5, vgx4], {z22.h - z25.h}, z14.h  // 11000001-01111110-00010110-11011101
849// CHECK-INST: udot    za.s[w8, 5, vgx4], { z22.h - z25.h }, z14.h
850// CHECK-ENCODING: [0xdd,0x16,0x7e,0xc1]
851// CHECK-ERROR: instruction requires: sme2
852// CHECK-UNKNOWN: c17e16dd <unknown>
853
854udot    za.s[w8, 5], {z22.h - z25.h}, z14.h  // 11000001-01111110-00010110-11011101
855// CHECK-INST: udot    za.s[w8, 5, vgx4], { z22.h - z25.h }, z14.h
856// CHECK-ENCODING: [0xdd,0x16,0x7e,0xc1]
857// CHECK-ERROR: instruction requires: sme2
858// CHECK-UNKNOWN: c17e16dd <unknown>
859
860udot    za.s[w11, 2, vgx4], {z9.h - z12.h}, z1.h  // 11000001-01110001-01110101-00111010
861// CHECK-INST: udot    za.s[w11, 2, vgx4], { z9.h - z12.h }, z1.h
862// CHECK-ENCODING: [0x3a,0x75,0x71,0xc1]
863// CHECK-ERROR: instruction requires: sme2
864// CHECK-UNKNOWN: c171753a <unknown>
865
866udot    za.s[w11, 2], {z9.h - z12.h}, z1.h  // 11000001-01110001-01110101-00111010
867// CHECK-INST: udot    za.s[w11, 2, vgx4], { z9.h - z12.h }, z1.h
868// CHECK-ENCODING: [0x3a,0x75,0x71,0xc1]
869// CHECK-ERROR: instruction requires: sme2
870// CHECK-UNKNOWN: c171753a <unknown>
871
872udot    za.s[w9, 7, vgx4], {z12.h - z15.h}, z11.h  // 11000001-01111011-00110101-10011111
873// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.h - z15.h }, z11.h
874// CHECK-ENCODING: [0x9f,0x35,0x7b,0xc1]
875// CHECK-ERROR: instruction requires: sme2
876// CHECK-UNKNOWN: c17b359f <unknown>
877
878udot    za.s[w9, 7], {z12.h - z15.h}, z11.h  // 11000001-01111011-00110101-10011111
879// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.h - z15.h }, z11.h
880// CHECK-ENCODING: [0x9f,0x35,0x7b,0xc1]
881// CHECK-ERROR: instruction requires: sme2
882// CHECK-UNKNOWN: c17b359f <unknown>
883
884
885udot    za.s[w8, 0, vgx4], {z0.h - z3.h}, z0.h[0]  // 11000001-01010000-10010000-00010000
886// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0]
887// CHECK-ENCODING: [0x10,0x90,0x50,0xc1]
888// CHECK-ERROR: instruction requires: sme2
889// CHECK-UNKNOWN: c1509010 <unknown>
890
891udot    za.s[w8, 0], {z0.h - z3.h}, z0.h[0]  // 11000001-01010000-10010000-00010000
892// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0]
893// CHECK-ENCODING: [0x10,0x90,0x50,0xc1]
894// CHECK-ERROR: instruction requires: sme2
895// CHECK-UNKNOWN: c1509010 <unknown>
896
897udot    za.s[w10, 5, vgx4], {z8.h - z11.h}, z5.h[1]  // 11000001-01010101-11010101-00010101
898// CHECK-INST: udot    za.s[w10, 5, vgx4], { z8.h - z11.h }, z5.h[1]
899// CHECK-ENCODING: [0x15,0xd5,0x55,0xc1]
900// CHECK-ERROR: instruction requires: sme2
901// CHECK-UNKNOWN: c155d515 <unknown>
902
903udot    za.s[w10, 5], {z8.h - z11.h}, z5.h[1]  // 11000001-01010101-11010101-00010101
904// CHECK-INST: udot    za.s[w10, 5, vgx4], { z8.h - z11.h }, z5.h[1]
905// CHECK-ENCODING: [0x15,0xd5,0x55,0xc1]
906// CHECK-ERROR: instruction requires: sme2
907// CHECK-UNKNOWN: c155d515 <unknown>
908
909udot    za.s[w11, 7, vgx4], {z12.h - z15.h}, z8.h[3]  // 11000001-01011000-11111101-10010111
910// CHECK-INST: udot    za.s[w11, 7, vgx4], { z12.h - z15.h }, z8.h[3]
911// CHECK-ENCODING: [0x97,0xfd,0x58,0xc1]
912// CHECK-ERROR: instruction requires: sme2
913// CHECK-UNKNOWN: c158fd97 <unknown>
914
915udot    za.s[w11, 7], {z12.h - z15.h}, z8.h[3]  // 11000001-01011000-11111101-10010111
916// CHECK-INST: udot    za.s[w11, 7, vgx4], { z12.h - z15.h }, z8.h[3]
917// CHECK-ENCODING: [0x97,0xfd,0x58,0xc1]
918// CHECK-ERROR: instruction requires: sme2
919// CHECK-UNKNOWN: c158fd97 <unknown>
920
921udot    za.s[w11, 7, vgx4], {z28.h - z31.h}, z15.h[3]  // 11000001-01011111-11111111-10010111
922// CHECK-INST: udot    za.s[w11, 7, vgx4], { z28.h - z31.h }, z15.h[3]
923// CHECK-ENCODING: [0x97,0xff,0x5f,0xc1]
924// CHECK-ERROR: instruction requires: sme2
925// CHECK-UNKNOWN: c15fff97 <unknown>
926
927udot    za.s[w11, 7], {z28.h - z31.h}, z15.h[3]  // 11000001-01011111-11111111-10010111
928// CHECK-INST: udot    za.s[w11, 7, vgx4], { z28.h - z31.h }, z15.h[3]
929// CHECK-ENCODING: [0x97,0xff,0x5f,0xc1]
930// CHECK-ERROR: instruction requires: sme2
931// CHECK-UNKNOWN: c15fff97 <unknown>
932
933udot    za.s[w8, 5, vgx4], {z16.h - z19.h}, z0.h[3]  // 11000001-01010000-10011110-00010101
934// CHECK-INST: udot    za.s[w8, 5, vgx4], { z16.h - z19.h }, z0.h[3]
935// CHECK-ENCODING: [0x15,0x9e,0x50,0xc1]
936// CHECK-ERROR: instruction requires: sme2
937// CHECK-UNKNOWN: c1509e15 <unknown>
938
939udot    za.s[w8, 5], {z16.h - z19.h}, z0.h[3]  // 11000001-01010000-10011110-00010101
940// CHECK-INST: udot    za.s[w8, 5, vgx4], { z16.h - z19.h }, z0.h[3]
941// CHECK-ENCODING: [0x15,0x9e,0x50,0xc1]
942// CHECK-ERROR: instruction requires: sme2
943// CHECK-UNKNOWN: c1509e15 <unknown>
944
945udot    za.s[w8, 1, vgx4], {z0.h - z3.h}, z14.h[1]  // 11000001-01011110-10010100-00010001
946// CHECK-INST: udot    za.s[w8, 1, vgx4], { z0.h - z3.h }, z14.h[1]
947// CHECK-ENCODING: [0x11,0x94,0x5e,0xc1]
948// CHECK-ERROR: instruction requires: sme2
949// CHECK-UNKNOWN: c15e9411 <unknown>
950
951udot    za.s[w8, 1], {z0.h - z3.h}, z14.h[1]  // 11000001-01011110-10010100-00010001
952// CHECK-INST: udot    za.s[w8, 1, vgx4], { z0.h - z3.h }, z14.h[1]
953// CHECK-ENCODING: [0x11,0x94,0x5e,0xc1]
954// CHECK-ERROR: instruction requires: sme2
955// CHECK-UNKNOWN: c15e9411 <unknown>
956
957udot    za.s[w10, 0, vgx4], {z16.h - z19.h}, z4.h[1]  // 11000001-01010100-11010110-00010000
958// CHECK-INST: udot    za.s[w10, 0, vgx4], { z16.h - z19.h }, z4.h[1]
959// CHECK-ENCODING: [0x10,0xd6,0x54,0xc1]
960// CHECK-ERROR: instruction requires: sme2
961// CHECK-UNKNOWN: c154d610 <unknown>
962
963udot    za.s[w10, 0], {z16.h - z19.h}, z4.h[1]  // 11000001-01010100-11010110-00010000
964// CHECK-INST: udot    za.s[w10, 0, vgx4], { z16.h - z19.h }, z4.h[1]
965// CHECK-ENCODING: [0x10,0xd6,0x54,0xc1]
966// CHECK-ERROR: instruction requires: sme2
967// CHECK-UNKNOWN: c154d610 <unknown>
968
969udot    za.s[w8, 0, vgx4], {z12.h - z15.h}, z2.h[2]  // 11000001-01010010-10011001-10010000
970// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.h - z15.h }, z2.h[2]
971// CHECK-ENCODING: [0x90,0x99,0x52,0xc1]
972// CHECK-ERROR: instruction requires: sme2
973// CHECK-UNKNOWN: c1529990 <unknown>
974
975udot    za.s[w8, 0], {z12.h - z15.h}, z2.h[2]  // 11000001-01010010-10011001-10010000
976// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.h - z15.h }, z2.h[2]
977// CHECK-ENCODING: [0x90,0x99,0x52,0xc1]
978// CHECK-ERROR: instruction requires: sme2
979// CHECK-UNKNOWN: c1529990 <unknown>
980
981udot    za.s[w10, 1, vgx4], {z0.h - z3.h}, z10.h[2]  // 11000001-01011010-11011000-00010001
982// CHECK-INST: udot    za.s[w10, 1, vgx4], { z0.h - z3.h }, z10.h[2]
983// CHECK-ENCODING: [0x11,0xd8,0x5a,0xc1]
984// CHECK-ERROR: instruction requires: sme2
985// CHECK-UNKNOWN: c15ad811 <unknown>
986
987udot    za.s[w10, 1], {z0.h - z3.h}, z10.h[2]  // 11000001-01011010-11011000-00010001
988// CHECK-INST: udot    za.s[w10, 1, vgx4], { z0.h - z3.h }, z10.h[2]
989// CHECK-ENCODING: [0x11,0xd8,0x5a,0xc1]
990// CHECK-ERROR: instruction requires: sme2
991// CHECK-UNKNOWN: c15ad811 <unknown>
992
993udot    za.s[w8, 5, vgx4], {z20.h - z23.h}, z14.h[2]  // 11000001-01011110-10011010-10010101
994// CHECK-INST: udot    za.s[w8, 5, vgx4], { z20.h - z23.h }, z14.h[2]
995// CHECK-ENCODING: [0x95,0x9a,0x5e,0xc1]
996// CHECK-ERROR: instruction requires: sme2
997// CHECK-UNKNOWN: c15e9a95 <unknown>
998
999udot    za.s[w8, 5], {z20.h - z23.h}, z14.h[2]  // 11000001-01011110-10011010-10010101
1000// CHECK-INST: udot    za.s[w8, 5, vgx4], { z20.h - z23.h }, z14.h[2]
1001// CHECK-ENCODING: [0x95,0x9a,0x5e,0xc1]
1002// CHECK-ERROR: instruction requires: sme2
1003// CHECK-UNKNOWN: c15e9a95 <unknown>
1004
1005udot    za.s[w11, 2, vgx4], {z8.h - z11.h}, z1.h[1]  // 11000001-01010001-11110101-00010010
1006// CHECK-INST: udot    za.s[w11, 2, vgx4], { z8.h - z11.h }, z1.h[1]
1007// CHECK-ENCODING: [0x12,0xf5,0x51,0xc1]
1008// CHECK-ERROR: instruction requires: sme2
1009// CHECK-UNKNOWN: c151f512 <unknown>
1010
1011udot    za.s[w11, 2], {z8.h - z11.h}, z1.h[1]  // 11000001-01010001-11110101-00010010
1012// CHECK-INST: udot    za.s[w11, 2, vgx4], { z8.h - z11.h }, z1.h[1]
1013// CHECK-ENCODING: [0x12,0xf5,0x51,0xc1]
1014// CHECK-ERROR: instruction requires: sme2
1015// CHECK-UNKNOWN: c151f512 <unknown>
1016
1017udot    za.s[w9, 7, vgx4], {z12.h - z15.h}, z11.h[2]  // 11000001-01011011-10111001-10010111
1018// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.h - z15.h }, z11.h[2]
1019// CHECK-ENCODING: [0x97,0xb9,0x5b,0xc1]
1020// CHECK-ERROR: instruction requires: sme2
1021// CHECK-UNKNOWN: c15bb997 <unknown>
1022
1023udot    za.s[w9, 7], {z12.h - z15.h}, z11.h[2]  // 11000001-01011011-10111001-10010111
1024// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.h - z15.h }, z11.h[2]
1025// CHECK-ENCODING: [0x97,0xb9,0x5b,0xc1]
1026// CHECK-ERROR: instruction requires: sme2
1027// CHECK-UNKNOWN: c15bb997 <unknown>
1028
1029
1030udot    za.s[w8, 0, vgx4], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-11100001-00010100-00011000
1031// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
1032// CHECK-ENCODING: [0x18,0x14,0xe1,0xc1]
1033// CHECK-ERROR: instruction requires: sme2
1034// CHECK-UNKNOWN: c1e11418 <unknown>
1035
1036udot    za.s[w8, 0], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-11100001-00010100-00011000
1037// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
1038// CHECK-ENCODING: [0x18,0x14,0xe1,0xc1]
1039// CHECK-ERROR: instruction requires: sme2
1040// CHECK-UNKNOWN: c1e11418 <unknown>
1041
1042udot    za.s[w10, 5, vgx4], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-11110101-01010101-00011101
1043// CHECK-INST: udot    za.s[w10, 5, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
1044// CHECK-ENCODING: [0x1d,0x55,0xf5,0xc1]
1045// CHECK-ERROR: instruction requires: sme2
1046// CHECK-UNKNOWN: c1f5551d <unknown>
1047
1048udot    za.s[w10, 5], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-11110101-01010101-00011101
1049// CHECK-INST: udot    za.s[w10, 5, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
1050// CHECK-ENCODING: [0x1d,0x55,0xf5,0xc1]
1051// CHECK-ERROR: instruction requires: sme2
1052// CHECK-UNKNOWN: c1f5551d <unknown>
1053
1054udot    za.s[w11, 7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-01110101-10011111
1055// CHECK-INST: udot    za.s[w11, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
1056// CHECK-ENCODING: [0x9f,0x75,0xe9,0xc1]
1057// CHECK-ERROR: instruction requires: sme2
1058// CHECK-UNKNOWN: c1e9759f <unknown>
1059
1060udot    za.s[w11, 7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-01110101-10011111
1061// CHECK-INST: udot    za.s[w11, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
1062// CHECK-ENCODING: [0x9f,0x75,0xe9,0xc1]
1063// CHECK-ERROR: instruction requires: sme2
1064// CHECK-UNKNOWN: c1e9759f <unknown>
1065
1066udot    za.s[w11, 7, vgx4], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-11111101-01110111-10011111
1067// CHECK-INST: udot    za.s[w11, 7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
1068// CHECK-ENCODING: [0x9f,0x77,0xfd,0xc1]
1069// CHECK-ERROR: instruction requires: sme2
1070// CHECK-UNKNOWN: c1fd779f <unknown>
1071
1072udot    za.s[w11, 7], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-11111101-01110111-10011111
1073// CHECK-INST: udot    za.s[w11, 7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
1074// CHECK-ENCODING: [0x9f,0x77,0xfd,0xc1]
1075// CHECK-ERROR: instruction requires: sme2
1076// CHECK-UNKNOWN: c1fd779f <unknown>
1077
1078udot    za.s[w8, 5, vgx4], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-11110001-00010110-00011101
1079// CHECK-INST: udot    za.s[w8, 5, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
1080// CHECK-ENCODING: [0x1d,0x16,0xf1,0xc1]
1081// CHECK-ERROR: instruction requires: sme2
1082// CHECK-UNKNOWN: c1f1161d <unknown>
1083
1084udot    za.s[w8, 5], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-11110001-00010110-00011101
1085// CHECK-INST: udot    za.s[w8, 5, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
1086// CHECK-ENCODING: [0x1d,0x16,0xf1,0xc1]
1087// CHECK-ERROR: instruction requires: sme2
1088// CHECK-UNKNOWN: c1f1161d <unknown>
1089
1090udot    za.s[w8, 1, vgx4], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-11111101-00010100-00011001
1091// CHECK-INST: udot    za.s[w8, 1, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
1092// CHECK-ENCODING: [0x19,0x14,0xfd,0xc1]
1093// CHECK-ERROR: instruction requires: sme2
1094// CHECK-UNKNOWN: c1fd1419 <unknown>
1095
1096udot    za.s[w8, 1], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-11111101-00010100-00011001
1097// CHECK-INST: udot    za.s[w8, 1, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
1098// CHECK-ENCODING: [0x19,0x14,0xfd,0xc1]
1099// CHECK-ERROR: instruction requires: sme2
1100// CHECK-UNKNOWN: c1fd1419 <unknown>
1101
1102udot    za.s[w10, 0, vgx4], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-11110101-01010110-00011000
1103// CHECK-INST: udot    za.s[w10, 0, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
1104// CHECK-ENCODING: [0x18,0x56,0xf5,0xc1]
1105// CHECK-ERROR: instruction requires: sme2
1106// CHECK-UNKNOWN: c1f55618 <unknown>
1107
1108udot    za.s[w10, 0], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-11110101-01010110-00011000
1109// CHECK-INST: udot    za.s[w10, 0, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
1110// CHECK-ENCODING: [0x18,0x56,0xf5,0xc1]
1111// CHECK-ERROR: instruction requires: sme2
1112// CHECK-UNKNOWN: c1f55618 <unknown>
1113
1114udot    za.s[w8, 0, vgx4], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-11100001-00010101-10011000
1115// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
1116// CHECK-ENCODING: [0x98,0x15,0xe1,0xc1]
1117// CHECK-ERROR: instruction requires: sme2
1118// CHECK-UNKNOWN: c1e11598 <unknown>
1119
1120udot    za.s[w8, 0], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-11100001-00010101-10011000
1121// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
1122// CHECK-ENCODING: [0x98,0x15,0xe1,0xc1]
1123// CHECK-ERROR: instruction requires: sme2
1124// CHECK-UNKNOWN: c1e11598 <unknown>
1125
1126udot    za.s[w10, 1, vgx4], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-11111001-01010100-00011001
1127// CHECK-INST: udot    za.s[w10, 1, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
1128// CHECK-ENCODING: [0x19,0x54,0xf9,0xc1]
1129// CHECK-ERROR: instruction requires: sme2
1130// CHECK-UNKNOWN: c1f95419 <unknown>
1131
1132udot    za.s[w10, 1], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-11111001-01010100-00011001
1133// CHECK-INST: udot    za.s[w10, 1, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
1134// CHECK-ENCODING: [0x19,0x54,0xf9,0xc1]
1135// CHECK-ERROR: instruction requires: sme2
1136// CHECK-UNKNOWN: c1f95419 <unknown>
1137
1138udot    za.s[w8, 5, vgx4], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-11111101-00010110-10011101
1139// CHECK-INST: udot    za.s[w8, 5, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
1140// CHECK-ENCODING: [0x9d,0x16,0xfd,0xc1]
1141// CHECK-ERROR: instruction requires: sme2
1142// CHECK-UNKNOWN: c1fd169d <unknown>
1143
1144udot    za.s[w8, 5], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-11111101-00010110-10011101
1145// CHECK-INST: udot    za.s[w8, 5, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
1146// CHECK-ENCODING: [0x9d,0x16,0xfd,0xc1]
1147// CHECK-ERROR: instruction requires: sme2
1148// CHECK-UNKNOWN: c1fd169d <unknown>
1149
1150udot    za.s[w11, 2, vgx4], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-11100001-01110101-00011010
1151// CHECK-INST: udot    za.s[w11, 2, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
1152// CHECK-ENCODING: [0x1a,0x75,0xe1,0xc1]
1153// CHECK-ERROR: instruction requires: sme2
1154// CHECK-UNKNOWN: c1e1751a <unknown>
1155
1156udot    za.s[w11, 2], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-11100001-01110101-00011010
1157// CHECK-INST: udot    za.s[w11, 2, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
1158// CHECK-ENCODING: [0x1a,0x75,0xe1,0xc1]
1159// CHECK-ERROR: instruction requires: sme2
1160// CHECK-UNKNOWN: c1e1751a <unknown>
1161
1162udot    za.s[w9, 7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-00110101-10011111
1163// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
1164// CHECK-ENCODING: [0x9f,0x35,0xe9,0xc1]
1165// CHECK-ERROR: instruction requires: sme2
1166// CHECK-UNKNOWN: c1e9359f <unknown>
1167
1168udot    za.s[w9, 7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-00110101-10011111
1169// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
1170// CHECK-ENCODING: [0x9f,0x35,0xe9,0xc1]
1171// CHECK-ERROR: instruction requires: sme2
1172// CHECK-UNKNOWN: c1e9359f <unknown>
1173
1174
1175udot    za.s[w8, 0, vgx4], {z0.b - z3.b}, z0.b[0]  // 11000001-01010000-10010000-00110000
1176// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0]
1177// CHECK-ENCODING: [0x30,0x90,0x50,0xc1]
1178// CHECK-ERROR: instruction requires: sme2
1179// CHECK-UNKNOWN: c1509030 <unknown>
1180
1181udot    za.s[w8, 0], {z0.b - z3.b}, z0.b[0]  // 11000001-01010000-10010000-00110000
1182// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0]
1183// CHECK-ENCODING: [0x30,0x90,0x50,0xc1]
1184// CHECK-ERROR: instruction requires: sme2
1185// CHECK-UNKNOWN: c1509030 <unknown>
1186
1187udot    za.s[w10, 5, vgx4], {z8.b - z11.b}, z5.b[1]  // 11000001-01010101-11010101-00110101
1188// CHECK-INST: udot    za.s[w10, 5, vgx4], { z8.b - z11.b }, z5.b[1]
1189// CHECK-ENCODING: [0x35,0xd5,0x55,0xc1]
1190// CHECK-ERROR: instruction requires: sme2
1191// CHECK-UNKNOWN: c155d535 <unknown>
1192
1193udot    za.s[w10, 5], {z8.b - z11.b}, z5.b[1]  // 11000001-01010101-11010101-00110101
1194// CHECK-INST: udot    za.s[w10, 5, vgx4], { z8.b - z11.b }, z5.b[1]
1195// CHECK-ENCODING: [0x35,0xd5,0x55,0xc1]
1196// CHECK-ERROR: instruction requires: sme2
1197// CHECK-UNKNOWN: c155d535 <unknown>
1198
1199udot    za.s[w11, 7, vgx4], {z12.b - z15.b}, z8.b[3]  // 11000001-01011000-11111101-10110111
1200// CHECK-INST: udot    za.s[w11, 7, vgx4], { z12.b - z15.b }, z8.b[3]
1201// CHECK-ENCODING: [0xb7,0xfd,0x58,0xc1]
1202// CHECK-ERROR: instruction requires: sme2
1203// CHECK-UNKNOWN: c158fdb7 <unknown>
1204
1205udot    za.s[w11, 7], {z12.b - z15.b}, z8.b[3]  // 11000001-01011000-11111101-10110111
1206// CHECK-INST: udot    za.s[w11, 7, vgx4], { z12.b - z15.b }, z8.b[3]
1207// CHECK-ENCODING: [0xb7,0xfd,0x58,0xc1]
1208// CHECK-ERROR: instruction requires: sme2
1209// CHECK-UNKNOWN: c158fdb7 <unknown>
1210
1211udot    za.s[w11, 7, vgx4], {z28.b - z31.b}, z15.b[3]  // 11000001-01011111-11111111-10110111
1212// CHECK-INST: udot    za.s[w11, 7, vgx4], { z28.b - z31.b }, z15.b[3]
1213// CHECK-ENCODING: [0xb7,0xff,0x5f,0xc1]
1214// CHECK-ERROR: instruction requires: sme2
1215// CHECK-UNKNOWN: c15fffb7 <unknown>
1216
1217udot    za.s[w11, 7], {z28.b - z31.b}, z15.b[3]  // 11000001-01011111-11111111-10110111
1218// CHECK-INST: udot    za.s[w11, 7, vgx4], { z28.b - z31.b }, z15.b[3]
1219// CHECK-ENCODING: [0xb7,0xff,0x5f,0xc1]
1220// CHECK-ERROR: instruction requires: sme2
1221// CHECK-UNKNOWN: c15fffb7 <unknown>
1222
1223udot    za.s[w8, 5, vgx4], {z16.b - z19.b}, z0.b[3]  // 11000001-01010000-10011110-00110101
1224// CHECK-INST: udot    za.s[w8, 5, vgx4], { z16.b - z19.b }, z0.b[3]
1225// CHECK-ENCODING: [0x35,0x9e,0x50,0xc1]
1226// CHECK-ERROR: instruction requires: sme2
1227// CHECK-UNKNOWN: c1509e35 <unknown>
1228
1229udot    za.s[w8, 5], {z16.b - z19.b}, z0.b[3]  // 11000001-01010000-10011110-00110101
1230// CHECK-INST: udot    za.s[w8, 5, vgx4], { z16.b - z19.b }, z0.b[3]
1231// CHECK-ENCODING: [0x35,0x9e,0x50,0xc1]
1232// CHECK-ERROR: instruction requires: sme2
1233// CHECK-UNKNOWN: c1509e35 <unknown>
1234
1235udot    za.s[w8, 1, vgx4], {z0.b - z3.b}, z14.b[1]  // 11000001-01011110-10010100-00110001
1236// CHECK-INST: udot    za.s[w8, 1, vgx4], { z0.b - z3.b }, z14.b[1]
1237// CHECK-ENCODING: [0x31,0x94,0x5e,0xc1]
1238// CHECK-ERROR: instruction requires: sme2
1239// CHECK-UNKNOWN: c15e9431 <unknown>
1240
1241udot    za.s[w8, 1], {z0.b - z3.b}, z14.b[1]  // 11000001-01011110-10010100-00110001
1242// CHECK-INST: udot    za.s[w8, 1, vgx4], { z0.b - z3.b }, z14.b[1]
1243// CHECK-ENCODING: [0x31,0x94,0x5e,0xc1]
1244// CHECK-ERROR: instruction requires: sme2
1245// CHECK-UNKNOWN: c15e9431 <unknown>
1246
1247udot    za.s[w10, 0, vgx4], {z16.b - z19.b}, z4.b[1]  // 11000001-01010100-11010110-00110000
1248// CHECK-INST: udot    za.s[w10, 0, vgx4], { z16.b - z19.b }, z4.b[1]
1249// CHECK-ENCODING: [0x30,0xd6,0x54,0xc1]
1250// CHECK-ERROR: instruction requires: sme2
1251// CHECK-UNKNOWN: c154d630 <unknown>
1252
1253udot    za.s[w10, 0], {z16.b - z19.b}, z4.b[1]  // 11000001-01010100-11010110-00110000
1254// CHECK-INST: udot    za.s[w10, 0, vgx4], { z16.b - z19.b }, z4.b[1]
1255// CHECK-ENCODING: [0x30,0xd6,0x54,0xc1]
1256// CHECK-ERROR: instruction requires: sme2
1257// CHECK-UNKNOWN: c154d630 <unknown>
1258
1259udot    za.s[w8, 0, vgx4], {z12.b - z15.b}, z2.b[2]  // 11000001-01010010-10011001-10110000
1260// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b[2]
1261// CHECK-ENCODING: [0xb0,0x99,0x52,0xc1]
1262// CHECK-ERROR: instruction requires: sme2
1263// CHECK-UNKNOWN: c15299b0 <unknown>
1264
1265udot    za.s[w8, 0], {z12.b - z15.b}, z2.b[2]  // 11000001-01010010-10011001-10110000
1266// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b[2]
1267// CHECK-ENCODING: [0xb0,0x99,0x52,0xc1]
1268// CHECK-ERROR: instruction requires: sme2
1269// CHECK-UNKNOWN: c15299b0 <unknown>
1270
1271udot    za.s[w10, 1, vgx4], {z0.b - z3.b}, z10.b[2]  // 11000001-01011010-11011000-00110001
1272// CHECK-INST: udot    za.s[w10, 1, vgx4], { z0.b - z3.b }, z10.b[2]
1273// CHECK-ENCODING: [0x31,0xd8,0x5a,0xc1]
1274// CHECK-ERROR: instruction requires: sme2
1275// CHECK-UNKNOWN: c15ad831 <unknown>
1276
1277udot    za.s[w10, 1], {z0.b - z3.b}, z10.b[2]  // 11000001-01011010-11011000-00110001
1278// CHECK-INST: udot    za.s[w10, 1, vgx4], { z0.b - z3.b }, z10.b[2]
1279// CHECK-ENCODING: [0x31,0xd8,0x5a,0xc1]
1280// CHECK-ERROR: instruction requires: sme2
1281// CHECK-UNKNOWN: c15ad831 <unknown>
1282
1283udot    za.s[w8, 5, vgx4], {z20.b - z23.b}, z14.b[2]  // 11000001-01011110-10011010-10110101
1284// CHECK-INST: udot    za.s[w8, 5, vgx4], { z20.b - z23.b }, z14.b[2]
1285// CHECK-ENCODING: [0xb5,0x9a,0x5e,0xc1]
1286// CHECK-ERROR: instruction requires: sme2
1287// CHECK-UNKNOWN: c15e9ab5 <unknown>
1288
1289udot    za.s[w8, 5], {z20.b - z23.b}, z14.b[2]  // 11000001-01011110-10011010-10110101
1290// CHECK-INST: udot    za.s[w8, 5, vgx4], { z20.b - z23.b }, z14.b[2]
1291// CHECK-ENCODING: [0xb5,0x9a,0x5e,0xc1]
1292// CHECK-ERROR: instruction requires: sme2
1293// CHECK-UNKNOWN: c15e9ab5 <unknown>
1294
1295udot    za.s[w11, 2, vgx4], {z8.b - z11.b}, z1.b[1]  // 11000001-01010001-11110101-00110010
1296// CHECK-INST: udot    za.s[w11, 2, vgx4], { z8.b - z11.b }, z1.b[1]
1297// CHECK-ENCODING: [0x32,0xf5,0x51,0xc1]
1298// CHECK-ERROR: instruction requires: sme2
1299// CHECK-UNKNOWN: c151f532 <unknown>
1300
1301udot    za.s[w11, 2], {z8.b - z11.b}, z1.b[1]  // 11000001-01010001-11110101-00110010
1302// CHECK-INST: udot    za.s[w11, 2, vgx4], { z8.b - z11.b }, z1.b[1]
1303// CHECK-ENCODING: [0x32,0xf5,0x51,0xc1]
1304// CHECK-ERROR: instruction requires: sme2
1305// CHECK-UNKNOWN: c151f532 <unknown>
1306
1307udot    za.s[w9, 7, vgx4], {z12.b - z15.b}, z11.b[2]  // 11000001-01011011-10111001-10110111
1308// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b[2]
1309// CHECK-ENCODING: [0xb7,0xb9,0x5b,0xc1]
1310// CHECK-ERROR: instruction requires: sme2
1311// CHECK-UNKNOWN: c15bb9b7 <unknown>
1312
1313udot    za.s[w9, 7], {z12.b - z15.b}, z11.b[2]  // 11000001-01011011-10111001-10110111
1314// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b[2]
1315// CHECK-ENCODING: [0xb7,0xb9,0x5b,0xc1]
1316// CHECK-ERROR: instruction requires: sme2
1317// CHECK-UNKNOWN: c15bb9b7 <unknown>
1318
1319
1320udot    za.d[w8, 0, vgx4], {z0.h - z3.h}, z0.h[0]  // 11000001-11010000-10000000-00011000
1321// CHECK-INST: udot    za.d[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0]
1322// CHECK-ENCODING: [0x18,0x80,0xd0,0xc1]
1323// CHECK-ERROR: instruction requires: sme2
1324// CHECK-UNKNOWN: c1d08018 <unknown>
1325
1326udot    za.d[w8, 0], {z0.h - z3.h}, z0.h[0]  // 11000001-11010000-10000000-00011000
1327// CHECK-INST: udot    za.d[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0]
1328// CHECK-ENCODING: [0x18,0x80,0xd0,0xc1]
1329// CHECK-ERROR: instruction requires: sme2
1330// CHECK-UNKNOWN: c1d08018 <unknown>
1331
1332udot    za.d[w10, 5, vgx4], {z8.h - z11.h}, z5.h[1]  // 11000001-11010101-11000101-00011101
1333// CHECK-INST: udot    za.d[w10, 5, vgx4], { z8.h - z11.h }, z5.h[1]
1334// CHECK-ENCODING: [0x1d,0xc5,0xd5,0xc1]
1335// CHECK-ERROR: instruction requires: sme2
1336// CHECK-UNKNOWN: c1d5c51d <unknown>
1337
1338udot    za.d[w10, 5], {z8.h - z11.h}, z5.h[1]  // 11000001-11010101-11000101-00011101
1339// CHECK-INST: udot    za.d[w10, 5, vgx4], { z8.h - z11.h }, z5.h[1]
1340// CHECK-ENCODING: [0x1d,0xc5,0xd5,0xc1]
1341// CHECK-ERROR: instruction requires: sme2
1342// CHECK-UNKNOWN: c1d5c51d <unknown>
1343
1344udot    za.d[w11, 7, vgx4], {z12.h - z15.h}, z8.h[1]  // 11000001-11011000-11100101-10011111
1345// CHECK-INST: udot    za.d[w11, 7, vgx4], { z12.h - z15.h }, z8.h[1]
1346// CHECK-ENCODING: [0x9f,0xe5,0xd8,0xc1]
1347// CHECK-ERROR: instruction requires: sme2
1348// CHECK-UNKNOWN: c1d8e59f <unknown>
1349
1350udot    za.d[w11, 7], {z12.h - z15.h}, z8.h[1]  // 11000001-11011000-11100101-10011111
1351// CHECK-INST: udot    za.d[w11, 7, vgx4], { z12.h - z15.h }, z8.h[1]
1352// CHECK-ENCODING: [0x9f,0xe5,0xd8,0xc1]
1353// CHECK-ERROR: instruction requires: sme2
1354// CHECK-UNKNOWN: c1d8e59f <unknown>
1355
1356udot    za.d[w11, 7, vgx4], {z28.h - z31.h}, z15.h[1]  // 11000001-11011111-11100111-10011111
1357// CHECK-INST: udot    za.d[w11, 7, vgx4], { z28.h - z31.h }, z15.h[1]
1358// CHECK-ENCODING: [0x9f,0xe7,0xdf,0xc1]
1359// CHECK-ERROR: instruction requires: sme2
1360// CHECK-UNKNOWN: c1dfe79f <unknown>
1361
1362udot    za.d[w11, 7], {z28.h - z31.h}, z15.h[1]  // 11000001-11011111-11100111-10011111
1363// CHECK-INST: udot    za.d[w11, 7, vgx4], { z28.h - z31.h }, z15.h[1]
1364// CHECK-ENCODING: [0x9f,0xe7,0xdf,0xc1]
1365// CHECK-ERROR: instruction requires: sme2
1366// CHECK-UNKNOWN: c1dfe79f <unknown>
1367
1368udot    za.d[w8, 5, vgx4], {z16.h - z19.h}, z0.h[1]  // 11000001-11010000-10000110-00011101
1369// CHECK-INST: udot    za.d[w8, 5, vgx4], { z16.h - z19.h }, z0.h[1]
1370// CHECK-ENCODING: [0x1d,0x86,0xd0,0xc1]
1371// CHECK-ERROR: instruction requires: sme2
1372// CHECK-UNKNOWN: c1d0861d <unknown>
1373
1374udot    za.d[w8, 5], {z16.h - z19.h}, z0.h[1]  // 11000001-11010000-10000110-00011101
1375// CHECK-INST: udot    za.d[w8, 5, vgx4], { z16.h - z19.h }, z0.h[1]
1376// CHECK-ENCODING: [0x1d,0x86,0xd0,0xc1]
1377// CHECK-ERROR: instruction requires: sme2
1378// CHECK-UNKNOWN: c1d0861d <unknown>
1379
1380udot    za.d[w8, 1, vgx4], {z0.h - z3.h}, z14.h[1]  // 11000001-11011110-10000100-00011001
1381// CHECK-INST: udot    za.d[w8, 1, vgx4], { z0.h - z3.h }, z14.h[1]
1382// CHECK-ENCODING: [0x19,0x84,0xde,0xc1]
1383// CHECK-ERROR: instruction requires: sme2
1384// CHECK-UNKNOWN: c1de8419 <unknown>
1385
1386udot    za.d[w8, 1], {z0.h - z3.h}, z14.h[1]  // 11000001-11011110-10000100-00011001
1387// CHECK-INST: udot    za.d[w8, 1, vgx4], { z0.h - z3.h }, z14.h[1]
1388// CHECK-ENCODING: [0x19,0x84,0xde,0xc1]
1389// CHECK-ERROR: instruction requires: sme2
1390// CHECK-UNKNOWN: c1de8419 <unknown>
1391
1392udot    za.d[w10, 0, vgx4], {z16.h - z19.h}, z4.h[1]  // 11000001-11010100-11000110-00011000
1393// CHECK-INST: udot    za.d[w10, 0, vgx4], { z16.h - z19.h }, z4.h[1]
1394// CHECK-ENCODING: [0x18,0xc6,0xd4,0xc1]
1395// CHECK-ERROR: instruction requires: sme2
1396// CHECK-UNKNOWN: c1d4c618 <unknown>
1397
1398udot    za.d[w10, 0], {z16.h - z19.h}, z4.h[1]  // 11000001-11010100-11000110-00011000
1399// CHECK-INST: udot    za.d[w10, 0, vgx4], { z16.h - z19.h }, z4.h[1]
1400// CHECK-ENCODING: [0x18,0xc6,0xd4,0xc1]
1401// CHECK-ERROR: instruction requires: sme2
1402// CHECK-UNKNOWN: c1d4c618 <unknown>
1403
1404udot    za.d[w8, 0, vgx4], {z12.h - z15.h}, z2.h[0]  // 11000001-11010010-10000001-10011000
1405// CHECK-INST: udot    za.d[w8, 0, vgx4], { z12.h - z15.h }, z2.h[0]
1406// CHECK-ENCODING: [0x98,0x81,0xd2,0xc1]
1407// CHECK-ERROR: instruction requires: sme2
1408// CHECK-UNKNOWN: c1d28198 <unknown>
1409
1410udot    za.d[w8, 0], {z12.h - z15.h}, z2.h[0]  // 11000001-11010010-10000001-10011000
1411// CHECK-INST: udot    za.d[w8, 0, vgx4], { z12.h - z15.h }, z2.h[0]
1412// CHECK-ENCODING: [0x98,0x81,0xd2,0xc1]
1413// CHECK-ERROR: instruction requires: sme2
1414// CHECK-UNKNOWN: c1d28198 <unknown>
1415
1416udot    za.d[w10, 1, vgx4], {z0.h - z3.h}, z10.h[0]  // 11000001-11011010-11000000-00011001
1417// CHECK-INST: udot    za.d[w10, 1, vgx4], { z0.h - z3.h }, z10.h[0]
1418// CHECK-ENCODING: [0x19,0xc0,0xda,0xc1]
1419// CHECK-ERROR: instruction requires: sme2
1420// CHECK-UNKNOWN: c1dac019 <unknown>
1421
1422udot    za.d[w10, 1], {z0.h - z3.h}, z10.h[0]  // 11000001-11011010-11000000-00011001
1423// CHECK-INST: udot    za.d[w10, 1, vgx4], { z0.h - z3.h }, z10.h[0]
1424// CHECK-ENCODING: [0x19,0xc0,0xda,0xc1]
1425// CHECK-ERROR: instruction requires: sme2
1426// CHECK-UNKNOWN: c1dac019 <unknown>
1427
1428udot    za.d[w8, 5, vgx4], {z20.h - z23.h}, z14.h[0]  // 11000001-11011110-10000010-10011101
1429// CHECK-INST: udot    za.d[w8, 5, vgx4], { z20.h - z23.h }, z14.h[0]
1430// CHECK-ENCODING: [0x9d,0x82,0xde,0xc1]
1431// CHECK-ERROR: instruction requires: sme2
1432// CHECK-UNKNOWN: c1de829d <unknown>
1433
1434udot    za.d[w8, 5], {z20.h - z23.h}, z14.h[0]  // 11000001-11011110-10000010-10011101
1435// CHECK-INST: udot    za.d[w8, 5, vgx4], { z20.h - z23.h }, z14.h[0]
1436// CHECK-ENCODING: [0x9d,0x82,0xde,0xc1]
1437// CHECK-ERROR: instruction requires: sme2
1438// CHECK-UNKNOWN: c1de829d <unknown>
1439
1440udot    za.d[w11, 2, vgx4], {z8.h - z11.h}, z1.h[1]  // 11000001-11010001-11100101-00011010
1441// CHECK-INST: udot    za.d[w11, 2, vgx4], { z8.h - z11.h }, z1.h[1]
1442// CHECK-ENCODING: [0x1a,0xe5,0xd1,0xc1]
1443// CHECK-ERROR: instruction requires: sme2
1444// CHECK-UNKNOWN: c1d1e51a <unknown>
1445
1446udot    za.d[w11, 2], {z8.h - z11.h}, z1.h[1]  // 11000001-11010001-11100101-00011010
1447// CHECK-INST: udot    za.d[w11, 2, vgx4], { z8.h - z11.h }, z1.h[1]
1448// CHECK-ENCODING: [0x1a,0xe5,0xd1,0xc1]
1449// CHECK-ERROR: instruction requires: sme2
1450// CHECK-UNKNOWN: c1d1e51a <unknown>
1451
1452udot    za.d[w9, 7, vgx4], {z12.h - z15.h}, z11.h[0]  // 11000001-11011011-10100001-10011111
1453// CHECK-INST: udot    za.d[w9, 7, vgx4], { z12.h - z15.h }, z11.h[0]
1454// CHECK-ENCODING: [0x9f,0xa1,0xdb,0xc1]
1455// CHECK-ERROR: instruction requires: sme2
1456// CHECK-UNKNOWN: c1dba19f <unknown>
1457
1458udot    za.d[w9, 7], {z12.h - z15.h}, z11.h[0]  // 11000001-11011011-10100001-10011111
1459// CHECK-INST: udot    za.d[w9, 7, vgx4], { z12.h - z15.h }, z11.h[0]
1460// CHECK-ENCODING: [0x9f,0xa1,0xdb,0xc1]
1461// CHECK-ERROR: instruction requires: sme2
1462// CHECK-UNKNOWN: c1dba19f <unknown>
1463
1464
1465udot    za.s[w8, 0, vgx2], {z0.b, z1.b}, z0.b  // 11000001-00100000-00010100-00010000
1466// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b
1467// CHECK-ENCODING: [0x10,0x14,0x20,0xc1]
1468// CHECK-ERROR: instruction requires: sme2
1469// CHECK-UNKNOWN: c1201410 <unknown>
1470
1471udot    za.s[w8, 0], {z0.b - z1.b}, z0.b  // 11000001-00100000-00010100-00010000
1472// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b
1473// CHECK-ENCODING: [0x10,0x14,0x20,0xc1]
1474// CHECK-ERROR: instruction requires: sme2
1475// CHECK-UNKNOWN: c1201410 <unknown>
1476
1477udot    za.s[w10, 5, vgx2], {z10.b, z11.b}, z5.b  // 11000001-00100101-01010101-01010101
1478// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b
1479// CHECK-ENCODING: [0x55,0x55,0x25,0xc1]
1480// CHECK-ERROR: instruction requires: sme2
1481// CHECK-UNKNOWN: c1255555 <unknown>
1482
1483udot    za.s[w10, 5], {z10.b - z11.b}, z5.b  // 11000001-00100101-01010101-01010101
1484// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b
1485// CHECK-ENCODING: [0x55,0x55,0x25,0xc1]
1486// CHECK-ERROR: instruction requires: sme2
1487// CHECK-UNKNOWN: c1255555 <unknown>
1488
1489udot    za.s[w11, 7, vgx2], {z13.b, z14.b}, z8.b  // 11000001-00101000-01110101-10110111
1490// CHECK-INST: udot    za.s[w11, 7, vgx2], { z13.b, z14.b }, z8.b
1491// CHECK-ENCODING: [0xb7,0x75,0x28,0xc1]
1492// CHECK-ERROR: instruction requires: sme2
1493// CHECK-UNKNOWN: c12875b7 <unknown>
1494
1495udot    za.s[w11, 7], {z13.b - z14.b}, z8.b  // 11000001-00101000-01110101-10110111
1496// CHECK-INST: udot    za.s[w11, 7, vgx2], { z13.b, z14.b }, z8.b
1497// CHECK-ENCODING: [0xb7,0x75,0x28,0xc1]
1498// CHECK-ERROR: instruction requires: sme2
1499// CHECK-UNKNOWN: c12875b7 <unknown>
1500
1501udot    za.s[w11, 7, vgx2], {z31.b, z0.b}, z15.b  // 11000001-00101111-01110111-11110111
1502// CHECK-INST: udot    za.s[w11, 7, vgx2], { z31.b, z0.b }, z15.b
1503// CHECK-ENCODING: [0xf7,0x77,0x2f,0xc1]
1504// CHECK-ERROR: instruction requires: sme2
1505// CHECK-UNKNOWN: c12f77f7 <unknown>
1506
1507udot    za.s[w11, 7], {z31.b - z0.b}, z15.b  // 11000001-00101111-01110111-11110111
1508// CHECK-INST: udot    za.s[w11, 7, vgx2], { z31.b, z0.b }, z15.b
1509// CHECK-ENCODING: [0xf7,0x77,0x2f,0xc1]
1510// CHECK-ERROR: instruction requires: sme2
1511// CHECK-UNKNOWN: c12f77f7 <unknown>
1512
1513udot    za.s[w8, 5, vgx2], {z17.b, z18.b}, z0.b  // 11000001-00100000-00010110-00110101
1514// CHECK-INST: udot    za.s[w8, 5, vgx2], { z17.b, z18.b }, z0.b
1515// CHECK-ENCODING: [0x35,0x16,0x20,0xc1]
1516// CHECK-ERROR: instruction requires: sme2
1517// CHECK-UNKNOWN: c1201635 <unknown>
1518
1519udot    za.s[w8, 5], {z17.b - z18.b}, z0.b  // 11000001-00100000-00010110-00110101
1520// CHECK-INST: udot    za.s[w8, 5, vgx2], { z17.b, z18.b }, z0.b
1521// CHECK-ENCODING: [0x35,0x16,0x20,0xc1]
1522// CHECK-ERROR: instruction requires: sme2
1523// CHECK-UNKNOWN: c1201635 <unknown>
1524
1525udot    za.s[w8, 1, vgx2], {z1.b, z2.b}, z14.b  // 11000001-00101110-00010100-00110001
1526// CHECK-INST: udot    za.s[w8, 1, vgx2], { z1.b, z2.b }, z14.b
1527// CHECK-ENCODING: [0x31,0x14,0x2e,0xc1]
1528// CHECK-ERROR: instruction requires: sme2
1529// CHECK-UNKNOWN: c12e1431 <unknown>
1530
1531udot    za.s[w8, 1], {z1.b - z2.b}, z14.b  // 11000001-00101110-00010100-00110001
1532// CHECK-INST: udot    za.s[w8, 1, vgx2], { z1.b, z2.b }, z14.b
1533// CHECK-ENCODING: [0x31,0x14,0x2e,0xc1]
1534// CHECK-ERROR: instruction requires: sme2
1535// CHECK-UNKNOWN: c12e1431 <unknown>
1536
1537udot    za.s[w10, 0, vgx2], {z19.b, z20.b}, z4.b  // 11000001-00100100-01010110-01110000
1538// CHECK-INST: udot    za.s[w10, 0, vgx2], { z19.b, z20.b }, z4.b
1539// CHECK-ENCODING: [0x70,0x56,0x24,0xc1]
1540// CHECK-ERROR: instruction requires: sme2
1541// CHECK-UNKNOWN: c1245670 <unknown>
1542
1543udot    za.s[w10, 0], {z19.b - z20.b}, z4.b  // 11000001-00100100-01010110-01110000
1544// CHECK-INST: udot    za.s[w10, 0, vgx2], { z19.b, z20.b }, z4.b
1545// CHECK-ENCODING: [0x70,0x56,0x24,0xc1]
1546// CHECK-ERROR: instruction requires: sme2
1547// CHECK-UNKNOWN: c1245670 <unknown>
1548
1549udot    za.s[w8, 0, vgx2], {z12.b, z13.b}, z2.b  // 11000001-00100010-00010101-10010000
1550// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b
1551// CHECK-ENCODING: [0x90,0x15,0x22,0xc1]
1552// CHECK-ERROR: instruction requires: sme2
1553// CHECK-UNKNOWN: c1221590 <unknown>
1554
1555udot    za.s[w8, 0], {z12.b - z13.b}, z2.b  // 11000001-00100010-00010101-10010000
1556// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b
1557// CHECK-ENCODING: [0x90,0x15,0x22,0xc1]
1558// CHECK-ERROR: instruction requires: sme2
1559// CHECK-UNKNOWN: c1221590 <unknown>
1560
1561udot    za.s[w10, 1, vgx2], {z1.b, z2.b}, z10.b  // 11000001-00101010-01010100-00110001
1562// CHECK-INST: udot    za.s[w10, 1, vgx2], { z1.b, z2.b }, z10.b
1563// CHECK-ENCODING: [0x31,0x54,0x2a,0xc1]
1564// CHECK-ERROR: instruction requires: sme2
1565// CHECK-UNKNOWN: c12a5431 <unknown>
1566
1567udot    za.s[w10, 1], {z1.b - z2.b}, z10.b  // 11000001-00101010-01010100-00110001
1568// CHECK-INST: udot    za.s[w10, 1, vgx2], { z1.b, z2.b }, z10.b
1569// CHECK-ENCODING: [0x31,0x54,0x2a,0xc1]
1570// CHECK-ERROR: instruction requires: sme2
1571// CHECK-UNKNOWN: c12a5431 <unknown>
1572
1573udot    za.s[w8, 5, vgx2], {z22.b, z23.b}, z14.b  // 11000001-00101110-00010110-11010101
1574// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b
1575// CHECK-ENCODING: [0xd5,0x16,0x2e,0xc1]
1576// CHECK-ERROR: instruction requires: sme2
1577// CHECK-UNKNOWN: c12e16d5 <unknown>
1578
1579udot    za.s[w8, 5], {z22.b - z23.b}, z14.b  // 11000001-00101110-00010110-11010101
1580// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b
1581// CHECK-ENCODING: [0xd5,0x16,0x2e,0xc1]
1582// CHECK-ERROR: instruction requires: sme2
1583// CHECK-UNKNOWN: c12e16d5 <unknown>
1584
1585udot    za.s[w11, 2, vgx2], {z9.b, z10.b}, z1.b  // 11000001-00100001-01110101-00110010
1586// CHECK-INST: udot    za.s[w11, 2, vgx2], { z9.b, z10.b }, z1.b
1587// CHECK-ENCODING: [0x32,0x75,0x21,0xc1]
1588// CHECK-ERROR: instruction requires: sme2
1589// CHECK-UNKNOWN: c1217532 <unknown>
1590
1591udot    za.s[w11, 2], {z9.b - z10.b}, z1.b  // 11000001-00100001-01110101-00110010
1592// CHECK-INST: udot    za.s[w11, 2, vgx2], { z9.b, z10.b }, z1.b
1593// CHECK-ENCODING: [0x32,0x75,0x21,0xc1]
1594// CHECK-ERROR: instruction requires: sme2
1595// CHECK-UNKNOWN: c1217532 <unknown>
1596
1597udot    za.s[w9, 7, vgx2], {z12.b, z13.b}, z11.b  // 11000001-00101011-00110101-10010111
1598// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b
1599// CHECK-ENCODING: [0x97,0x35,0x2b,0xc1]
1600// CHECK-ERROR: instruction requires: sme2
1601// CHECK-UNKNOWN: c12b3597 <unknown>
1602
1603udot    za.s[w9, 7], {z12.b - z13.b}, z11.b  // 11000001-00101011-00110101-10010111
1604// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b
1605// CHECK-ENCODING: [0x97,0x35,0x2b,0xc1]
1606// CHECK-ERROR: instruction requires: sme2
1607// CHECK-UNKNOWN: c12b3597 <unknown>
1608
1609udot    za.s[w8, 0, vgx2], {z0.b, z1.b}, {z0.b, z1.b}  // 11000001-10100000-00010100-00010000
1610// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
1611// CHECK-ENCODING: [0x10,0x14,0xa0,0xc1]
1612// CHECK-ERROR: instruction requires: sme2
1613// CHECK-UNKNOWN: c1a01410 <unknown>
1614
1615udot    za.s[w8, 0], {z0.b - z1.b}, {z0.b - z1.b}  // 11000001-10100000-00010100-00010000
1616// CHECK-INST: udot    za.s[w8, 0, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
1617// CHECK-ENCODING: [0x10,0x14,0xa0,0xc1]
1618// CHECK-ERROR: instruction requires: sme2
1619// CHECK-UNKNOWN: c1a01410 <unknown>
1620
1621udot    za.s[w10, 5, vgx2], {z10.b, z11.b}, {z20.b, z21.b}  // 11000001-10110100-01010101-01010101
1622// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.b, z11.b }, { z20.b, z21.b }
1623// CHECK-ENCODING: [0x55,0x55,0xb4,0xc1]
1624// CHECK-ERROR: instruction requires: sme2
1625// CHECK-UNKNOWN: c1b45555 <unknown>
1626
1627udot    za.s[w10, 5], {z10.b - z11.b}, {z20.b - z21.b}  // 11000001-10110100-01010101-01010101
1628// CHECK-INST: udot    za.s[w10, 5, vgx2], { z10.b, z11.b }, { z20.b, z21.b }
1629// CHECK-ENCODING: [0x55,0x55,0xb4,0xc1]
1630// CHECK-ERROR: instruction requires: sme2
1631// CHECK-UNKNOWN: c1b45555 <unknown>
1632
1633udot    za.s[w11, 7, vgx2], {z12.b, z13.b}, {z8.b, z9.b}  // 11000001-10101000-01110101-10010111
1634// CHECK-INST: udot    za.s[w11, 7, vgx2], { z12.b, z13.b }, { z8.b, z9.b }
1635// CHECK-ENCODING: [0x97,0x75,0xa8,0xc1]
1636// CHECK-ERROR: instruction requires: sme2
1637// CHECK-UNKNOWN: c1a87597 <unknown>
1638
1639udot    za.s[w11, 7], {z12.b - z13.b}, {z8.b - z9.b}  // 11000001-10101000-01110101-10010111
1640// CHECK-INST: udot    za.s[w11, 7, vgx2], { z12.b, z13.b }, { z8.b, z9.b }
1641// CHECK-ENCODING: [0x97,0x75,0xa8,0xc1]
1642// CHECK-ERROR: instruction requires: sme2
1643// CHECK-UNKNOWN: c1a87597 <unknown>
1644
1645udot    za.s[w11, 7, vgx2], {z30.b, z31.b}, {z30.b, z31.b}  // 11000001-10111110-01110111-11010111
1646// CHECK-INST: udot    za.s[w11, 7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
1647// CHECK-ENCODING: [0xd7,0x77,0xbe,0xc1]
1648// CHECK-ERROR: instruction requires: sme2
1649// CHECK-UNKNOWN: c1be77d7 <unknown>
1650
1651udot    za.s[w11, 7], {z30.b - z31.b}, {z30.b - z31.b}  // 11000001-10111110-01110111-11010111
1652// CHECK-INST: udot    za.s[w11, 7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
1653// CHECK-ENCODING: [0xd7,0x77,0xbe,0xc1]
1654// CHECK-ERROR: instruction requires: sme2
1655// CHECK-UNKNOWN: c1be77d7 <unknown>
1656
1657udot    za.s[w8, 5, vgx2], {z16.b, z17.b}, {z16.b, z17.b}  // 11000001-10110000-00010110-00010101
1658// CHECK-INST: udot    za.s[w8, 5, vgx2], { z16.b, z17.b }, { z16.b, z17.b }
1659// CHECK-ENCODING: [0x15,0x16,0xb0,0xc1]
1660// CHECK-ERROR: instruction requires: sme2
1661// CHECK-UNKNOWN: c1b01615 <unknown>
1662
1663udot    za.s[w8, 5], {z16.b - z17.b}, {z16.b - z17.b}  // 11000001-10110000-00010110-00010101
1664// CHECK-INST: udot    za.s[w8, 5, vgx2], { z16.b, z17.b }, { z16.b, z17.b }
1665// CHECK-ENCODING: [0x15,0x16,0xb0,0xc1]
1666// CHECK-ERROR: instruction requires: sme2
1667// CHECK-UNKNOWN: c1b01615 <unknown>
1668
1669udot    za.s[w8, 1, vgx2], {z0.b, z1.b}, {z30.b, z31.b}  // 11000001-10111110-00010100-00010001
1670// CHECK-INST: udot    za.s[w8, 1, vgx2], { z0.b, z1.b }, { z30.b, z31.b }
1671// CHECK-ENCODING: [0x11,0x14,0xbe,0xc1]
1672// CHECK-ERROR: instruction requires: sme2
1673// CHECK-UNKNOWN: c1be1411 <unknown>
1674
1675udot    za.s[w8, 1], {z0.b - z1.b}, {z30.b - z31.b}  // 11000001-10111110-00010100-00010001
1676// CHECK-INST: udot    za.s[w8, 1, vgx2], { z0.b, z1.b }, { z30.b, z31.b }
1677// CHECK-ENCODING: [0x11,0x14,0xbe,0xc1]
1678// CHECK-ERROR: instruction requires: sme2
1679// CHECK-UNKNOWN: c1be1411 <unknown>
1680
1681udot    za.s[w10, 0, vgx2], {z18.b, z19.b}, {z20.b, z21.b}  // 11000001-10110100-01010110-01010000
1682// CHECK-INST: udot    za.s[w10, 0, vgx2], { z18.b, z19.b }, { z20.b, z21.b }
1683// CHECK-ENCODING: [0x50,0x56,0xb4,0xc1]
1684// CHECK-ERROR: instruction requires: sme2
1685// CHECK-UNKNOWN: c1b45650 <unknown>
1686
1687udot    za.s[w10, 0], {z18.b - z19.b}, {z20.b - z21.b}  // 11000001-10110100-01010110-01010000
1688// CHECK-INST: udot    za.s[w10, 0, vgx2], { z18.b, z19.b }, { z20.b, z21.b }
1689// CHECK-ENCODING: [0x50,0x56,0xb4,0xc1]
1690// CHECK-ERROR: instruction requires: sme2
1691// CHECK-UNKNOWN: c1b45650 <unknown>
1692
1693udot    za.s[w8, 0, vgx2], {z12.b, z13.b}, {z2.b, z3.b}  // 11000001-10100010-00010101-10010000
1694// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.b, z13.b }, { z2.b, z3.b }
1695// CHECK-ENCODING: [0x90,0x15,0xa2,0xc1]
1696// CHECK-ERROR: instruction requires: sme2
1697// CHECK-UNKNOWN: c1a21590 <unknown>
1698
1699udot    za.s[w8, 0], {z12.b - z13.b}, {z2.b - z3.b}  // 11000001-10100010-00010101-10010000
1700// CHECK-INST: udot    za.s[w8, 0, vgx2], { z12.b, z13.b }, { z2.b, z3.b }
1701// CHECK-ENCODING: [0x90,0x15,0xa2,0xc1]
1702// CHECK-ERROR: instruction requires: sme2
1703// CHECK-UNKNOWN: c1a21590 <unknown>
1704
1705udot    za.s[w10, 1, vgx2], {z0.b, z1.b}, {z26.b, z27.b}  // 11000001-10111010-01010100-00010001
1706// CHECK-INST: udot    za.s[w10, 1, vgx2], { z0.b, z1.b }, { z26.b, z27.b }
1707// CHECK-ENCODING: [0x11,0x54,0xba,0xc1]
1708// CHECK-ERROR: instruction requires: sme2
1709// CHECK-UNKNOWN: c1ba5411 <unknown>
1710
1711udot    za.s[w10, 1], {z0.b - z1.b}, {z26.b - z27.b}  // 11000001-10111010-01010100-00010001
1712// CHECK-INST: udot    za.s[w10, 1, vgx2], { z0.b, z1.b }, { z26.b, z27.b }
1713// CHECK-ENCODING: [0x11,0x54,0xba,0xc1]
1714// CHECK-ERROR: instruction requires: sme2
1715// CHECK-UNKNOWN: c1ba5411 <unknown>
1716
1717udot    za.s[w8, 5, vgx2], {z22.b, z23.b}, {z30.b, z31.b}  // 11000001-10111110-00010110-11010101
1718// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.b, z23.b }, { z30.b, z31.b }
1719// CHECK-ENCODING: [0xd5,0x16,0xbe,0xc1]
1720// CHECK-ERROR: instruction requires: sme2
1721// CHECK-UNKNOWN: c1be16d5 <unknown>
1722
1723udot    za.s[w8, 5], {z22.b - z23.b}, {z30.b - z31.b}  // 11000001-10111110-00010110-11010101
1724// CHECK-INST: udot    za.s[w8, 5, vgx2], { z22.b, z23.b }, { z30.b, z31.b }
1725// CHECK-ENCODING: [0xd5,0x16,0xbe,0xc1]
1726// CHECK-ERROR: instruction requires: sme2
1727// CHECK-UNKNOWN: c1be16d5 <unknown>
1728
1729udot    za.s[w11, 2, vgx2], {z8.b, z9.b}, {z0.b, z1.b}  // 11000001-10100000-01110101-00010010
1730// CHECK-INST: udot    za.s[w11, 2, vgx2], { z8.b, z9.b }, { z0.b, z1.b }
1731// CHECK-ENCODING: [0x12,0x75,0xa0,0xc1]
1732// CHECK-ERROR: instruction requires: sme2
1733// CHECK-UNKNOWN: c1a07512 <unknown>
1734
1735udot    za.s[w11, 2], {z8.b - z9.b}, {z0.b - z1.b}  // 11000001-10100000-01110101-00010010
1736// CHECK-INST: udot    za.s[w11, 2, vgx2], { z8.b, z9.b }, { z0.b, z1.b }
1737// CHECK-ENCODING: [0x12,0x75,0xa0,0xc1]
1738// CHECK-ERROR: instruction requires: sme2
1739// CHECK-UNKNOWN: c1a07512 <unknown>
1740
1741udot    za.s[w9, 7, vgx2], {z12.b, z13.b}, {z10.b, z11.b}  // 11000001-10101010-00110101-10010111
1742// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.b, z13.b }, { z10.b, z11.b }
1743// CHECK-ENCODING: [0x97,0x35,0xaa,0xc1]
1744// CHECK-ERROR: instruction requires: sme2
1745// CHECK-UNKNOWN: c1aa3597 <unknown>
1746
1747udot    za.s[w9, 7], {z12.b - z13.b}, {z10.b - z11.b}  // 11000001-10101010-00110101-10010111
1748// CHECK-INST: udot    za.s[w9, 7, vgx2], { z12.b, z13.b }, { z10.b, z11.b }
1749// CHECK-ENCODING: [0x97,0x35,0xaa,0xc1]
1750// CHECK-ERROR: instruction requires: sme2
1751// CHECK-UNKNOWN: c1aa3597 <unknown>
1752
1753
1754udot    za.d[w8, 0, vgx2], {z0.h, z1.h}, z0.h  // 11000001-01100000-00010100-00010000
1755// CHECK-INST: udot    za.d[w8, 0, vgx2], { z0.h, z1.h }, z0.h
1756// CHECK-ENCODING: [0x10,0x14,0x60,0xc1]
1757// CHECK-ERROR: instruction requires: sme2
1758// CHECK-UNKNOWN: c1601410 <unknown>
1759
1760udot    za.d[w8, 0], {z0.h - z1.h}, z0.h  // 11000001-01100000-00010100-00010000
1761// CHECK-INST: udot    za.d[w8, 0, vgx2], { z0.h, z1.h }, z0.h
1762// CHECK-ENCODING: [0x10,0x14,0x60,0xc1]
1763// CHECK-ERROR: instruction requires: sme2
1764// CHECK-UNKNOWN: c1601410 <unknown>
1765
1766udot    za.d[w10, 5, vgx2], {z10.h, z11.h}, z5.h  // 11000001-01100101-01010101-01010101
1767// CHECK-INST: udot    za.d[w10, 5, vgx2], { z10.h, z11.h }, z5.h
1768// CHECK-ENCODING: [0x55,0x55,0x65,0xc1]
1769// CHECK-ERROR: instruction requires: sme2
1770// CHECK-UNKNOWN: c1655555 <unknown>
1771
1772udot    za.d[w10, 5], {z10.h - z11.h}, z5.h  // 11000001-01100101-01010101-01010101
1773// CHECK-INST: udot    za.d[w10, 5, vgx2], { z10.h, z11.h }, z5.h
1774// CHECK-ENCODING: [0x55,0x55,0x65,0xc1]
1775// CHECK-ERROR: instruction requires: sme2
1776// CHECK-UNKNOWN: c1655555 <unknown>
1777
1778udot    za.d[w11, 7, vgx2], {z13.h, z14.h}, z8.h  // 11000001-01101000-01110101-10110111
1779// CHECK-INST: udot    za.d[w11, 7, vgx2], { z13.h, z14.h }, z8.h
1780// CHECK-ENCODING: [0xb7,0x75,0x68,0xc1]
1781// CHECK-ERROR: instruction requires: sme2
1782// CHECK-UNKNOWN: c16875b7 <unknown>
1783
1784udot    za.d[w11, 7], {z13.h - z14.h}, z8.h  // 11000001-01101000-01110101-10110111
1785// CHECK-INST: udot    za.d[w11, 7, vgx2], { z13.h, z14.h }, z8.h
1786// CHECK-ENCODING: [0xb7,0x75,0x68,0xc1]
1787// CHECK-ERROR: instruction requires: sme2
1788// CHECK-UNKNOWN: c16875b7 <unknown>
1789
1790udot    za.d[w11, 7, vgx2], {z31.h, z0.h}, z15.h  // 11000001-01101111-01110111-11110111
1791// CHECK-INST: udot    za.d[w11, 7, vgx2], { z31.h, z0.h }, z15.h
1792// CHECK-ENCODING: [0xf7,0x77,0x6f,0xc1]
1793// CHECK-ERROR: instruction requires: sme2
1794// CHECK-UNKNOWN: c16f77f7 <unknown>
1795
1796udot    za.d[w11, 7], {z31.h - z0.h}, z15.h  // 11000001-01101111-01110111-11110111
1797// CHECK-INST: udot    za.d[w11, 7, vgx2], { z31.h, z0.h }, z15.h
1798// CHECK-ENCODING: [0xf7,0x77,0x6f,0xc1]
1799// CHECK-ERROR: instruction requires: sme2
1800// CHECK-UNKNOWN: c16f77f7 <unknown>
1801
1802udot    za.d[w8, 5, vgx2], {z17.h, z18.h}, z0.h  // 11000001-01100000-00010110-00110101
1803// CHECK-INST: udot    za.d[w8, 5, vgx2], { z17.h, z18.h }, z0.h
1804// CHECK-ENCODING: [0x35,0x16,0x60,0xc1]
1805// CHECK-ERROR: instruction requires: sme2
1806// CHECK-UNKNOWN: c1601635 <unknown>
1807
1808udot    za.d[w8, 5], {z17.h - z18.h}, z0.h  // 11000001-01100000-00010110-00110101
1809// CHECK-INST: udot    za.d[w8, 5, vgx2], { z17.h, z18.h }, z0.h
1810// CHECK-ENCODING: [0x35,0x16,0x60,0xc1]
1811// CHECK-ERROR: instruction requires: sme2
1812// CHECK-UNKNOWN: c1601635 <unknown>
1813
1814udot    za.d[w8, 1, vgx2], {z1.h, z2.h}, z14.h  // 11000001-01101110-00010100-00110001
1815// CHECK-INST: udot    za.d[w8, 1, vgx2], { z1.h, z2.h }, z14.h
1816// CHECK-ENCODING: [0x31,0x14,0x6e,0xc1]
1817// CHECK-ERROR: instruction requires: sme2
1818// CHECK-UNKNOWN: c16e1431 <unknown>
1819
1820udot    za.d[w8, 1], {z1.h - z2.h}, z14.h  // 11000001-01101110-00010100-00110001
1821// CHECK-INST: udot    za.d[w8, 1, vgx2], { z1.h, z2.h }, z14.h
1822// CHECK-ENCODING: [0x31,0x14,0x6e,0xc1]
1823// CHECK-ERROR: instruction requires: sme2
1824// CHECK-UNKNOWN: c16e1431 <unknown>
1825
1826udot    za.d[w10, 0, vgx2], {z19.h, z20.h}, z4.h  // 11000001-01100100-01010110-01110000
1827// CHECK-INST: udot    za.d[w10, 0, vgx2], { z19.h, z20.h }, z4.h
1828// CHECK-ENCODING: [0x70,0x56,0x64,0xc1]
1829// CHECK-ERROR: instruction requires: sme2
1830// CHECK-UNKNOWN: c1645670 <unknown>
1831
1832udot    za.d[w10, 0], {z19.h - z20.h}, z4.h  // 11000001-01100100-01010110-01110000
1833// CHECK-INST: udot    za.d[w10, 0, vgx2], { z19.h, z20.h }, z4.h
1834// CHECK-ENCODING: [0x70,0x56,0x64,0xc1]
1835// CHECK-ERROR: instruction requires: sme2
1836// CHECK-UNKNOWN: c1645670 <unknown>
1837
1838udot    za.d[w8, 0, vgx2], {z12.h, z13.h}, z2.h  // 11000001-01100010-00010101-10010000
1839// CHECK-INST: udot    za.d[w8, 0, vgx2], { z12.h, z13.h }, z2.h
1840// CHECK-ENCODING: [0x90,0x15,0x62,0xc1]
1841// CHECK-ERROR: instruction requires: sme2
1842// CHECK-UNKNOWN: c1621590 <unknown>
1843
1844udot    za.d[w8, 0], {z12.h - z13.h}, z2.h  // 11000001-01100010-00010101-10010000
1845// CHECK-INST: udot    za.d[w8, 0, vgx2], { z12.h, z13.h }, z2.h
1846// CHECK-ENCODING: [0x90,0x15,0x62,0xc1]
1847// CHECK-ERROR: instruction requires: sme2
1848// CHECK-UNKNOWN: c1621590 <unknown>
1849
1850udot    za.d[w10, 1, vgx2], {z1.h, z2.h}, z10.h  // 11000001-01101010-01010100-00110001
1851// CHECK-INST: udot    za.d[w10, 1, vgx2], { z1.h, z2.h }, z10.h
1852// CHECK-ENCODING: [0x31,0x54,0x6a,0xc1]
1853// CHECK-ERROR: instruction requires: sme2
1854// CHECK-UNKNOWN: c16a5431 <unknown>
1855
1856udot    za.d[w10, 1], {z1.h - z2.h}, z10.h  // 11000001-01101010-01010100-00110001
1857// CHECK-INST: udot    za.d[w10, 1, vgx2], { z1.h, z2.h }, z10.h
1858// CHECK-ENCODING: [0x31,0x54,0x6a,0xc1]
1859// CHECK-ERROR: instruction requires: sme2
1860// CHECK-UNKNOWN: c16a5431 <unknown>
1861
1862udot    za.d[w8, 5, vgx2], {z22.h, z23.h}, z14.h  // 11000001-01101110-00010110-11010101
1863// CHECK-INST: udot    za.d[w8, 5, vgx2], { z22.h, z23.h }, z14.h
1864// CHECK-ENCODING: [0xd5,0x16,0x6e,0xc1]
1865// CHECK-ERROR: instruction requires: sme2
1866// CHECK-UNKNOWN: c16e16d5 <unknown>
1867
1868udot    za.d[w8, 5], {z22.h - z23.h}, z14.h  // 11000001-01101110-00010110-11010101
1869// CHECK-INST: udot    za.d[w8, 5, vgx2], { z22.h, z23.h }, z14.h
1870// CHECK-ENCODING: [0xd5,0x16,0x6e,0xc1]
1871// CHECK-ERROR: instruction requires: sme2
1872// CHECK-UNKNOWN: c16e16d5 <unknown>
1873
1874udot    za.d[w11, 2, vgx2], {z9.h, z10.h}, z1.h  // 11000001-01100001-01110101-00110010
1875// CHECK-INST: udot    za.d[w11, 2, vgx2], { z9.h, z10.h }, z1.h
1876// CHECK-ENCODING: [0x32,0x75,0x61,0xc1]
1877// CHECK-ERROR: instruction requires: sme2
1878// CHECK-UNKNOWN: c1617532 <unknown>
1879
1880udot    za.d[w11, 2], {z9.h - z10.h}, z1.h  // 11000001-01100001-01110101-00110010
1881// CHECK-INST: udot    za.d[w11, 2, vgx2], { z9.h, z10.h }, z1.h
1882// CHECK-ENCODING: [0x32,0x75,0x61,0xc1]
1883// CHECK-ERROR: instruction requires: sme2
1884// CHECK-UNKNOWN: c1617532 <unknown>
1885
1886udot    za.d[w9, 7, vgx2], {z12.h, z13.h}, z11.h  // 11000001-01101011-00110101-10010111
1887// CHECK-INST: udot    za.d[w9, 7, vgx2], { z12.h, z13.h }, z11.h
1888// CHECK-ENCODING: [0x97,0x35,0x6b,0xc1]
1889// CHECK-ERROR: instruction requires: sme2
1890// CHECK-UNKNOWN: c16b3597 <unknown>
1891
1892udot    za.d[w9, 7], {z12.h - z13.h}, z11.h  // 11000001-01101011-00110101-10010111
1893// CHECK-INST: udot    za.d[w9, 7, vgx2], { z12.h, z13.h }, z11.h
1894// CHECK-ENCODING: [0x97,0x35,0x6b,0xc1]
1895// CHECK-ERROR: instruction requires: sme2
1896// CHECK-UNKNOWN: c16b3597 <unknown>
1897
1898udot    za.d[w9, 7], {z12.h - z13.h}, z11.h  // 11000001-01101011-00110101-10010111
1899// CHECK-INST: udot    za.d[w9, 7, vgx2], { z12.h, z13.h }, z11.h
1900// CHECK-ENCODING: [0x97,0x35,0x6b,0xc1]
1901// CHECK-ERROR: instruction requires: sme2
1902// CHECK-UNKNOWN: c16b3597 <unknown>
1903
1904
1905udot    za.d[w8, 0, vgx2], {z0.h, z1.h}, {z0.h, z1.h}  // 11000001-11100000-00010100-00010000
1906// CHECK-INST: udot    za.d[w8, 0, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
1907// CHECK-ENCODING: [0x10,0x14,0xe0,0xc1]
1908// CHECK-ERROR: instruction requires: sme2
1909// CHECK-UNKNOWN: c1e01410 <unknown>
1910
1911udot    za.d[w8, 0], {z0.h - z1.h}, {z0.h - z1.h}  // 11000001-11100000-00010100-00010000
1912// CHECK-INST: udot    za.d[w8, 0, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
1913// CHECK-ENCODING: [0x10,0x14,0xe0,0xc1]
1914// CHECK-ERROR: instruction requires: sme2
1915// CHECK-UNKNOWN: c1e01410 <unknown>
1916
1917udot    za.d[w10, 5, vgx2], {z10.h, z11.h}, {z20.h, z21.h}  // 11000001-11110100-01010101-01010101
1918// CHECK-INST: udot    za.d[w10, 5, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
1919// CHECK-ENCODING: [0x55,0x55,0xf4,0xc1]
1920// CHECK-ERROR: instruction requires: sme2
1921// CHECK-UNKNOWN: c1f45555 <unknown>
1922
1923udot    za.d[w10, 5], {z10.h - z11.h}, {z20.h - z21.h}  // 11000001-11110100-01010101-01010101
1924// CHECK-INST: udot    za.d[w10, 5, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
1925// CHECK-ENCODING: [0x55,0x55,0xf4,0xc1]
1926// CHECK-ERROR: instruction requires: sme2
1927// CHECK-UNKNOWN: c1f45555 <unknown>
1928
1929udot    za.d[w11, 7, vgx2], {z12.h, z13.h}, {z8.h, z9.h}  // 11000001-11101000-01110101-10010111
1930// CHECK-INST: udot    za.d[w11, 7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
1931// CHECK-ENCODING: [0x97,0x75,0xe8,0xc1]
1932// CHECK-ERROR: instruction requires: sme2
1933// CHECK-UNKNOWN: c1e87597 <unknown>
1934
1935udot    za.d[w11, 7], {z12.h - z13.h}, {z8.h - z9.h}  // 11000001-11101000-01110101-10010111
1936// CHECK-INST: udot    za.d[w11, 7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
1937// CHECK-ENCODING: [0x97,0x75,0xe8,0xc1]
1938// CHECK-ERROR: instruction requires: sme2
1939// CHECK-UNKNOWN: c1e87597 <unknown>
1940
1941udot    za.d[w11, 7, vgx2], {z30.h, z31.h}, {z30.h, z31.h}  // 11000001-11111110-01110111-11010111
1942// CHECK-INST: udot    za.d[w11, 7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
1943// CHECK-ENCODING: [0xd7,0x77,0xfe,0xc1]
1944// CHECK-ERROR: instruction requires: sme2
1945// CHECK-UNKNOWN: c1fe77d7 <unknown>
1946
1947udot    za.d[w11, 7], {z30.h - z31.h}, {z30.h - z31.h}  // 11000001-11111110-01110111-11010111
1948// CHECK-INST: udot    za.d[w11, 7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
1949// CHECK-ENCODING: [0xd7,0x77,0xfe,0xc1]
1950// CHECK-ERROR: instruction requires: sme2
1951// CHECK-UNKNOWN: c1fe77d7 <unknown>
1952
1953udot    za.d[w8, 5, vgx2], {z16.h, z17.h}, {z16.h, z17.h}  // 11000001-11110000-00010110-00010101
1954// CHECK-INST: udot    za.d[w8, 5, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
1955// CHECK-ENCODING: [0x15,0x16,0xf0,0xc1]
1956// CHECK-ERROR: instruction requires: sme2
1957// CHECK-UNKNOWN: c1f01615 <unknown>
1958
1959udot    za.d[w8, 5], {z16.h - z17.h}, {z16.h - z17.h}  // 11000001-11110000-00010110-00010101
1960// CHECK-INST: udot    za.d[w8, 5, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
1961// CHECK-ENCODING: [0x15,0x16,0xf0,0xc1]
1962// CHECK-ERROR: instruction requires: sme2
1963// CHECK-UNKNOWN: c1f01615 <unknown>
1964
1965udot    za.d[w8, 1, vgx2], {z0.h, z1.h}, {z30.h, z31.h}  // 11000001-11111110-00010100-00010001
1966// CHECK-INST: udot    za.d[w8, 1, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
1967// CHECK-ENCODING: [0x11,0x14,0xfe,0xc1]
1968// CHECK-ERROR: instruction requires: sme2
1969// CHECK-UNKNOWN: c1fe1411 <unknown>
1970
1971udot    za.d[w8, 1], {z0.h - z1.h}, {z30.h - z31.h}  // 11000001-11111110-00010100-00010001
1972// CHECK-INST: udot    za.d[w8, 1, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
1973// CHECK-ENCODING: [0x11,0x14,0xfe,0xc1]
1974// CHECK-ERROR: instruction requires: sme2
1975// CHECK-UNKNOWN: c1fe1411 <unknown>
1976
1977udot    za.d[w10, 0, vgx2], {z18.h, z19.h}, {z20.h, z21.h}  // 11000001-11110100-01010110-01010000
1978// CHECK-INST: udot    za.d[w10, 0, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
1979// CHECK-ENCODING: [0x50,0x56,0xf4,0xc1]
1980// CHECK-ERROR: instruction requires: sme2
1981// CHECK-UNKNOWN: c1f45650 <unknown>
1982
1983udot    za.d[w10, 0], {z18.h - z19.h}, {z20.h - z21.h}  // 11000001-11110100-01010110-01010000
1984// CHECK-INST: udot    za.d[w10, 0, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
1985// CHECK-ENCODING: [0x50,0x56,0xf4,0xc1]
1986// CHECK-ERROR: instruction requires: sme2
1987// CHECK-UNKNOWN: c1f45650 <unknown>
1988
1989udot    za.d[w8, 0, vgx2], {z12.h, z13.h}, {z2.h, z3.h}  // 11000001-11100010-00010101-10010000
1990// CHECK-INST: udot    za.d[w8, 0, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
1991// CHECK-ENCODING: [0x90,0x15,0xe2,0xc1]
1992// CHECK-ERROR: instruction requires: sme2
1993// CHECK-UNKNOWN: c1e21590 <unknown>
1994
1995udot    za.d[w8, 0], {z12.h - z13.h}, {z2.h - z3.h}  // 11000001-11100010-00010101-10010000
1996// CHECK-INST: udot    za.d[w8, 0, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
1997// CHECK-ENCODING: [0x90,0x15,0xe2,0xc1]
1998// CHECK-ERROR: instruction requires: sme2
1999// CHECK-UNKNOWN: c1e21590 <unknown>
2000
2001udot    za.d[w10, 1, vgx2], {z0.h, z1.h}, {z26.h, z27.h}  // 11000001-11111010-01010100-00010001
2002// CHECK-INST: udot    za.d[w10, 1, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
2003// CHECK-ENCODING: [0x11,0x54,0xfa,0xc1]
2004// CHECK-ERROR: instruction requires: sme2
2005// CHECK-UNKNOWN: c1fa5411 <unknown>
2006
2007udot    za.d[w10, 1], {z0.h - z1.h}, {z26.h - z27.h}  // 11000001-11111010-01010100-00010001
2008// CHECK-INST: udot    za.d[w10, 1, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
2009// CHECK-ENCODING: [0x11,0x54,0xfa,0xc1]
2010// CHECK-ERROR: instruction requires: sme2
2011// CHECK-UNKNOWN: c1fa5411 <unknown>
2012
2013udot    za.d[w8, 5, vgx2], {z22.h, z23.h}, {z30.h, z31.h}  // 11000001-11111110-00010110-11010101
2014// CHECK-INST: udot    za.d[w8, 5, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
2015// CHECK-ENCODING: [0xd5,0x16,0xfe,0xc1]
2016// CHECK-ERROR: instruction requires: sme2
2017// CHECK-UNKNOWN: c1fe16d5 <unknown>
2018
2019udot    za.d[w8, 5], {z22.h - z23.h}, {z30.h - z31.h}  // 11000001-11111110-00010110-11010101
2020// CHECK-INST: udot    za.d[w8, 5, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
2021// CHECK-ENCODING: [0xd5,0x16,0xfe,0xc1]
2022// CHECK-ERROR: instruction requires: sme2
2023// CHECK-UNKNOWN: c1fe16d5 <unknown>
2024
2025udot    za.d[w11, 2, vgx2], {z8.h, z9.h}, {z0.h, z1.h}  // 11000001-11100000-01110101-00010010
2026// CHECK-INST: udot    za.d[w11, 2, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
2027// CHECK-ENCODING: [0x12,0x75,0xe0,0xc1]
2028// CHECK-ERROR: instruction requires: sme2
2029// CHECK-UNKNOWN: c1e07512 <unknown>
2030
2031udot    za.d[w11, 2], {z8.h - z9.h}, {z0.h - z1.h}  // 11000001-11100000-01110101-00010010
2032// CHECK-INST: udot    za.d[w11, 2, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
2033// CHECK-ENCODING: [0x12,0x75,0xe0,0xc1]
2034// CHECK-ERROR: instruction requires: sme2
2035// CHECK-UNKNOWN: c1e07512 <unknown>
2036
2037udot    za.d[w9, 7, vgx2], {z12.h, z13.h}, {z10.h, z11.h}  // 11000001-11101010-00110101-10010111
2038// CHECK-INST: udot    za.d[w9, 7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
2039// CHECK-ENCODING: [0x97,0x35,0xea,0xc1]
2040// CHECK-ERROR: instruction requires: sme2
2041// CHECK-UNKNOWN: c1ea3597 <unknown>
2042
2043udot    za.d[w9, 7], {z12.h - z13.h}, {z10.h - z11.h}  // 11000001-11101010-00110101-10010111
2044// CHECK-INST: udot    za.d[w9, 7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
2045// CHECK-ENCODING: [0x97,0x35,0xea,0xc1]
2046// CHECK-ERROR: instruction requires: sme2
2047// CHECK-UNKNOWN: c1ea3597 <unknown>
2048
2049
2050udot    za.s[w8, 0, vgx4], {z0.b - z3.b}, z0.b  // 11000001-00110000-00010100-00010000
2051// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b
2052// CHECK-ENCODING: [0x10,0x14,0x30,0xc1]
2053// CHECK-ERROR: instruction requires: sme2
2054// CHECK-UNKNOWN: c1301410 <unknown>
2055
2056udot    za.s[w8, 0], {z0.b - z3.b}, z0.b  // 11000001-00110000-00010100-00010000
2057// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b
2058// CHECK-ENCODING: [0x10,0x14,0x30,0xc1]
2059// CHECK-ERROR: instruction requires: sme2
2060// CHECK-UNKNOWN: c1301410 <unknown>
2061
2062udot    za.s[w10, 5, vgx4], {z10.b - z13.b}, z5.b  // 11000001-00110101-01010101-01010101
2063// CHECK-INST: udot    za.s[w10, 5, vgx4], { z10.b - z13.b }, z5.b
2064// CHECK-ENCODING: [0x55,0x55,0x35,0xc1]
2065// CHECK-ERROR: instruction requires: sme2
2066// CHECK-UNKNOWN: c1355555 <unknown>
2067
2068udot    za.s[w10, 5], {z10.b - z13.b}, z5.b  // 11000001-00110101-01010101-01010101
2069// CHECK-INST: udot    za.s[w10, 5, vgx4], { z10.b - z13.b }, z5.b
2070// CHECK-ENCODING: [0x55,0x55,0x35,0xc1]
2071// CHECK-ERROR: instruction requires: sme2
2072// CHECK-UNKNOWN: c1355555 <unknown>
2073
2074udot    za.s[w11, 7, vgx4], {z13.b - z16.b}, z8.b  // 11000001-00111000-01110101-10110111
2075// CHECK-INST: udot    za.s[w11, 7, vgx4], { z13.b - z16.b }, z8.b
2076// CHECK-ENCODING: [0xb7,0x75,0x38,0xc1]
2077// CHECK-ERROR: instruction requires: sme2
2078// CHECK-UNKNOWN: c13875b7 <unknown>
2079
2080udot    za.s[w11, 7], {z13.b - z16.b}, z8.b  // 11000001-00111000-01110101-10110111
2081// CHECK-INST: udot    za.s[w11, 7, vgx4], { z13.b - z16.b }, z8.b
2082// CHECK-ENCODING: [0xb7,0x75,0x38,0xc1]
2083// CHECK-ERROR: instruction requires: sme2
2084// CHECK-UNKNOWN: c13875b7 <unknown>
2085
2086udot    za.s[w11, 7, vgx4], {z31.b - z2.b}, z15.b  // 11000001-00111111-01110111-11110111
2087// CHECK-INST: udot    za.s[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
2088// CHECK-ENCODING: [0xf7,0x77,0x3f,0xc1]
2089// CHECK-ERROR: instruction requires: sme2
2090// CHECK-UNKNOWN: c13f77f7 <unknown>
2091
2092udot    za.s[w11, 7], {z31.b - z2.b}, z15.b  // 11000001-00111111-01110111-11110111
2093// CHECK-INST: udot    za.s[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
2094// CHECK-ENCODING: [0xf7,0x77,0x3f,0xc1]
2095// CHECK-ERROR: instruction requires: sme2
2096// CHECK-UNKNOWN: c13f77f7 <unknown>
2097
2098udot    za.s[w8, 5, vgx4], {z17.b - z20.b}, z0.b  // 11000001-00110000-00010110-00110101
2099// CHECK-INST: udot    za.s[w8, 5, vgx4], { z17.b - z20.b }, z0.b
2100// CHECK-ENCODING: [0x35,0x16,0x30,0xc1]
2101// CHECK-ERROR: instruction requires: sme2
2102// CHECK-UNKNOWN: c1301635 <unknown>
2103
2104udot    za.s[w8, 5], {z17.b - z20.b}, z0.b  // 11000001-00110000-00010110-00110101
2105// CHECK-INST: udot    za.s[w8, 5, vgx4], { z17.b - z20.b }, z0.b
2106// CHECK-ENCODING: [0x35,0x16,0x30,0xc1]
2107// CHECK-ERROR: instruction requires: sme2
2108// CHECK-UNKNOWN: c1301635 <unknown>
2109
2110udot    za.s[w8, 1, vgx4], {z1.b - z4.b}, z14.b  // 11000001-00111110-00010100-00110001
2111// CHECK-INST: udot    za.s[w8, 1, vgx4], { z1.b - z4.b }, z14.b
2112// CHECK-ENCODING: [0x31,0x14,0x3e,0xc1]
2113// CHECK-ERROR: instruction requires: sme2
2114// CHECK-UNKNOWN: c13e1431 <unknown>
2115
2116udot    za.s[w8, 1], {z1.b - z4.b}, z14.b  // 11000001-00111110-00010100-00110001
2117// CHECK-INST: udot    za.s[w8, 1, vgx4], { z1.b - z4.b }, z14.b
2118// CHECK-ENCODING: [0x31,0x14,0x3e,0xc1]
2119// CHECK-ERROR: instruction requires: sme2
2120// CHECK-UNKNOWN: c13e1431 <unknown>
2121
2122udot    za.s[w10, 0, vgx4], {z19.b - z22.b}, z4.b  // 11000001-00110100-01010110-01110000
2123// CHECK-INST: udot    za.s[w10, 0, vgx4], { z19.b - z22.b }, z4.b
2124// CHECK-ENCODING: [0x70,0x56,0x34,0xc1]
2125// CHECK-ERROR: instruction requires: sme2
2126// CHECK-UNKNOWN: c1345670 <unknown>
2127
2128udot    za.s[w10, 0], {z19.b - z22.b}, z4.b  // 11000001-00110100-01010110-01110000
2129// CHECK-INST: udot    za.s[w10, 0, vgx4], { z19.b - z22.b }, z4.b
2130// CHECK-ENCODING: [0x70,0x56,0x34,0xc1]
2131// CHECK-ERROR: instruction requires: sme2
2132// CHECK-UNKNOWN: c1345670 <unknown>
2133
2134udot    za.s[w8, 0, vgx4], {z12.b - z15.b}, z2.b  // 11000001-00110010-00010101-10010000
2135// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b
2136// CHECK-ENCODING: [0x90,0x15,0x32,0xc1]
2137// CHECK-ERROR: instruction requires: sme2
2138// CHECK-UNKNOWN: c1321590 <unknown>
2139
2140udot    za.s[w8, 0], {z12.b - z15.b}, z2.b  // 11000001-00110010-00010101-10010000
2141// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b
2142// CHECK-ENCODING: [0x90,0x15,0x32,0xc1]
2143// CHECK-ERROR: instruction requires: sme2
2144// CHECK-UNKNOWN: c1321590 <unknown>
2145
2146udot    za.s[w10, 1, vgx4], {z1.b - z4.b}, z10.b  // 11000001-00111010-01010100-00110001
2147// CHECK-INST: udot    za.s[w10, 1, vgx4], { z1.b - z4.b }, z10.b
2148// CHECK-ENCODING: [0x31,0x54,0x3a,0xc1]
2149// CHECK-ERROR: instruction requires: sme2
2150// CHECK-UNKNOWN: c13a5431 <unknown>
2151
2152udot    za.s[w10, 1], {z1.b - z4.b}, z10.b  // 11000001-00111010-01010100-00110001
2153// CHECK-INST: udot    za.s[w10, 1, vgx4], { z1.b - z4.b }, z10.b
2154// CHECK-ENCODING: [0x31,0x54,0x3a,0xc1]
2155// CHECK-ERROR: instruction requires: sme2
2156// CHECK-UNKNOWN: c13a5431 <unknown>
2157
2158udot    za.s[w8, 5, vgx4], {z22.b - z25.b}, z14.b  // 11000001-00111110-00010110-11010101
2159// CHECK-INST: udot    za.s[w8, 5, vgx4], { z22.b - z25.b }, z14.b
2160// CHECK-ENCODING: [0xd5,0x16,0x3e,0xc1]
2161// CHECK-ERROR: instruction requires: sme2
2162// CHECK-UNKNOWN: c13e16d5 <unknown>
2163
2164udot    za.s[w8, 5], {z22.b - z25.b}, z14.b  // 11000001-00111110-00010110-11010101
2165// CHECK-INST: udot    za.s[w8, 5, vgx4], { z22.b - z25.b }, z14.b
2166// CHECK-ENCODING: [0xd5,0x16,0x3e,0xc1]
2167// CHECK-ERROR: instruction requires: sme2
2168// CHECK-UNKNOWN: c13e16d5 <unknown>
2169
2170udot    za.s[w11, 2, vgx4], {z9.b - z12.b}, z1.b  // 11000001-00110001-01110101-00110010
2171// CHECK-INST: udot    za.s[w11, 2, vgx4], { z9.b - z12.b }, z1.b
2172// CHECK-ENCODING: [0x32,0x75,0x31,0xc1]
2173// CHECK-ERROR: instruction requires: sme2
2174// CHECK-UNKNOWN: c1317532 <unknown>
2175
2176udot    za.s[w11, 2], {z9.b - z12.b}, z1.b  // 11000001-00110001-01110101-00110010
2177// CHECK-INST: udot    za.s[w11, 2, vgx4], { z9.b - z12.b }, z1.b
2178// CHECK-ENCODING: [0x32,0x75,0x31,0xc1]
2179// CHECK-ERROR: instruction requires: sme2
2180// CHECK-UNKNOWN: c1317532 <unknown>
2181
2182udot    za.s[w9, 7, vgx4], {z12.b - z15.b}, z11.b  // 11000001-00111011-00110101-10010111
2183// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b
2184// CHECK-ENCODING: [0x97,0x35,0x3b,0xc1]
2185// CHECK-ERROR: instruction requires: sme2
2186// CHECK-UNKNOWN: c13b3597 <unknown>
2187
2188udot    za.s[w9, 7], {z12.b - z15.b}, z11.b  // 11000001-00111011-00110101-10010111
2189// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b
2190// CHECK-ENCODING: [0x97,0x35,0x3b,0xc1]
2191// CHECK-ERROR: instruction requires: sme2
2192// CHECK-UNKNOWN: c13b3597 <unknown>
2193
2194
2195udot    za.s[w8, 0, vgx4], {z0.b - z3.b}, {z0.b - z3.b}  // 11000001-10100001-00010100-00010000
2196// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
2197// CHECK-ENCODING: [0x10,0x14,0xa1,0xc1]
2198// CHECK-ERROR: instruction requires: sme2
2199// CHECK-UNKNOWN: c1a11410 <unknown>
2200
2201udot    za.s[w8, 0], {z0.b - z3.b}, {z0.b - z3.b}  // 11000001-10100001-00010100-00010000
2202// CHECK-INST: udot    za.s[w8, 0, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
2203// CHECK-ENCODING: [0x10,0x14,0xa1,0xc1]
2204// CHECK-ERROR: instruction requires: sme2
2205// CHECK-UNKNOWN: c1a11410 <unknown>
2206
2207udot    za.s[w10, 5, vgx4], {z8.b - z11.b}, {z20.b - z23.b}  // 11000001-10110101-01010101-00010101
2208// CHECK-INST: udot    za.s[w10, 5, vgx4], { z8.b - z11.b }, { z20.b - z23.b }
2209// CHECK-ENCODING: [0x15,0x55,0xb5,0xc1]
2210// CHECK-ERROR: instruction requires: sme2
2211// CHECK-UNKNOWN: c1b55515 <unknown>
2212
2213udot    za.s[w10, 5], {z8.b - z11.b}, {z20.b - z23.b}  // 11000001-10110101-01010101-00010101
2214// CHECK-INST: udot    za.s[w10, 5, vgx4], { z8.b - z11.b }, { z20.b - z23.b }
2215// CHECK-ENCODING: [0x15,0x55,0xb5,0xc1]
2216// CHECK-ERROR: instruction requires: sme2
2217// CHECK-UNKNOWN: c1b55515 <unknown>
2218
2219udot    za.s[w11, 7, vgx4], {z12.b - z15.b}, {z8.b - z11.b}  // 11000001-10101001-01110101-10010111
2220// CHECK-INST: udot    za.s[w11, 7, vgx4], { z12.b - z15.b }, { z8.b - z11.b }
2221// CHECK-ENCODING: [0x97,0x75,0xa9,0xc1]
2222// CHECK-ERROR: instruction requires: sme2
2223// CHECK-UNKNOWN: c1a97597 <unknown>
2224
2225udot    za.s[w11, 7], {z12.b - z15.b}, {z8.b - z11.b}  // 11000001-10101001-01110101-10010111
2226// CHECK-INST: udot    za.s[w11, 7, vgx4], { z12.b - z15.b }, { z8.b - z11.b }
2227// CHECK-ENCODING: [0x97,0x75,0xa9,0xc1]
2228// CHECK-ERROR: instruction requires: sme2
2229// CHECK-UNKNOWN: c1a97597 <unknown>
2230
2231udot    za.s[w11, 7, vgx4], {z28.b - z31.b}, {z28.b - z31.b}  // 11000001-10111101-01110111-10010111
2232// CHECK-INST: udot    za.s[w11, 7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
2233// CHECK-ENCODING: [0x97,0x77,0xbd,0xc1]
2234// CHECK-ERROR: instruction requires: sme2
2235// CHECK-UNKNOWN: c1bd7797 <unknown>
2236
2237udot    za.s[w11, 7], {z28.b - z31.b}, {z28.b - z31.b}  // 11000001-10111101-01110111-10010111
2238// CHECK-INST: udot    za.s[w11, 7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
2239// CHECK-ENCODING: [0x97,0x77,0xbd,0xc1]
2240// CHECK-ERROR: instruction requires: sme2
2241// CHECK-UNKNOWN: c1bd7797 <unknown>
2242
2243udot    za.s[w8, 5, vgx4], {z16.b - z19.b}, {z16.b - z19.b}  // 11000001-10110001-00010110-00010101
2244// CHECK-INST: udot    za.s[w8, 5, vgx4], { z16.b - z19.b }, { z16.b - z19.b }
2245// CHECK-ENCODING: [0x15,0x16,0xb1,0xc1]
2246// CHECK-ERROR: instruction requires: sme2
2247// CHECK-UNKNOWN: c1b11615 <unknown>
2248
2249udot    za.s[w8, 5], {z16.b - z19.b}, {z16.b - z19.b}  // 11000001-10110001-00010110-00010101
2250// CHECK-INST: udot    za.s[w8, 5, vgx4], { z16.b - z19.b }, { z16.b - z19.b }
2251// CHECK-ENCODING: [0x15,0x16,0xb1,0xc1]
2252// CHECK-ERROR: instruction requires: sme2
2253// CHECK-UNKNOWN: c1b11615 <unknown>
2254
2255udot    za.s[w8, 1, vgx4], {z0.b - z3.b}, {z28.b - z31.b}  // 11000001-10111101-00010100-00010001
2256// CHECK-INST: udot    za.s[w8, 1, vgx4], { z0.b - z3.b }, { z28.b - z31.b }
2257// CHECK-ENCODING: [0x11,0x14,0xbd,0xc1]
2258// CHECK-ERROR: instruction requires: sme2
2259// CHECK-UNKNOWN: c1bd1411 <unknown>
2260
2261udot    za.s[w8, 1], {z0.b - z3.b}, {z28.b - z31.b}  // 11000001-10111101-00010100-00010001
2262// CHECK-INST: udot    za.s[w8, 1, vgx4], { z0.b - z3.b }, { z28.b - z31.b }
2263// CHECK-ENCODING: [0x11,0x14,0xbd,0xc1]
2264// CHECK-ERROR: instruction requires: sme2
2265// CHECK-UNKNOWN: c1bd1411 <unknown>
2266
2267udot    za.s[w10, 0, vgx4], {z16.b - z19.b}, {z20.b - z23.b}  // 11000001-10110101-01010110-00010000
2268// CHECK-INST: udot    za.s[w10, 0, vgx4], { z16.b - z19.b }, { z20.b - z23.b }
2269// CHECK-ENCODING: [0x10,0x56,0xb5,0xc1]
2270// CHECK-ERROR: instruction requires: sme2
2271// CHECK-UNKNOWN: c1b55610 <unknown>
2272
2273udot    za.s[w10, 0], {z16.b - z19.b}, {z20.b - z23.b}  // 11000001-10110101-01010110-00010000
2274// CHECK-INST: udot    za.s[w10, 0, vgx4], { z16.b - z19.b }, { z20.b - z23.b }
2275// CHECK-ENCODING: [0x10,0x56,0xb5,0xc1]
2276// CHECK-ERROR: instruction requires: sme2
2277// CHECK-UNKNOWN: c1b55610 <unknown>
2278
2279udot    za.s[w8, 0, vgx4], {z12.b - z15.b}, {z0.b - z3.b}  // 11000001-10100001-00010101-10010000
2280// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.b - z15.b }, { z0.b - z3.b }
2281// CHECK-ENCODING: [0x90,0x15,0xa1,0xc1]
2282// CHECK-ERROR: instruction requires: sme2
2283// CHECK-UNKNOWN: c1a11590 <unknown>
2284udot    za.s[w8, 0], {z12.b - z15.b}, {z0.b - z3.b}  // 11000001-10100001-00010101-10010000
2285// CHECK-INST: udot    za.s[w8, 0, vgx4], { z12.b - z15.b }, { z0.b - z3.b }
2286// CHECK-ENCODING: [0x90,0x15,0xa1,0xc1]
2287// CHECK-ERROR: instruction requires: sme2
2288// CHECK-UNKNOWN: c1a11590 <unknown>
2289
2290udot    za.s[w10, 1, vgx4], {z0.b - z3.b}, {z24.b - z27.b}  // 11000001-10111001-01010100-00010001
2291// CHECK-INST: udot    za.s[w10, 1, vgx4], { z0.b - z3.b }, { z24.b - z27.b }
2292// CHECK-ENCODING: [0x11,0x54,0xb9,0xc1]
2293// CHECK-ERROR: instruction requires: sme2
2294// CHECK-UNKNOWN: c1b95411 <unknown>
2295
2296udot    za.s[w10, 1], {z0.b - z3.b}, {z24.b - z27.b}  // 11000001-10111001-01010100-00010001
2297// CHECK-INST: udot    za.s[w10, 1, vgx4], { z0.b - z3.b }, { z24.b - z27.b }
2298// CHECK-ENCODING: [0x11,0x54,0xb9,0xc1]
2299// CHECK-ERROR: instruction requires: sme2
2300// CHECK-UNKNOWN: c1b95411 <unknown>
2301
2302udot    za.s[w8, 5, vgx4], {z20.b - z23.b}, {z28.b - z31.b}  // 11000001-10111101-00010110-10010101
2303// CHECK-INST: udot    za.s[w8, 5, vgx4], { z20.b - z23.b }, { z28.b - z31.b }
2304// CHECK-ENCODING: [0x95,0x16,0xbd,0xc1]
2305// CHECK-ERROR: instruction requires: sme2
2306// CHECK-UNKNOWN: c1bd1695 <unknown>
2307
2308udot    za.s[w8, 5], {z20.b - z23.b}, {z28.b - z31.b}  // 11000001-10111101-00010110-10010101
2309// CHECK-INST: udot    za.s[w8, 5, vgx4], { z20.b - z23.b }, { z28.b - z31.b }
2310// CHECK-ENCODING: [0x95,0x16,0xbd,0xc1]
2311// CHECK-ERROR: instruction requires: sme2
2312// CHECK-UNKNOWN: c1bd1695 <unknown>
2313
2314udot    za.s[w11, 2, vgx4], {z8.b - z11.b}, {z0.b - z3.b}  // 11000001-10100001-01110101-00010010
2315// CHECK-INST: udot    za.s[w11, 2, vgx4], { z8.b - z11.b }, { z0.b - z3.b }
2316// CHECK-ENCODING: [0x12,0x75,0xa1,0xc1]
2317// CHECK-ERROR: instruction requires: sme2
2318// CHECK-UNKNOWN: c1a17512 <unknown>
2319
2320udot    za.s[w11, 2], {z8.b - z11.b}, {z0.b - z3.b}  // 11000001-10100001-01110101-00010010
2321// CHECK-INST: udot    za.s[w11, 2, vgx4], { z8.b - z11.b }, { z0.b - z3.b }
2322// CHECK-ENCODING: [0x12,0x75,0xa1,0xc1]
2323// CHECK-ERROR: instruction requires: sme2
2324// CHECK-UNKNOWN: c1a17512 <unknown>
2325
2326udot    za.s[w9, 7, vgx4], {z12.b - z15.b}, {z8.b - z11.b}  // 11000001-10101001-00110101-10010111
2327// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.b - z15.b }, { z8.b - z11.b }
2328// CHECK-ENCODING: [0x97,0x35,0xa9,0xc1]
2329// CHECK-ERROR: instruction requires: sme2
2330// CHECK-UNKNOWN: c1a93597 <unknown>
2331
2332udot    za.s[w9, 7], {z12.b - z15.b}, {z8.b - z11.b}  // 11000001-10101001-00110101-10010111
2333// CHECK-INST: udot    za.s[w9, 7, vgx4], { z12.b - z15.b }, { z8.b - z11.b }
2334// CHECK-ENCODING: [0x97,0x35,0xa9,0xc1]
2335// CHECK-ERROR: instruction requires: sme2
2336// CHECK-UNKNOWN: c1a93597 <unknown>
2337
2338
2339udot    za.d[w8, 0, vgx4], {z0.h - z3.h}, z0.h  // 11000001-01110000-00010100-00010000
2340// CHECK-INST: udot    za.d[w8, 0, vgx4], { z0.h - z3.h }, z0.h
2341// CHECK-ENCODING: [0x10,0x14,0x70,0xc1]
2342// CHECK-ERROR: instruction requires: sme2
2343// CHECK-UNKNOWN: c1701410 <unknown>
2344
2345udot    za.d[w8, 0], {z0.h - z3.h}, z0.h  // 11000001-01110000-00010100-00010000
2346// CHECK-INST: udot    za.d[w8, 0, vgx4], { z0.h - z3.h }, z0.h
2347// CHECK-ENCODING: [0x10,0x14,0x70,0xc1]
2348// CHECK-ERROR: instruction requires: sme2
2349// CHECK-UNKNOWN: c1701410 <unknown>
2350
2351udot    za.d[w10, 5, vgx4], {z10.h - z13.h}, z5.h  // 11000001-01110101-01010101-01010101
2352// CHECK-INST: udot    za.d[w10, 5, vgx4], { z10.h - z13.h }, z5.h
2353// CHECK-ENCODING: [0x55,0x55,0x75,0xc1]
2354// CHECK-ERROR: instruction requires: sme2
2355// CHECK-UNKNOWN: c1755555 <unknown>
2356
2357udot    za.d[w10, 5], {z10.h - z13.h}, z5.h  // 11000001-01110101-01010101-01010101
2358// CHECK-INST: udot    za.d[w10, 5, vgx4], { z10.h - z13.h }, z5.h
2359// CHECK-ENCODING: [0x55,0x55,0x75,0xc1]
2360// CHECK-ERROR: instruction requires: sme2
2361// CHECK-UNKNOWN: c1755555 <unknown>
2362
2363udot    za.d[w11, 7, vgx4], {z13.h - z16.h}, z8.h  // 11000001-01111000-01110101-10110111
2364// CHECK-INST: udot    za.d[w11, 7, vgx4], { z13.h - z16.h }, z8.h
2365// CHECK-ENCODING: [0xb7,0x75,0x78,0xc1]
2366// CHECK-ERROR: instruction requires: sme2
2367// CHECK-UNKNOWN: c17875b7 <unknown>
2368
2369udot    za.d[w11, 7], {z13.h - z16.h}, z8.h  // 11000001-01111000-01110101-10110111
2370// CHECK-INST: udot    za.d[w11, 7, vgx4], { z13.h - z16.h }, z8.h
2371// CHECK-ENCODING: [0xb7,0x75,0x78,0xc1]
2372// CHECK-ERROR: instruction requires: sme2
2373// CHECK-UNKNOWN: c17875b7 <unknown>
2374
2375udot    za.d[w11, 7, vgx4], {z31.h - z2.h}, z15.h  // 11000001-01111111-01110111-11110111
2376// CHECK-INST: udot    za.d[w11, 7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
2377// CHECK-ENCODING: [0xf7,0x77,0x7f,0xc1]
2378// CHECK-ERROR: instruction requires: sme2
2379// CHECK-UNKNOWN: c17f77f7 <unknown>
2380
2381udot    za.d[w11, 7], {z31.h - z2.h}, z15.h  // 11000001-01111111-01110111-11110111
2382// CHECK-INST: udot    za.d[w11, 7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
2383// CHECK-ENCODING: [0xf7,0x77,0x7f,0xc1]
2384// CHECK-ERROR: instruction requires: sme2
2385// CHECK-UNKNOWN: c17f77f7 <unknown>
2386
2387udot    za.d[w8, 5, vgx4], {z17.h - z20.h}, z0.h  // 11000001-01110000-00010110-00110101
2388// CHECK-INST: udot    za.d[w8, 5, vgx4], { z17.h - z20.h }, z0.h
2389// CHECK-ENCODING: [0x35,0x16,0x70,0xc1]
2390// CHECK-ERROR: instruction requires: sme2
2391// CHECK-UNKNOWN: c1701635 <unknown>
2392
2393udot    za.d[w8, 5], {z17.h - z20.h}, z0.h  // 11000001-01110000-00010110-00110101
2394// CHECK-INST: udot    za.d[w8, 5, vgx4], { z17.h - z20.h }, z0.h
2395// CHECK-ENCODING: [0x35,0x16,0x70,0xc1]
2396// CHECK-ERROR: instruction requires: sme2
2397// CHECK-UNKNOWN: c1701635 <unknown>
2398
2399udot    za.d[w8, 1, vgx4], {z1.h - z4.h}, z14.h  // 11000001-01111110-00010100-00110001
2400// CHECK-INST: udot    za.d[w8, 1, vgx4], { z1.h - z4.h }, z14.h
2401// CHECK-ENCODING: [0x31,0x14,0x7e,0xc1]
2402// CHECK-ERROR: instruction requires: sme2
2403// CHECK-UNKNOWN: c17e1431 <unknown>
2404
2405udot    za.d[w8, 1], {z1.h - z4.h}, z14.h  // 11000001-01111110-00010100-00110001
2406// CHECK-INST: udot    za.d[w8, 1, vgx4], { z1.h - z4.h }, z14.h
2407// CHECK-ENCODING: [0x31,0x14,0x7e,0xc1]
2408// CHECK-ERROR: instruction requires: sme2
2409// CHECK-UNKNOWN: c17e1431 <unknown>
2410
2411udot    za.d[w10, 0, vgx4], {z19.h - z22.h}, z4.h  // 11000001-01110100-01010110-01110000
2412// CHECK-INST: udot    za.d[w10, 0, vgx4], { z19.h - z22.h }, z4.h
2413// CHECK-ENCODING: [0x70,0x56,0x74,0xc1]
2414// CHECK-ERROR: instruction requires: sme2
2415// CHECK-UNKNOWN: c1745670 <unknown>
2416
2417udot    za.d[w10, 0], {z19.h - z22.h}, z4.h  // 11000001-01110100-01010110-01110000
2418// CHECK-INST: udot    za.d[w10, 0, vgx4], { z19.h - z22.h }, z4.h
2419// CHECK-ENCODING: [0x70,0x56,0x74,0xc1]
2420// CHECK-ERROR: instruction requires: sme2
2421// CHECK-UNKNOWN: c1745670 <unknown>
2422
2423udot    za.d[w8, 0, vgx4], {z12.h - z15.h}, z2.h  // 11000001-01110010-00010101-10010000
2424// CHECK-INST: udot    za.d[w8, 0, vgx4], { z12.h - z15.h }, z2.h
2425// CHECK-ENCODING: [0x90,0x15,0x72,0xc1]
2426// CHECK-ERROR: instruction requires: sme2
2427// CHECK-UNKNOWN: c1721590 <unknown>
2428
2429udot    za.d[w8, 0], {z12.h - z15.h}, z2.h  // 11000001-01110010-00010101-10010000
2430// CHECK-INST: udot    za.d[w8, 0, vgx4], { z12.h - z15.h }, z2.h
2431// CHECK-ENCODING: [0x90,0x15,0x72,0xc1]
2432// CHECK-ERROR: instruction requires: sme2
2433// CHECK-UNKNOWN: c1721590 <unknown>
2434
2435udot    za.d[w10, 1, vgx4], {z1.h - z4.h}, z10.h  // 11000001-01111010-01010100-00110001
2436// CHECK-INST: udot    za.d[w10, 1, vgx4], { z1.h - z4.h }, z10.h
2437// CHECK-ENCODING: [0x31,0x54,0x7a,0xc1]
2438// CHECK-ERROR: instruction requires: sme2
2439// CHECK-UNKNOWN: c17a5431 <unknown>
2440
2441udot    za.d[w10, 1], {z1.h - z4.h}, z10.h  // 11000001-01111010-01010100-00110001
2442// CHECK-INST: udot    za.d[w10, 1, vgx4], { z1.h - z4.h }, z10.h
2443// CHECK-ENCODING: [0x31,0x54,0x7a,0xc1]
2444// CHECK-ERROR: instruction requires: sme2
2445// CHECK-UNKNOWN: c17a5431 <unknown>
2446
2447udot    za.d[w8, 5, vgx4], {z22.h - z25.h}, z14.h  // 11000001-01111110-00010110-11010101
2448// CHECK-INST: udot    za.d[w8, 5, vgx4], { z22.h - z25.h }, z14.h
2449// CHECK-ENCODING: [0xd5,0x16,0x7e,0xc1]
2450// CHECK-ERROR: instruction requires: sme2
2451// CHECK-UNKNOWN: c17e16d5 <unknown>
2452
2453udot    za.d[w8, 5], {z22.h - z25.h}, z14.h  // 11000001-01111110-00010110-11010101
2454// CHECK-INST: udot    za.d[w8, 5, vgx4], { z22.h - z25.h }, z14.h
2455// CHECK-ENCODING: [0xd5,0x16,0x7e,0xc1]
2456// CHECK-ERROR: instruction requires: sme2
2457// CHECK-UNKNOWN: c17e16d5 <unknown>
2458
2459udot    za.d[w11, 2, vgx4], {z9.h - z12.h}, z1.h  // 11000001-01110001-01110101-00110010
2460// CHECK-INST: udot    za.d[w11, 2, vgx4], { z9.h - z12.h }, z1.h
2461// CHECK-ENCODING: [0x32,0x75,0x71,0xc1]
2462// CHECK-ERROR: instruction requires: sme2
2463// CHECK-UNKNOWN: c1717532 <unknown>
2464
2465udot    za.d[w11, 2], {z9.h - z12.h}, z1.h  // 11000001-01110001-01110101-00110010
2466// CHECK-INST: udot    za.d[w11, 2, vgx4], { z9.h - z12.h }, z1.h
2467// CHECK-ENCODING: [0x32,0x75,0x71,0xc1]
2468// CHECK-ERROR: instruction requires: sme2
2469// CHECK-UNKNOWN: c1717532 <unknown>
2470
2471udot    za.d[w9, 7, vgx4], {z12.h - z15.h}, z11.h  // 11000001-01111011-00110101-10010111
2472// CHECK-INST: udot    za.d[w9, 7, vgx4], { z12.h - z15.h }, z11.h
2473// CHECK-ENCODING: [0x97,0x35,0x7b,0xc1]
2474// CHECK-ERROR: instruction requires: sme2
2475// CHECK-UNKNOWN: c17b3597 <unknown>
2476
2477udot    za.d[w9, 7], {z12.h - z15.h}, z11.h  // 11000001-01111011-00110101-10010111
2478// CHECK-INST: udot    za.d[w9, 7, vgx4], { z12.h - z15.h }, z11.h
2479// CHECK-ENCODING: [0x97,0x35,0x7b,0xc1]
2480// CHECK-ERROR: instruction requires: sme2
2481// CHECK-UNKNOWN: c17b3597 <unknown>
2482
2483udot    za.d[w8, 0, vgx4], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-11100001-00010100-00010000
2484// CHECK-INST: udot    za.d[w8, 0, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
2485// CHECK-ENCODING: [0x10,0x14,0xe1,0xc1]
2486// CHECK-ERROR: instruction requires: sme2
2487// CHECK-UNKNOWN: c1e11410 <unknown>
2488
2489udot    za.d[w8, 0], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-11100001-00010100-00010000
2490// CHECK-INST: udot    za.d[w8, 0, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
2491// CHECK-ENCODING: [0x10,0x14,0xe1,0xc1]
2492// CHECK-ERROR: instruction requires: sme2
2493// CHECK-UNKNOWN: c1e11410 <unknown>
2494
2495udot    za.d[w10, 5, vgx4], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-11110101-01010101-00010101
2496// CHECK-INST: udot    za.d[w10, 5, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
2497// CHECK-ENCODING: [0x15,0x55,0xf5,0xc1]
2498// CHECK-ERROR: instruction requires: sme2
2499// CHECK-UNKNOWN: c1f55515 <unknown>
2500
2501udot    za.d[w10, 5], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-11110101-01010101-00010101
2502// CHECK-INST: udot    za.d[w10, 5, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
2503// CHECK-ENCODING: [0x15,0x55,0xf5,0xc1]
2504// CHECK-ERROR: instruction requires: sme2
2505// CHECK-UNKNOWN: c1f55515 <unknown>
2506
2507udot    za.d[w11, 7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-01110101-10010111
2508// CHECK-INST: udot    za.d[w11, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
2509// CHECK-ENCODING: [0x97,0x75,0xe9,0xc1]
2510// CHECK-ERROR: instruction requires: sme2
2511// CHECK-UNKNOWN: c1e97597 <unknown>
2512
2513udot    za.d[w11, 7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-01110101-10010111
2514// CHECK-INST: udot    za.d[w11, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
2515// CHECK-ENCODING: [0x97,0x75,0xe9,0xc1]
2516// CHECK-ERROR: instruction requires: sme2
2517// CHECK-UNKNOWN: c1e97597 <unknown>
2518
2519udot    za.d[w11, 7, vgx4], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-11111101-01110111-10010111
2520// CHECK-INST: udot    za.d[w11, 7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
2521// CHECK-ENCODING: [0x97,0x77,0xfd,0xc1]
2522// CHECK-ERROR: instruction requires: sme2
2523// CHECK-UNKNOWN: c1fd7797 <unknown>
2524
2525udot    za.d[w11, 7], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-11111101-01110111-10010111
2526// CHECK-INST: udot    za.d[w11, 7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
2527// CHECK-ENCODING: [0x97,0x77,0xfd,0xc1]
2528// CHECK-ERROR: instruction requires: sme2
2529// CHECK-UNKNOWN: c1fd7797 <unknown>
2530
2531udot    za.d[w8, 5, vgx4], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-11110001-00010110-00010101
2532// CHECK-INST: udot    za.d[w8, 5, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
2533// CHECK-ENCODING: [0x15,0x16,0xf1,0xc1]
2534// CHECK-ERROR: instruction requires: sme2
2535// CHECK-UNKNOWN: c1f11615 <unknown>
2536
2537udot    za.d[w8, 5], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-11110001-00010110-00010101
2538// CHECK-INST: udot    za.d[w8, 5, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
2539// CHECK-ENCODING: [0x15,0x16,0xf1,0xc1]
2540// CHECK-ERROR: instruction requires: sme2
2541// CHECK-UNKNOWN: c1f11615 <unknown>
2542
2543udot    za.d[w8, 1, vgx4], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-11111101-00010100-00010001
2544// CHECK-INST: udot    za.d[w8, 1, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
2545// CHECK-ENCODING: [0x11,0x14,0xfd,0xc1]
2546// CHECK-ERROR: instruction requires: sme2
2547// CHECK-UNKNOWN: c1fd1411 <unknown>
2548
2549udot    za.d[w8, 1], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-11111101-00010100-00010001
2550// CHECK-INST: udot    za.d[w8, 1, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
2551// CHECK-ENCODING: [0x11,0x14,0xfd,0xc1]
2552// CHECK-ERROR: instruction requires: sme2
2553// CHECK-UNKNOWN: c1fd1411 <unknown>
2554
2555udot    za.d[w10, 0, vgx4], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-11110101-01010110-00010000
2556// CHECK-INST: udot    za.d[w10, 0, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
2557// CHECK-ENCODING: [0x10,0x56,0xf5,0xc1]
2558// CHECK-ERROR: instruction requires: sme2
2559// CHECK-UNKNOWN: c1f55610 <unknown>
2560udot    za.d[w10, 0], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-11110101-01010110-00010000
2561// CHECK-INST: udot    za.d[w10, 0, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
2562// CHECK-ENCODING: [0x10,0x56,0xf5,0xc1]
2563// CHECK-ERROR: instruction requires: sme2
2564// CHECK-UNKNOWN: c1f55610 <unknown>
2565
2566udot    za.d[w8, 0, vgx4], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-11100001-00010101-10010000
2567// CHECK-INST: udot    za.d[w8, 0, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
2568// CHECK-ENCODING: [0x90,0x15,0xe1,0xc1]
2569// CHECK-ERROR: instruction requires: sme2
2570// CHECK-UNKNOWN: c1e11590 <unknown>
2571
2572udot    za.d[w8, 0], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-11100001-00010101-10010000
2573// CHECK-INST: udot    za.d[w8, 0, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
2574// CHECK-ENCODING: [0x90,0x15,0xe1,0xc1]
2575// CHECK-ERROR: instruction requires: sme2
2576// CHECK-UNKNOWN: c1e11590 <unknown>
2577
2578udot    za.d[w10, 1, vgx4], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-11111001-01010100-00010001
2579// CHECK-INST: udot    za.d[w10, 1, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
2580// CHECK-ENCODING: [0x11,0x54,0xf9,0xc1]
2581// CHECK-ERROR: instruction requires: sme2
2582// CHECK-UNKNOWN: c1f95411 <unknown>
2583
2584udot    za.d[w10, 1], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-11111001-01010100-00010001
2585// CHECK-INST: udot    za.d[w10, 1, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
2586// CHECK-ENCODING: [0x11,0x54,0xf9,0xc1]
2587// CHECK-ERROR: instruction requires: sme2
2588// CHECK-UNKNOWN: c1f95411 <unknown>
2589
2590udot    za.d[w8, 5, vgx4], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-11111101-00010110-10010101
2591// CHECK-INST: udot    za.d[w8, 5, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
2592// CHECK-ENCODING: [0x95,0x16,0xfd,0xc1]
2593// CHECK-ERROR: instruction requires: sme2
2594// CHECK-UNKNOWN: c1fd1695 <unknown>
2595
2596udot    za.d[w8, 5], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-11111101-00010110-10010101
2597// CHECK-INST: udot    za.d[w8, 5, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
2598// CHECK-ENCODING: [0x95,0x16,0xfd,0xc1]
2599// CHECK-ERROR: instruction requires: sme2
2600// CHECK-UNKNOWN: c1fd1695 <unknown>
2601
2602udot    za.d[w11, 2, vgx4], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-11100001-01110101-00010010
2603// CHECK-INST: udot    za.d[w11, 2, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
2604// CHECK-ENCODING: [0x12,0x75,0xe1,0xc1]
2605// CHECK-ERROR: instruction requires: sme2
2606// CHECK-UNKNOWN: c1e17512 <unknown>
2607
2608udot    za.d[w11, 2], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-11100001-01110101-00010010
2609// CHECK-INST: udot    za.d[w11, 2, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
2610// CHECK-ENCODING: [0x12,0x75,0xe1,0xc1]
2611// CHECK-ERROR: instruction requires: sme2
2612// CHECK-UNKNOWN: c1e17512 <unknown>
2613
2614udot    za.d[w9, 7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-00110101-10010111
2615// CHECK-INST: udot    za.d[w9, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
2616// CHECK-ENCODING: [0x97,0x35,0xe9,0xc1]
2617// CHECK-ERROR: instruction requires: sme2
2618// CHECK-UNKNOWN: c1e93597 <unknown>
2619
2620udot    za.d[w9, 7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-00110101-10010111
2621// CHECK-INST: udot    za.d[w9, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
2622// CHECK-ENCODING: [0x97,0x35,0xe9,0xc1]
2623// CHECK-ERROR: instruction requires: sme2
2624// CHECK-UNKNOWN: c1e93597 <unknown>
2625
2626
2627