xref: /llvm-project/llvm/test/MC/AArch64/SME2/umlal.s (revision 0837bc1d041517ab29f86792288113409b7c6672)
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2 < %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 < %s \
6// RUN:        | llvm-objdump --no-print-imm-hex -d --mattr=+sme2 - | FileCheck %s --check-prefix=CHECK-INST
7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2 < %s \
8// RUN:        | llvm-objdump --no-print-imm-hex -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2 < %s \
10// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
11// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme2 -disassemble -show-encoding \
12// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
13
14
15umlal   za.s[w8, 0:1], z0.h, z0.h  // 11000001-01100000-00001100-00010000
16// CHECK-INST: umlal   za.s[w8, 0:1], z0.h, z0.h
17// CHECK-ENCODING: [0x10,0x0c,0x60,0xc1]
18// CHECK-ERROR: instruction requires: sme2
19// CHECK-UNKNOWN: c1600c10 <unknown>
20
21umlal   za.s[w10, 10:11], z10.h, z5.h  // 11000001-01100101-01001101-01010101
22// CHECK-INST: umlal   za.s[w10, 10:11], z10.h, z5.h
23// CHECK-ENCODING: [0x55,0x4d,0x65,0xc1]
24// CHECK-ERROR: instruction requires: sme2
25// CHECK-UNKNOWN: c1654d55 <unknown>
26
27umlal   za.s[w11, 14:15], z13.h, z8.h  // 11000001-01101000-01101101-10110111
28// CHECK-INST: umlal   za.s[w11, 14:15], z13.h, z8.h
29// CHECK-ENCODING: [0xb7,0x6d,0x68,0xc1]
30// CHECK-ERROR: instruction requires: sme2
31// CHECK-UNKNOWN: c1686db7 <unknown>
32
33umlal   za.s[w11, 14:15], z31.h, z15.h  // 11000001-01101111-01101111-11110111
34// CHECK-INST: umlal   za.s[w11, 14:15], z31.h, z15.h
35// CHECK-ENCODING: [0xf7,0x6f,0x6f,0xc1]
36// CHECK-ERROR: instruction requires: sme2
37// CHECK-UNKNOWN: c16f6ff7 <unknown>
38
39umlal   za.s[w8, 10:11], z17.h, z0.h  // 11000001-01100000-00001110-00110101
40// CHECK-INST: umlal   za.s[w8, 10:11], z17.h, z0.h
41// CHECK-ENCODING: [0x35,0x0e,0x60,0xc1]
42// CHECK-ERROR: instruction requires: sme2
43// CHECK-UNKNOWN: c1600e35 <unknown>
44
45umlal   za.s[w8, 2:3], z1.h, z14.h  // 11000001-01101110-00001100-00110001
46// CHECK-INST: umlal   za.s[w8, 2:3], z1.h, z14.h
47// CHECK-ENCODING: [0x31,0x0c,0x6e,0xc1]
48// CHECK-ERROR: instruction requires: sme2
49// CHECK-UNKNOWN: c16e0c31 <unknown>
50
51umlal   za.s[w10, 0:1], z19.h, z4.h  // 11000001-01100100-01001110-01110000
52// CHECK-INST: umlal   za.s[w10, 0:1], z19.h, z4.h
53// CHECK-ENCODING: [0x70,0x4e,0x64,0xc1]
54// CHECK-ERROR: instruction requires: sme2
55// CHECK-UNKNOWN: c1644e70 <unknown>
56
57umlal   za.s[w8, 0:1], z12.h, z2.h  // 11000001-01100010-00001101-10010000
58// CHECK-INST: umlal   za.s[w8, 0:1], z12.h, z2.h
59// CHECK-ENCODING: [0x90,0x0d,0x62,0xc1]
60// CHECK-ERROR: instruction requires: sme2
61// CHECK-UNKNOWN: c1620d90 <unknown>
62
63umlal   za.s[w10, 2:3], z1.h, z10.h  // 11000001-01101010-01001100-00110001
64// CHECK-INST: umlal   za.s[w10, 2:3], z1.h, z10.h
65// CHECK-ENCODING: [0x31,0x4c,0x6a,0xc1]
66// CHECK-ERROR: instruction requires: sme2
67// CHECK-UNKNOWN: c16a4c31 <unknown>
68
69umlal   za.s[w8, 10:11], z22.h, z14.h  // 11000001-01101110-00001110-11010101
70// CHECK-INST: umlal   za.s[w8, 10:11], z22.h, z14.h
71// CHECK-ENCODING: [0xd5,0x0e,0x6e,0xc1]
72// CHECK-ERROR: instruction requires: sme2
73// CHECK-UNKNOWN: c16e0ed5 <unknown>
74
75umlal   za.s[w11, 4:5], z9.h, z1.h  // 11000001-01100001-01101101-00110010
76// CHECK-INST: umlal   za.s[w11, 4:5], z9.h, z1.h
77// CHECK-ENCODING: [0x32,0x6d,0x61,0xc1]
78// CHECK-ERROR: instruction requires: sme2
79// CHECK-UNKNOWN: c1616d32 <unknown>
80
81umlal   za.s[w9, 14:15], z12.h, z11.h  // 11000001-01101011-00101101-10010111
82// CHECK-INST: umlal   za.s[w9, 14:15], z12.h, z11.h
83// CHECK-ENCODING: [0x97,0x2d,0x6b,0xc1]
84// CHECK-ERROR: instruction requires: sme2
85// CHECK-UNKNOWN: c16b2d97 <unknown>
86
87
88umlal   za.s[w8, 0:1], z0.h, z0.h[0]  // 11000001-11000000-00010000-00010000
89// CHECK-INST: umlal   za.s[w8, 0:1], z0.h, z0.h[0]
90// CHECK-ENCODING: [0x10,0x10,0xc0,0xc1]
91// CHECK-ERROR: instruction requires: sme2
92// CHECK-UNKNOWN: c1c01010 <unknown>
93
94umlal   za.s[w10, 10:11], z10.h, z5.h[1]  // 11000001-11000101-01010101-01010101
95// CHECK-INST: umlal   za.s[w10, 10:11], z10.h, z5.h[1]
96// CHECK-ENCODING: [0x55,0x55,0xc5,0xc1]
97// CHECK-ERROR: instruction requires: sme2
98// CHECK-UNKNOWN: c1c55555 <unknown>
99
100umlal   za.s[w11, 14:15], z13.h, z8.h[7]  // 11000001-11001000-11111101-10110111
101// CHECK-INST: umlal   za.s[w11, 14:15], z13.h, z8.h[7]
102// CHECK-ENCODING: [0xb7,0xfd,0xc8,0xc1]
103// CHECK-ERROR: instruction requires: sme2
104// CHECK-UNKNOWN: c1c8fdb7 <unknown>
105
106umlal   za.s[w11, 14:15], z31.h, z15.h[7]  // 11000001-11001111-11111111-11110111
107// CHECK-INST: umlal   za.s[w11, 14:15], z31.h, z15.h[7]
108// CHECK-ENCODING: [0xf7,0xff,0xcf,0xc1]
109// CHECK-ERROR: instruction requires: sme2
110// CHECK-UNKNOWN: c1cffff7 <unknown>
111
112umlal   za.s[w8, 10:11], z17.h, z0.h[3]  // 11000001-11000000-00011110-00110101
113// CHECK-INST: umlal   za.s[w8, 10:11], z17.h, z0.h[3]
114// CHECK-ENCODING: [0x35,0x1e,0xc0,0xc1]
115// CHECK-ERROR: instruction requires: sme2
116// CHECK-UNKNOWN: c1c01e35 <unknown>
117
118umlal   za.s[w8, 2:3], z1.h, z14.h[5]  // 11000001-11001110-10010100-00110001
119// CHECK-INST: umlal   za.s[w8, 2:3], z1.h, z14.h[5]
120// CHECK-ENCODING: [0x31,0x94,0xce,0xc1]
121// CHECK-ERROR: instruction requires: sme2
122// CHECK-UNKNOWN: c1ce9431 <unknown>
123
124umlal   za.s[w10, 0:1], z19.h, z4.h[1]  // 11000001-11000100-01010110-01110000
125// CHECK-INST: umlal   za.s[w10, 0:1], z19.h, z4.h[1]
126// CHECK-ENCODING: [0x70,0x56,0xc4,0xc1]
127// CHECK-ERROR: instruction requires: sme2
128// CHECK-UNKNOWN: c1c45670 <unknown>
129
130umlal   za.s[w8, 0:1], z12.h, z2.h[2]  // 11000001-11000010-00011001-10010000
131// CHECK-INST: umlal   za.s[w8, 0:1], z12.h, z2.h[2]
132// CHECK-ENCODING: [0x90,0x19,0xc2,0xc1]
133// CHECK-ERROR: instruction requires: sme2
134// CHECK-UNKNOWN: c1c21990 <unknown>
135
136umlal   za.s[w10, 2:3], z1.h, z10.h[6]  // 11000001-11001010-11011000-00110001
137// CHECK-INST: umlal   za.s[w10, 2:3], z1.h, z10.h[6]
138// CHECK-ENCODING: [0x31,0xd8,0xca,0xc1]
139// CHECK-ERROR: instruction requires: sme2
140// CHECK-UNKNOWN: c1cad831 <unknown>
141
142umlal   za.s[w8, 10:11], z22.h, z14.h[2]  // 11000001-11001110-00011010-11010101
143// CHECK-INST: umlal   za.s[w8, 10:11], z22.h, z14.h[2]
144// CHECK-ENCODING: [0xd5,0x1a,0xce,0xc1]
145// CHECK-ERROR: instruction requires: sme2
146// CHECK-UNKNOWN: c1ce1ad5 <unknown>
147
148umlal   za.s[w11, 4:5], z9.h, z1.h[5]  // 11000001-11000001-11110101-00110010
149// CHECK-INST: umlal   za.s[w11, 4:5], z9.h, z1.h[5]
150// CHECK-ENCODING: [0x32,0xf5,0xc1,0xc1]
151// CHECK-ERROR: instruction requires: sme2
152// CHECK-UNKNOWN: c1c1f532 <unknown>
153
154umlal   za.s[w9, 14:15], z12.h, z11.h[6]  // 11000001-11001011-10111001-10010111
155// CHECK-INST: umlal   za.s[w9, 14:15], z12.h, z11.h[6]
156// CHECK-ENCODING: [0x97,0xb9,0xcb,0xc1]
157// CHECK-ERROR: instruction requires: sme2
158// CHECK-UNKNOWN: c1cbb997 <unknown>
159
160
161umlal   za.s[w8, 0:1, vgx2], {z0.h, z1.h}, z0.h  // 11000001-01100000-00001000-00010000
162// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h
163// CHECK-ENCODING: [0x10,0x08,0x60,0xc1]
164// CHECK-ERROR: instruction requires: sme2
165// CHECK-UNKNOWN: c1600810 <unknown>
166
167umlal   za.s[w8, 0:1], {z0.h - z1.h}, z0.h  // 11000001-01100000-00001000-00010000
168// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h
169// CHECK-ENCODING: [0x10,0x08,0x60,0xc1]
170// CHECK-ERROR: instruction requires: sme2
171// CHECK-UNKNOWN: c1600810 <unknown>
172
173umlal   za.s[w10, 2:3, vgx2], {z10.h, z11.h}, z5.h  // 11000001-01100101-01001001-01010001
174// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h
175// CHECK-ENCODING: [0x51,0x49,0x65,0xc1]
176// CHECK-ERROR: instruction requires: sme2
177// CHECK-UNKNOWN: c1654951 <unknown>
178
179umlal   za.s[w10, 2:3], {z10.h - z11.h}, z5.h  // 11000001-01100101-01001001-01010001
180// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h
181// CHECK-ENCODING: [0x51,0x49,0x65,0xc1]
182// CHECK-ERROR: instruction requires: sme2
183// CHECK-UNKNOWN: c1654951 <unknown>
184
185umlal   za.s[w11, 6:7, vgx2], {z13.h, z14.h}, z8.h  // 11000001-01101000-01101001-10110011
186// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z13.h, z14.h }, z8.h
187// CHECK-ENCODING: [0xb3,0x69,0x68,0xc1]
188// CHECK-ERROR: instruction requires: sme2
189// CHECK-UNKNOWN: c16869b3 <unknown>
190
191umlal   za.s[w11, 6:7], {z13.h - z14.h}, z8.h  // 11000001-01101000-01101001-10110011
192// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z13.h, z14.h }, z8.h
193// CHECK-ENCODING: [0xb3,0x69,0x68,0xc1]
194// CHECK-ERROR: instruction requires: sme2
195// CHECK-UNKNOWN: c16869b3 <unknown>
196
197umlal   za.s[w11, 6:7, vgx2], {z31.h, z0.h}, z15.h  // 11000001-01101111-01101011-11110011
198// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z31.h, z0.h }, z15.h
199// CHECK-ENCODING: [0xf3,0x6b,0x6f,0xc1]
200// CHECK-ERROR: instruction requires: sme2
201// CHECK-UNKNOWN: c16f6bf3 <unknown>
202
203umlal   za.s[w11, 6:7], {z31.h - z0.h}, z15.h  // 11000001-01101111-01101011-11110011
204// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z31.h, z0.h }, z15.h
205// CHECK-ENCODING: [0xf3,0x6b,0x6f,0xc1]
206// CHECK-ERROR: instruction requires: sme2
207// CHECK-UNKNOWN: c16f6bf3 <unknown>
208
209umlal   za.s[w8, 2:3, vgx2], {z17.h, z18.h}, z0.h  // 11000001-01100000-00001010-00110001
210// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z17.h, z18.h }, z0.h
211// CHECK-ENCODING: [0x31,0x0a,0x60,0xc1]
212// CHECK-ERROR: instruction requires: sme2
213// CHECK-UNKNOWN: c1600a31 <unknown>
214
215umlal   za.s[w8, 2:3], {z17.h - z18.h}, z0.h  // 11000001-01100000-00001010-00110001
216// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z17.h, z18.h }, z0.h
217// CHECK-ENCODING: [0x31,0x0a,0x60,0xc1]
218// CHECK-ERROR: instruction requires: sme2
219// CHECK-UNKNOWN: c1600a31 <unknown>
220
221umlal   za.s[w8, 2:3, vgx2], {z1.h, z2.h}, z14.h  // 11000001-01101110-00001000-00110001
222// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z1.h, z2.h }, z14.h
223// CHECK-ENCODING: [0x31,0x08,0x6e,0xc1]
224// CHECK-ERROR: instruction requires: sme2
225// CHECK-UNKNOWN: c16e0831 <unknown>
226
227umlal   za.s[w8, 2:3], {z1.h - z2.h}, z14.h  // 11000001-01101110-00001000-00110001
228// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z1.h, z2.h }, z14.h
229// CHECK-ENCODING: [0x31,0x08,0x6e,0xc1]
230// CHECK-ERROR: instruction requires: sme2
231// CHECK-UNKNOWN: c16e0831 <unknown>
232
233umlal   za.s[w10, 0:1, vgx2], {z19.h, z20.h}, z4.h  // 11000001-01100100-01001010-01110000
234// CHECK-INST: umlal   za.s[w10, 0:1, vgx2], { z19.h, z20.h }, z4.h
235// CHECK-ENCODING: [0x70,0x4a,0x64,0xc1]
236// CHECK-ERROR: instruction requires: sme2
237// CHECK-UNKNOWN: c1644a70 <unknown>
238
239umlal   za.s[w10, 0:1], {z19.h - z20.h}, z4.h  // 11000001-01100100-01001010-01110000
240// CHECK-INST: umlal   za.s[w10, 0:1, vgx2], { z19.h, z20.h }, z4.h
241// CHECK-ENCODING: [0x70,0x4a,0x64,0xc1]
242// CHECK-ERROR: instruction requires: sme2
243// CHECK-UNKNOWN: c1644a70 <unknown>
244
245umlal   za.s[w8, 0:1, vgx2], {z12.h, z13.h}, z2.h  // 11000001-01100010-00001001-10010000
246// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h
247// CHECK-ENCODING: [0x90,0x09,0x62,0xc1]
248// CHECK-ERROR: instruction requires: sme2
249// CHECK-UNKNOWN: c1620990 <unknown>
250
251umlal   za.s[w8, 0:1], {z12.h - z13.h}, z2.h  // 11000001-01100010-00001001-10010000
252// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h
253// CHECK-ENCODING: [0x90,0x09,0x62,0xc1]
254// CHECK-ERROR: instruction requires: sme2
255// CHECK-UNKNOWN: c1620990 <unknown>
256
257umlal   za.s[w10, 2:3, vgx2], {z1.h, z2.h}, z10.h  // 11000001-01101010-01001000-00110001
258// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z1.h, z2.h }, z10.h
259// CHECK-ENCODING: [0x31,0x48,0x6a,0xc1]
260// CHECK-ERROR: instruction requires: sme2
261// CHECK-UNKNOWN: c16a4831 <unknown>
262
263umlal   za.s[w10, 2:3], {z1.h - z2.h}, z10.h  // 11000001-01101010-01001000-00110001
264// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z1.h, z2.h }, z10.h
265// CHECK-ENCODING: [0x31,0x48,0x6a,0xc1]
266// CHECK-ERROR: instruction requires: sme2
267// CHECK-UNKNOWN: c16a4831 <unknown>
268
269umlal   za.s[w8, 2:3, vgx2], {z22.h, z23.h}, z14.h  // 11000001-01101110-00001010-11010001
270// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h
271// CHECK-ENCODING: [0xd1,0x0a,0x6e,0xc1]
272// CHECK-ERROR: instruction requires: sme2
273// CHECK-UNKNOWN: c16e0ad1 <unknown>
274
275umlal   za.s[w8, 2:3], {z22.h - z23.h}, z14.h  // 11000001-01101110-00001010-11010001
276// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h
277// CHECK-ENCODING: [0xd1,0x0a,0x6e,0xc1]
278// CHECK-ERROR: instruction requires: sme2
279// CHECK-UNKNOWN: c16e0ad1 <unknown>
280
281umlal   za.s[w11, 4:5, vgx2], {z9.h, z10.h}, z1.h  // 11000001-01100001-01101001-00110010
282// CHECK-INST: umlal   za.s[w11, 4:5, vgx2], { z9.h, z10.h }, z1.h
283// CHECK-ENCODING: [0x32,0x69,0x61,0xc1]
284// CHECK-ERROR: instruction requires: sme2
285// CHECK-UNKNOWN: c1616932 <unknown>
286
287umlal   za.s[w11, 4:5], {z9.h - z10.h}, z1.h  // 11000001-01100001-01101001-00110010
288// CHECK-INST: umlal   za.s[w11, 4:5, vgx2], { z9.h, z10.h }, z1.h
289// CHECK-ENCODING: [0x32,0x69,0x61,0xc1]
290// CHECK-ERROR: instruction requires: sme2
291// CHECK-UNKNOWN: c1616932 <unknown>
292
293umlal   za.s[w9, 6:7, vgx2], {z12.h, z13.h}, z11.h  // 11000001-01101011-00101001-10010011
294// CHECK-INST: umlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h
295// CHECK-ENCODING: [0x93,0x29,0x6b,0xc1]
296// CHECK-ERROR: instruction requires: sme2
297// CHECK-UNKNOWN: c16b2993 <unknown>
298
299umlal   za.s[w9, 6:7], {z12.h - z13.h}, z11.h  // 11000001-01101011-00101001-10010011
300// CHECK-INST: umlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h
301// CHECK-ENCODING: [0x93,0x29,0x6b,0xc1]
302// CHECK-ERROR: instruction requires: sme2
303// CHECK-UNKNOWN: c16b2993 <unknown>
304
305
306umlal   za.s[w8, 0:1, vgx2], {z0.h, z1.h}, z0.h[0]  // 11000001-11010000-00010000-00010000
307// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h[0]
308// CHECK-ENCODING: [0x10,0x10,0xd0,0xc1]
309// CHECK-ERROR: instruction requires: sme2
310// CHECK-UNKNOWN: c1d01010 <unknown>
311
312umlal   za.s[w8, 0:1], {z0.h - z1.h}, z0.h[0]  // 11000001-11010000-00010000-00010000
313// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h[0]
314// CHECK-ENCODING: [0x10,0x10,0xd0,0xc1]
315// CHECK-ERROR: instruction requires: sme2
316// CHECK-UNKNOWN: c1d01010 <unknown>
317
318umlal   za.s[w10, 2:3, vgx2], {z10.h, z11.h}, z5.h[3]  // 11000001-11010101-01010101-01010101
319// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h[3]
320// CHECK-ENCODING: [0x55,0x55,0xd5,0xc1]
321// CHECK-ERROR: instruction requires: sme2
322// CHECK-UNKNOWN: c1d55555 <unknown>
323
324umlal   za.s[w10, 2:3], {z10.h - z11.h}, z5.h[3]  // 11000001-11010101-01010101-01010101
325// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h[3]
326// CHECK-ENCODING: [0x55,0x55,0xd5,0xc1]
327// CHECK-ERROR: instruction requires: sme2
328// CHECK-UNKNOWN: c1d55555 <unknown>
329
330umlal   za.s[w11, 6:7, vgx2], {z12.h, z13.h}, z8.h[7]  // 11000001-11011000-01111101-10010111
331// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z12.h, z13.h }, z8.h[7]
332// CHECK-ENCODING: [0x97,0x7d,0xd8,0xc1]
333// CHECK-ERROR: instruction requires: sme2
334// CHECK-UNKNOWN: c1d87d97 <unknown>
335
336umlal   za.s[w11, 6:7], {z12.h - z13.h}, z8.h[7]  // 11000001-11011000-01111101-10010111
337// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z12.h, z13.h }, z8.h[7]
338// CHECK-ENCODING: [0x97,0x7d,0xd8,0xc1]
339// CHECK-ERROR: instruction requires: sme2
340// CHECK-UNKNOWN: c1d87d97 <unknown>
341
342umlal   za.s[w11, 6:7, vgx2], {z30.h, z31.h}, z15.h[7]  // 11000001-11011111-01111111-11010111
343// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z30.h, z31.h }, z15.h[7]
344// CHECK-ENCODING: [0xd7,0x7f,0xdf,0xc1]
345// CHECK-ERROR: instruction requires: sme2
346// CHECK-UNKNOWN: c1df7fd7 <unknown>
347
348umlal   za.s[w11, 6:7], {z30.h - z31.h}, z15.h[7]  // 11000001-11011111-01111111-11010111
349// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z30.h, z31.h }, z15.h[7]
350// CHECK-ENCODING: [0xd7,0x7f,0xdf,0xc1]
351// CHECK-ERROR: instruction requires: sme2
352// CHECK-UNKNOWN: c1df7fd7 <unknown>
353
354umlal   za.s[w8, 2:3, vgx2], {z16.h, z17.h}, z0.h[7]  // 11000001-11010000-00011110-00010101
355// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z16.h, z17.h }, z0.h[7]
356// CHECK-ENCODING: [0x15,0x1e,0xd0,0xc1]
357// CHECK-ERROR: instruction requires: sme2
358// CHECK-UNKNOWN: c1d01e15 <unknown>
359
360umlal   za.s[w8, 2:3], {z16.h - z17.h}, z0.h[7]  // 11000001-11010000-00011110-00010101
361// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z16.h, z17.h }, z0.h[7]
362// CHECK-ENCODING: [0x15,0x1e,0xd0,0xc1]
363// CHECK-ERROR: instruction requires: sme2
364// CHECK-UNKNOWN: c1d01e15 <unknown>
365
366umlal   za.s[w8, 2:3, vgx2], {z0.h, z1.h}, z14.h[2]  // 11000001-11011110-00010100-00010001
367// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z0.h, z1.h }, z14.h[2]
368// CHECK-ENCODING: [0x11,0x14,0xde,0xc1]
369// CHECK-ERROR: instruction requires: sme2
370// CHECK-UNKNOWN: c1de1411 <unknown>
371
372umlal   za.s[w8, 2:3], {z0.h - z1.h}, z14.h[2]  // 11000001-11011110-00010100-00010001
373// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z0.h, z1.h }, z14.h[2]
374// CHECK-ENCODING: [0x11,0x14,0xde,0xc1]
375// CHECK-ERROR: instruction requires: sme2
376// CHECK-UNKNOWN: c1de1411 <unknown>
377
378umlal   za.s[w10, 0:1, vgx2], {z18.h, z19.h}, z4.h[2]  // 11000001-11010100-01010110-01010000
379// CHECK-INST: umlal   za.s[w10, 0:1, vgx2], { z18.h, z19.h }, z4.h[2]
380// CHECK-ENCODING: [0x50,0x56,0xd4,0xc1]
381// CHECK-ERROR: instruction requires: sme2
382// CHECK-UNKNOWN: c1d45650 <unknown>
383
384umlal   za.s[w10, 0:1], {z18.h - z19.h}, z4.h[2]  // 11000001-11010100-01010110-01010000
385// CHECK-INST: umlal   za.s[w10, 0:1, vgx2], { z18.h, z19.h }, z4.h[2]
386// CHECK-ENCODING: [0x50,0x56,0xd4,0xc1]
387// CHECK-ERROR: instruction requires: sme2
388// CHECK-UNKNOWN: c1d45650 <unknown>
389
390umlal   za.s[w8, 0:1, vgx2], {z12.h, z13.h}, z2.h[4]  // 11000001-11010010-00011001-10010000
391// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h[4]
392// CHECK-ENCODING: [0x90,0x19,0xd2,0xc1]
393// CHECK-ERROR: instruction requires: sme2
394// CHECK-UNKNOWN: c1d21990 <unknown>
395
396umlal   za.s[w8, 0:1], {z12.h - z13.h}, z2.h[4]  // 11000001-11010010-00011001-10010000
397// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h[4]
398// CHECK-ENCODING: [0x90,0x19,0xd2,0xc1]
399// CHECK-ERROR: instruction requires: sme2
400// CHECK-UNKNOWN: c1d21990 <unknown>
401
402umlal   za.s[w10, 2:3, vgx2], {z0.h, z1.h}, z10.h[4]  // 11000001-11011010-01011000-00010001
403// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z0.h, z1.h }, z10.h[4]
404// CHECK-ENCODING: [0x11,0x58,0xda,0xc1]
405// CHECK-ERROR: instruction requires: sme2
406// CHECK-UNKNOWN: c1da5811 <unknown>
407
408umlal   za.s[w10, 2:3], {z0.h - z1.h}, z10.h[4]  // 11000001-11011010-01011000-00010001
409// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z0.h, z1.h }, z10.h[4]
410// CHECK-ENCODING: [0x11,0x58,0xda,0xc1]
411// CHECK-ERROR: instruction requires: sme2
412// CHECK-UNKNOWN: c1da5811 <unknown>
413
414umlal   za.s[w8, 2:3, vgx2], {z22.h, z23.h}, z14.h[5]  // 11000001-11011110-00011010-11010101
415// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h[5]
416// CHECK-ENCODING: [0xd5,0x1a,0xde,0xc1]
417// CHECK-ERROR: instruction requires: sme2
418// CHECK-UNKNOWN: c1de1ad5 <unknown>
419
420umlal   za.s[w8, 2:3], {z22.h - z23.h}, z14.h[5]  // 11000001-11011110-00011010-11010101
421// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h[5]
422// CHECK-ENCODING: [0xd5,0x1a,0xde,0xc1]
423// CHECK-ERROR: instruction requires: sme2
424// CHECK-UNKNOWN: c1de1ad5 <unknown>
425
426umlal   za.s[w11, 4:5, vgx2], {z8.h, z9.h}, z1.h[2]  // 11000001-11010001-01110101-00010010
427// CHECK-INST: umlal   za.s[w11, 4:5, vgx2], { z8.h, z9.h }, z1.h[2]
428// CHECK-ENCODING: [0x12,0x75,0xd1,0xc1]
429// CHECK-ERROR: instruction requires: sme2
430// CHECK-UNKNOWN: c1d17512 <unknown>
431
432umlal   za.s[w11, 4:5], {z8.h - z9.h}, z1.h[2]  // 11000001-11010001-01110101-00010010
433// CHECK-INST: umlal   za.s[w11, 4:5, vgx2], { z8.h, z9.h }, z1.h[2]
434// CHECK-ENCODING: [0x12,0x75,0xd1,0xc1]
435// CHECK-ERROR: instruction requires: sme2
436// CHECK-UNKNOWN: c1d17512 <unknown>
437
438umlal   za.s[w9, 6:7, vgx2], {z12.h, z13.h}, z11.h[5]  // 11000001-11011011-00111001-10010111
439// CHECK-INST: umlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h[5]
440// CHECK-ENCODING: [0x97,0x39,0xdb,0xc1]
441// CHECK-ERROR: instruction requires: sme2
442// CHECK-UNKNOWN: c1db3997 <unknown>
443
444umlal   za.s[w9, 6:7], {z12.h - z13.h}, z11.h[5]  // 11000001-11011011-00111001-10010111
445// CHECK-INST: umlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h[5]
446// CHECK-ENCODING: [0x97,0x39,0xdb,0xc1]
447// CHECK-ERROR: instruction requires: sme2
448// CHECK-UNKNOWN: c1db3997 <unknown>
449
450
451umlal   za.s[w8, 0:1, vgx2], {z0.h, z1.h}, {z0.h, z1.h}  // 11000001-11100000-00001000-00010000
452// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
453// CHECK-ENCODING: [0x10,0x08,0xe0,0xc1]
454// CHECK-ERROR: instruction requires: sme2
455// CHECK-UNKNOWN: c1e00810 <unknown>
456
457umlal   za.s[w8, 0:1], {z0.h - z1.h}, {z0.h - z1.h}  // 11000001-11100000-00001000-00010000
458// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
459// CHECK-ENCODING: [0x10,0x08,0xe0,0xc1]
460// CHECK-ERROR: instruction requires: sme2
461// CHECK-UNKNOWN: c1e00810 <unknown>
462
463umlal   za.s[w10, 2:3, vgx2], {z10.h, z11.h}, {z20.h, z21.h}  // 11000001-11110100-01001001-01010001
464// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
465// CHECK-ENCODING: [0x51,0x49,0xf4,0xc1]
466// CHECK-ERROR: instruction requires: sme2
467// CHECK-UNKNOWN: c1f44951 <unknown>
468
469umlal   za.s[w10, 2:3], {z10.h - z11.h}, {z20.h - z21.h}  // 11000001-11110100-01001001-01010001
470// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
471// CHECK-ENCODING: [0x51,0x49,0xf4,0xc1]
472// CHECK-ERROR: instruction requires: sme2
473// CHECK-UNKNOWN: c1f44951 <unknown>
474
475umlal   za.s[w11, 6:7, vgx2], {z12.h, z13.h}, {z8.h, z9.h}  // 11000001-11101000-01101001-10010011
476// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
477// CHECK-ENCODING: [0x93,0x69,0xe8,0xc1]
478// CHECK-ERROR: instruction requires: sme2
479// CHECK-UNKNOWN: c1e86993 <unknown>
480
481umlal   za.s[w11, 6:7], {z12.h - z13.h}, {z8.h - z9.h}  // 11000001-11101000-01101001-10010011
482// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
483// CHECK-ENCODING: [0x93,0x69,0xe8,0xc1]
484// CHECK-ERROR: instruction requires: sme2
485// CHECK-UNKNOWN: c1e86993 <unknown>
486
487umlal   za.s[w11, 6:7, vgx2], {z30.h, z31.h}, {z30.h, z31.h}  // 11000001-11111110-01101011-11010011
488// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
489// CHECK-ENCODING: [0xd3,0x6b,0xfe,0xc1]
490// CHECK-ERROR: instruction requires: sme2
491// CHECK-UNKNOWN: c1fe6bd3 <unknown>
492
493umlal   za.s[w11, 6:7], {z30.h - z31.h}, {z30.h - z31.h}  // 11000001-11111110-01101011-11010011
494// CHECK-INST: umlal   za.s[w11, 6:7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
495// CHECK-ENCODING: [0xd3,0x6b,0xfe,0xc1]
496// CHECK-ERROR: instruction requires: sme2
497// CHECK-UNKNOWN: c1fe6bd3 <unknown>
498
499umlal   za.s[w8, 2:3, vgx2], {z16.h, z17.h}, {z16.h, z17.h}  // 11000001-11110000-00001010-00010001
500// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
501// CHECK-ENCODING: [0x11,0x0a,0xf0,0xc1]
502// CHECK-ERROR: instruction requires: sme2
503// CHECK-UNKNOWN: c1f00a11 <unknown>
504
505umlal   za.s[w8, 2:3], {z16.h - z17.h}, {z16.h - z17.h}  // 11000001-11110000-00001010-00010001
506// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
507// CHECK-ENCODING: [0x11,0x0a,0xf0,0xc1]
508// CHECK-ERROR: instruction requires: sme2
509// CHECK-UNKNOWN: c1f00a11 <unknown>
510
511umlal   za.s[w8, 2:3, vgx2], {z0.h, z1.h}, {z30.h, z31.h}  // 11000001-11111110-00001000-00010001
512// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
513// CHECK-ENCODING: [0x11,0x08,0xfe,0xc1]
514// CHECK-ERROR: instruction requires: sme2
515// CHECK-UNKNOWN: c1fe0811 <unknown>
516
517umlal   za.s[w8, 2:3], {z0.h - z1.h}, {z30.h - z31.h}  // 11000001-11111110-00001000-00010001
518// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
519// CHECK-ENCODING: [0x11,0x08,0xfe,0xc1]
520// CHECK-ERROR: instruction requires: sme2
521// CHECK-UNKNOWN: c1fe0811 <unknown>
522
523umlal   za.s[w10, 0:1, vgx2], {z18.h, z19.h}, {z20.h, z21.h}  // 11000001-11110100-01001010-01010000
524// CHECK-INST: umlal   za.s[w10, 0:1, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
525// CHECK-ENCODING: [0x50,0x4a,0xf4,0xc1]
526// CHECK-ERROR: instruction requires: sme2
527// CHECK-UNKNOWN: c1f44a50 <unknown>
528
529umlal   za.s[w10, 0:1], {z18.h - z19.h}, {z20.h - z21.h}  // 11000001-11110100-01001010-01010000
530// CHECK-INST: umlal   za.s[w10, 0:1, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
531// CHECK-ENCODING: [0x50,0x4a,0xf4,0xc1]
532// CHECK-ERROR: instruction requires: sme2
533// CHECK-UNKNOWN: c1f44a50 <unknown>
534
535umlal   za.s[w8, 0:1, vgx2], {z12.h, z13.h}, {z2.h, z3.h}  // 11000001-11100010-00001001-10010000
536// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
537// CHECK-ENCODING: [0x90,0x09,0xe2,0xc1]
538// CHECK-ERROR: instruction requires: sme2
539// CHECK-UNKNOWN: c1e20990 <unknown>
540
541umlal   za.s[w8, 0:1], {z12.h - z13.h}, {z2.h - z3.h}  // 11000001-11100010-00001001-10010000
542// CHECK-INST: umlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
543// CHECK-ENCODING: [0x90,0x09,0xe2,0xc1]
544// CHECK-ERROR: instruction requires: sme2
545// CHECK-UNKNOWN: c1e20990 <unknown>
546
547umlal   za.s[w10, 2:3, vgx2], {z0.h, z1.h}, {z26.h, z27.h}  // 11000001-11111010-01001000-00010001
548// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
549// CHECK-ENCODING: [0x11,0x48,0xfa,0xc1]
550// CHECK-ERROR: instruction requires: sme2
551// CHECK-UNKNOWN: c1fa4811 <unknown>
552
553umlal   za.s[w10, 2:3], {z0.h - z1.h}, {z26.h - z27.h}  // 11000001-11111010-01001000-00010001
554// CHECK-INST: umlal   za.s[w10, 2:3, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
555// CHECK-ENCODING: [0x11,0x48,0xfa,0xc1]
556// CHECK-ERROR: instruction requires: sme2
557// CHECK-UNKNOWN: c1fa4811 <unknown>
558
559umlal   za.s[w8, 2:3, vgx2], {z22.h, z23.h}, {z30.h, z31.h}  // 11000001-11111110-00001010-11010001
560// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
561// CHECK-ENCODING: [0xd1,0x0a,0xfe,0xc1]
562// CHECK-ERROR: instruction requires: sme2
563// CHECK-UNKNOWN: c1fe0ad1 <unknown>
564
565umlal   za.s[w8, 2:3], {z22.h - z23.h}, {z30.h - z31.h}  // 11000001-11111110-00001010-11010001
566// CHECK-INST: umlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
567// CHECK-ENCODING: [0xd1,0x0a,0xfe,0xc1]
568// CHECK-ERROR: instruction requires: sme2
569// CHECK-UNKNOWN: c1fe0ad1 <unknown>
570
571umlal   za.s[w11, 4:5, vgx2], {z8.h, z9.h}, {z0.h, z1.h}  // 11000001-11100000-01101001-00010010
572// CHECK-INST: umlal   za.s[w11, 4:5, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
573// CHECK-ENCODING: [0x12,0x69,0xe0,0xc1]
574// CHECK-ERROR: instruction requires: sme2
575// CHECK-UNKNOWN: c1e06912 <unknown>
576
577umlal   za.s[w11, 4:5], {z8.h - z9.h}, {z0.h - z1.h}  // 11000001-11100000-01101001-00010010
578// CHECK-INST: umlal   za.s[w11, 4:5, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
579// CHECK-ENCODING: [0x12,0x69,0xe0,0xc1]
580// CHECK-ERROR: instruction requires: sme2
581// CHECK-UNKNOWN: c1e06912 <unknown>
582
583umlal   za.s[w9, 6:7, vgx2], {z12.h, z13.h}, {z10.h, z11.h}  // 11000001-11101010-00101001-10010011
584// CHECK-INST: umlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
585// CHECK-ENCODING: [0x93,0x29,0xea,0xc1]
586// CHECK-ERROR: instruction requires: sme2
587// CHECK-UNKNOWN: c1ea2993 <unknown>
588
589umlal   za.s[w9, 6:7], {z12.h - z13.h}, {z10.h - z11.h}  // 11000001-11101010-00101001-10010011
590// CHECK-INST: umlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
591// CHECK-ENCODING: [0x93,0x29,0xea,0xc1]
592// CHECK-ERROR: instruction requires: sme2
593// CHECK-UNKNOWN: c1ea2993 <unknown>
594
595
596umlal   za.s[w8, 0:1, vgx4], {z0.h - z3.h}, z0.h  // 11000001-01110000-00001000-00010000
597// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h
598// CHECK-ENCODING: [0x10,0x08,0x70,0xc1]
599// CHECK-ERROR: instruction requires: sme2
600// CHECK-UNKNOWN: c1700810 <unknown>
601
602umlal   za.s[w8, 0:1], {z0.h - z3.h}, z0.h  // 11000001-01110000-00001000-00010000
603// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h
604// CHECK-ENCODING: [0x10,0x08,0x70,0xc1]
605// CHECK-ERROR: instruction requires: sme2
606// CHECK-UNKNOWN: c1700810 <unknown>
607
608umlal   za.s[w10, 2:3, vgx4], {z10.h - z13.h}, z5.h  // 11000001-01110101-01001001-01010001
609// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z10.h - z13.h }, z5.h
610// CHECK-ENCODING: [0x51,0x49,0x75,0xc1]
611// CHECK-ERROR: instruction requires: sme2
612// CHECK-UNKNOWN: c1754951 <unknown>
613
614umlal   za.s[w10, 2:3], {z10.h - z13.h}, z5.h  // 11000001-01110101-01001001-01010001
615// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z10.h - z13.h }, z5.h
616// CHECK-ENCODING: [0x51,0x49,0x75,0xc1]
617// CHECK-ERROR: instruction requires: sme2
618// CHECK-UNKNOWN: c1754951 <unknown>
619
620umlal   za.s[w11, 6:7, vgx4], {z13.h - z16.h}, z8.h  // 11000001-01111000-01101001-10110011
621// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z13.h - z16.h }, z8.h
622// CHECK-ENCODING: [0xb3,0x69,0x78,0xc1]
623// CHECK-ERROR: instruction requires: sme2
624// CHECK-UNKNOWN: c17869b3 <unknown>
625
626umlal   za.s[w11, 6:7], {z13.h - z16.h}, z8.h  // 11000001-01111000-01101001-10110011
627// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z13.h - z16.h }, z8.h
628// CHECK-ENCODING: [0xb3,0x69,0x78,0xc1]
629// CHECK-ERROR: instruction requires: sme2
630// CHECK-UNKNOWN: c17869b3 <unknown>
631
632umlal   za.s[w11, 6:7, vgx4], {z31.h, z0.h, z1.h, z2.h}, z15.h  // 11000001-01111111-01101011-11110011
633// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
634// CHECK-ENCODING: [0xf3,0x6b,0x7f,0xc1]
635// CHECK-ERROR: instruction requires: sme2
636// CHECK-UNKNOWN: c17f6bf3 <unknown>
637
638umlal   za.s[w11, 6:7], {z31.h, z0.h, z1.h, z2.h}, z15.h  // 11000001-01111111-01101011-11110011
639// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
640// CHECK-ENCODING: [0xf3,0x6b,0x7f,0xc1]
641// CHECK-ERROR: instruction requires: sme2
642// CHECK-UNKNOWN: c17f6bf3 <unknown>
643
644umlal   za.s[w8, 2:3, vgx4], {z17.h - z20.h}, z0.h  // 11000001-01110000-00001010-00110001
645// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z17.h - z20.h }, z0.h
646// CHECK-ENCODING: [0x31,0x0a,0x70,0xc1]
647// CHECK-ERROR: instruction requires: sme2
648// CHECK-UNKNOWN: c1700a31 <unknown>
649
650umlal   za.s[w8, 2:3], {z17.h - z20.h}, z0.h  // 11000001-01110000-00001010-00110001
651// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z17.h - z20.h }, z0.h
652// CHECK-ENCODING: [0x31,0x0a,0x70,0xc1]
653// CHECK-ERROR: instruction requires: sme2
654// CHECK-UNKNOWN: c1700a31 <unknown>
655
656umlal   za.s[w8, 2:3, vgx4], {z1.h - z4.h}, z14.h  // 11000001-01111110-00001000-00110001
657// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z1.h - z4.h }, z14.h
658// CHECK-ENCODING: [0x31,0x08,0x7e,0xc1]
659// CHECK-ERROR: instruction requires: sme2
660// CHECK-UNKNOWN: c17e0831 <unknown>
661
662umlal   za.s[w8, 2:3], {z1.h - z4.h}, z14.h  // 11000001-01111110-00001000-00110001
663// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z1.h - z4.h }, z14.h
664// CHECK-ENCODING: [0x31,0x08,0x7e,0xc1]
665// CHECK-ERROR: instruction requires: sme2
666// CHECK-UNKNOWN: c17e0831 <unknown>
667
668umlal   za.s[w10, 0:1, vgx4], {z19.h - z22.h}, z4.h  // 11000001-01110100-01001010-01110000
669// CHECK-INST: umlal   za.s[w10, 0:1, vgx4], { z19.h - z22.h }, z4.h
670// CHECK-ENCODING: [0x70,0x4a,0x74,0xc1]
671// CHECK-ERROR: instruction requires: sme2
672// CHECK-UNKNOWN: c1744a70 <unknown>
673
674umlal   za.s[w10, 0:1], {z19.h - z22.h}, z4.h  // 11000001-01110100-01001010-01110000
675// CHECK-INST: umlal   za.s[w10, 0:1, vgx4], { z19.h - z22.h }, z4.h
676// CHECK-ENCODING: [0x70,0x4a,0x74,0xc1]
677// CHECK-ERROR: instruction requires: sme2
678// CHECK-UNKNOWN: c1744a70 <unknown>
679
680umlal   za.s[w8, 0:1, vgx4], {z12.h - z15.h}, z2.h  // 11000001-01110010-00001001-10010000
681// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h
682// CHECK-ENCODING: [0x90,0x09,0x72,0xc1]
683// CHECK-ERROR: instruction requires: sme2
684// CHECK-UNKNOWN: c1720990 <unknown>
685
686umlal   za.s[w8, 0:1], {z12.h - z15.h}, z2.h  // 11000001-01110010-00001001-10010000
687// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h
688// CHECK-ENCODING: [0x90,0x09,0x72,0xc1]
689// CHECK-ERROR: instruction requires: sme2
690// CHECK-UNKNOWN: c1720990 <unknown>
691
692umlal   za.s[w10, 2:3, vgx4], {z1.h - z4.h}, z10.h  // 11000001-01111010-01001000-00110001
693// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z1.h - z4.h }, z10.h
694// CHECK-ENCODING: [0x31,0x48,0x7a,0xc1]
695// CHECK-ERROR: instruction requires: sme2
696// CHECK-UNKNOWN: c17a4831 <unknown>
697
698umlal   za.s[w10, 2:3], {z1.h - z4.h}, z10.h  // 11000001-01111010-01001000-00110001
699// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z1.h - z4.h }, z10.h
700// CHECK-ENCODING: [0x31,0x48,0x7a,0xc1]
701// CHECK-ERROR: instruction requires: sme2
702// CHECK-UNKNOWN: c17a4831 <unknown>
703
704umlal   za.s[w8, 2:3, vgx4], {z22.h - z25.h}, z14.h  // 11000001-01111110-00001010-11010001
705// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z22.h - z25.h }, z14.h
706// CHECK-ENCODING: [0xd1,0x0a,0x7e,0xc1]
707// CHECK-ERROR: instruction requires: sme2
708// CHECK-UNKNOWN: c17e0ad1 <unknown>
709
710umlal   za.s[w8, 2:3], {z22.h - z25.h}, z14.h  // 11000001-01111110-00001010-11010001
711// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z22.h - z25.h }, z14.h
712// CHECK-ENCODING: [0xd1,0x0a,0x7e,0xc1]
713// CHECK-ERROR: instruction requires: sme2
714// CHECK-UNKNOWN: c17e0ad1 <unknown>
715
716umlal   za.s[w11, 4:5, vgx4], {z9.h - z12.h}, z1.h  // 11000001-01110001-01101001-00110010
717// CHECK-INST: umlal   za.s[w11, 4:5, vgx4], { z9.h - z12.h }, z1.h
718// CHECK-ENCODING: [0x32,0x69,0x71,0xc1]
719// CHECK-ERROR: instruction requires: sme2
720// CHECK-UNKNOWN: c1716932 <unknown>
721
722umlal   za.s[w11, 4:5], {z9.h - z12.h}, z1.h  // 11000001-01110001-01101001-00110010
723// CHECK-INST: umlal   za.s[w11, 4:5, vgx4], { z9.h - z12.h }, z1.h
724// CHECK-ENCODING: [0x32,0x69,0x71,0xc1]
725// CHECK-ERROR: instruction requires: sme2
726// CHECK-UNKNOWN: c1716932 <unknown>
727
728umlal   za.s[w9, 6:7, vgx4], {z12.h - z15.h}, z11.h  // 11000001-01111011-00101001-10010011
729// CHECK-INST: umlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h
730// CHECK-ENCODING: [0x93,0x29,0x7b,0xc1]
731// CHECK-ERROR: instruction requires: sme2
732// CHECK-UNKNOWN: c17b2993 <unknown>
733
734umlal   za.s[w9, 6:7], {z12.h - z15.h}, z11.h  // 11000001-01111011-00101001-10010011
735// CHECK-INST: umlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h
736// CHECK-ENCODING: [0x93,0x29,0x7b,0xc1]
737// CHECK-ERROR: instruction requires: sme2
738// CHECK-UNKNOWN: c17b2993 <unknown>
739
740
741umlal   za.s[w8, 0:1, vgx4], {z0.h - z3.h}, z0.h[0]  // 11000001-11010000-10010000-00010000
742// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h[0]
743// CHECK-ENCODING: [0x10,0x90,0xd0,0xc1]
744// CHECK-ERROR: instruction requires: sme2
745// CHECK-UNKNOWN: c1d09010 <unknown>
746
747umlal   za.s[w8, 0:1], {z0.h - z3.h}, z0.h[0]  // 11000001-11010000-10010000-00010000
748// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h[0]
749// CHECK-ENCODING: [0x10,0x90,0xd0,0xc1]
750// CHECK-ERROR: instruction requires: sme2
751// CHECK-UNKNOWN: c1d09010 <unknown>
752
753umlal   za.s[w10, 2:3, vgx4], {z8.h - z11.h}, z5.h[3]  // 11000001-11010101-11010101-00010101
754// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z8.h - z11.h }, z5.h[3]
755// CHECK-ENCODING: [0x15,0xd5,0xd5,0xc1]
756// CHECK-ERROR: instruction requires: sme2
757// CHECK-UNKNOWN: c1d5d515 <unknown>
758
759umlal   za.s[w10, 2:3], {z8.h - z11.h}, z5.h[3]  // 11000001-11010101-11010101-00010101
760// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z8.h - z11.h }, z5.h[3]
761// CHECK-ENCODING: [0x15,0xd5,0xd5,0xc1]
762// CHECK-ERROR: instruction requires: sme2
763// CHECK-UNKNOWN: c1d5d515 <unknown>
764
765umlal   za.s[w11, 6:7, vgx4], {z12.h - z15.h}, z8.h[7]  // 11000001-11011000-11111101-10010111
766// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z12.h - z15.h }, z8.h[7]
767// CHECK-ENCODING: [0x97,0xfd,0xd8,0xc1]
768// CHECK-ERROR: instruction requires: sme2
769// CHECK-UNKNOWN: c1d8fd97 <unknown>
770
771umlal   za.s[w11, 6:7], {z12.h - z15.h}, z8.h[7]  // 11000001-11011000-11111101-10010111
772// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z12.h - z15.h }, z8.h[7]
773// CHECK-ENCODING: [0x97,0xfd,0xd8,0xc1]
774// CHECK-ERROR: instruction requires: sme2
775// CHECK-UNKNOWN: c1d8fd97 <unknown>
776
777umlal   za.s[w11, 6:7, vgx4], {z28.h - z31.h}, z15.h[7]  // 11000001-11011111-11111111-10010111
778// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z28.h - z31.h }, z15.h[7]
779// CHECK-ENCODING: [0x97,0xff,0xdf,0xc1]
780// CHECK-ERROR: instruction requires: sme2
781// CHECK-UNKNOWN: c1dfff97 <unknown>
782
783umlal   za.s[w11, 6:7], {z28.h - z31.h}, z15.h[7]  // 11000001-11011111-11111111-10010111
784// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z28.h - z31.h }, z15.h[7]
785// CHECK-ENCODING: [0x97,0xff,0xdf,0xc1]
786// CHECK-ERROR: instruction requires: sme2
787// CHECK-UNKNOWN: c1dfff97 <unknown>
788
789umlal   za.s[w8, 2:3, vgx4], {z16.h - z19.h}, z0.h[7]  // 11000001-11010000-10011110-00010101
790// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z16.h - z19.h }, z0.h[7]
791// CHECK-ENCODING: [0x15,0x9e,0xd0,0xc1]
792// CHECK-ERROR: instruction requires: sme2
793// CHECK-UNKNOWN: c1d09e15 <unknown>
794
795umlal   za.s[w8, 2:3], {z16.h - z19.h}, z0.h[7]  // 11000001-11010000-10011110-00010101
796// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z16.h - z19.h }, z0.h[7]
797// CHECK-ENCODING: [0x15,0x9e,0xd0,0xc1]
798// CHECK-ERROR: instruction requires: sme2
799// CHECK-UNKNOWN: c1d09e15 <unknown>
800
801umlal   za.s[w8, 2:3, vgx4], {z0.h - z3.h}, z14.h[2]  // 11000001-11011110-10010100-00010001
802// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z0.h - z3.h }, z14.h[2]
803// CHECK-ENCODING: [0x11,0x94,0xde,0xc1]
804// CHECK-ERROR: instruction requires: sme2
805// CHECK-UNKNOWN: c1de9411 <unknown>
806
807umlal   za.s[w8, 2:3], {z0.h - z3.h}, z14.h[2]  // 11000001-11011110-10010100-00010001
808// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z0.h - z3.h }, z14.h[2]
809// CHECK-ENCODING: [0x11,0x94,0xde,0xc1]
810// CHECK-ERROR: instruction requires: sme2
811// CHECK-UNKNOWN: c1de9411 <unknown>
812
813umlal   za.s[w10, 0:1, vgx4], {z16.h - z19.h}, z4.h[2]  // 11000001-11010100-11010110-00010000
814// CHECK-INST: umlal   za.s[w10, 0:1, vgx4], { z16.h - z19.h }, z4.h[2]
815// CHECK-ENCODING: [0x10,0xd6,0xd4,0xc1]
816// CHECK-ERROR: instruction requires: sme2
817// CHECK-UNKNOWN: c1d4d610 <unknown>
818
819umlal   za.s[w10, 0:1], {z16.h - z19.h}, z4.h[2]  // 11000001-11010100-11010110-00010000
820// CHECK-INST: umlal   za.s[w10, 0:1, vgx4], { z16.h - z19.h }, z4.h[2]
821// CHECK-ENCODING: [0x10,0xd6,0xd4,0xc1]
822// CHECK-ERROR: instruction requires: sme2
823// CHECK-UNKNOWN: c1d4d610 <unknown>
824
825umlal   za.s[w8, 0:1, vgx4], {z12.h - z15.h}, z2.h[4]  // 11000001-11010010-10011001-10010000
826// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h[4]
827// CHECK-ENCODING: [0x90,0x99,0xd2,0xc1]
828// CHECK-ERROR: instruction requires: sme2
829// CHECK-UNKNOWN: c1d29990 <unknown>
830
831umlal   za.s[w8, 0:1], {z12.h - z15.h}, z2.h[4]  // 11000001-11010010-10011001-10010000
832// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h[4]
833// CHECK-ENCODING: [0x90,0x99,0xd2,0xc1]
834// CHECK-ERROR: instruction requires: sme2
835// CHECK-UNKNOWN: c1d29990 <unknown>
836
837umlal   za.s[w10, 2:3, vgx4], {z0.h - z3.h}, z10.h[4]  // 11000001-11011010-11011000-00010001
838// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z0.h - z3.h }, z10.h[4]
839// CHECK-ENCODING: [0x11,0xd8,0xda,0xc1]
840// CHECK-ERROR: instruction requires: sme2
841// CHECK-UNKNOWN: c1dad811 <unknown>
842
843umlal   za.s[w10, 2:3], {z0.h - z3.h}, z10.h[4]  // 11000001-11011010-11011000-00010001
844// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z0.h - z3.h }, z10.h[4]
845// CHECK-ENCODING: [0x11,0xd8,0xda,0xc1]
846// CHECK-ERROR: instruction requires: sme2
847// CHECK-UNKNOWN: c1dad811 <unknown>
848
849umlal   za.s[w8, 2:3, vgx4], {z20.h - z23.h}, z14.h[5]  // 11000001-11011110-10011010-10010101
850// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z20.h - z23.h }, z14.h[5]
851// CHECK-ENCODING: [0x95,0x9a,0xde,0xc1]
852// CHECK-ERROR: instruction requires: sme2
853// CHECK-UNKNOWN: c1de9a95 <unknown>
854
855umlal   za.s[w8, 2:3], {z20.h - z23.h}, z14.h[5]  // 11000001-11011110-10011010-10010101
856// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z20.h - z23.h }, z14.h[5]
857// CHECK-ENCODING: [0x95,0x9a,0xde,0xc1]
858// CHECK-ERROR: instruction requires: sme2
859// CHECK-UNKNOWN: c1de9a95 <unknown>
860
861umlal   za.s[w11, 4:5, vgx4], {z8.h - z11.h}, z1.h[2]  // 11000001-11010001-11110101-00010010
862// CHECK-INST: umlal   za.s[w11, 4:5, vgx4], { z8.h - z11.h }, z1.h[2]
863// CHECK-ENCODING: [0x12,0xf5,0xd1,0xc1]
864// CHECK-ERROR: instruction requires: sme2
865// CHECK-UNKNOWN: c1d1f512 <unknown>
866
867umlal   za.s[w11, 4:5], {z8.h - z11.h}, z1.h[2]  // 11000001-11010001-11110101-00010010
868// CHECK-INST: umlal   za.s[w11, 4:5, vgx4], { z8.h - z11.h }, z1.h[2]
869// CHECK-ENCODING: [0x12,0xf5,0xd1,0xc1]
870// CHECK-ERROR: instruction requires: sme2
871// CHECK-UNKNOWN: c1d1f512 <unknown>
872
873umlal   za.s[w9, 6:7, vgx4], {z12.h - z15.h}, z11.h[5]  // 11000001-11011011-10111001-10010111
874// CHECK-INST: umlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h[5]
875// CHECK-ENCODING: [0x97,0xb9,0xdb,0xc1]
876// CHECK-ERROR: instruction requires: sme2
877// CHECK-UNKNOWN: c1dbb997 <unknown>
878
879umlal   za.s[w9, 6:7], {z12.h - z15.h}, z11.h[5]  // 11000001-11011011-10111001-10010111
880// CHECK-INST: umlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h[5]
881// CHECK-ENCODING: [0x97,0xb9,0xdb,0xc1]
882// CHECK-ERROR: instruction requires: sme2
883// CHECK-UNKNOWN: c1dbb997 <unknown>
884
885
886umlal   za.s[w8, 0:1, vgx4], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-11100001-00001000-00010000
887// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
888// CHECK-ENCODING: [0x10,0x08,0xe1,0xc1]
889// CHECK-ERROR: instruction requires: sme2
890// CHECK-UNKNOWN: c1e10810 <unknown>
891
892umlal   za.s[w8, 0:1], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-11100001-00001000-00010000
893// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
894// CHECK-ENCODING: [0x10,0x08,0xe1,0xc1]
895// CHECK-ERROR: instruction requires: sme2
896// CHECK-UNKNOWN: c1e10810 <unknown>
897
898umlal   za.s[w10, 2:3, vgx4], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-11110101-01001001-00010001
899// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
900// CHECK-ENCODING: [0x11,0x49,0xf5,0xc1]
901// CHECK-ERROR: instruction requires: sme2
902// CHECK-UNKNOWN: c1f54911 <unknown>
903
904umlal   za.s[w10, 2:3], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-11110101-01001001-00010001
905// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
906// CHECK-ENCODING: [0x11,0x49,0xf5,0xc1]
907// CHECK-ERROR: instruction requires: sme2
908// CHECK-UNKNOWN: c1f54911 <unknown>
909
910umlal   za.s[w11, 6:7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-01101001-10010011
911// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
912// CHECK-ENCODING: [0x93,0x69,0xe9,0xc1]
913// CHECK-ERROR: instruction requires: sme2
914// CHECK-UNKNOWN: c1e96993 <unknown>
915
916umlal   za.s[w11, 6:7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-01101001-10010011
917// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
918// CHECK-ENCODING: [0x93,0x69,0xe9,0xc1]
919// CHECK-ERROR: instruction requires: sme2
920// CHECK-UNKNOWN: c1e96993 <unknown>
921
922umlal   za.s[w11, 6:7, vgx4], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-11111101-01101011-10010011
923// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
924// CHECK-ENCODING: [0x93,0x6b,0xfd,0xc1]
925// CHECK-ERROR: instruction requires: sme2
926// CHECK-UNKNOWN: c1fd6b93 <unknown>
927
928umlal   za.s[w11, 6:7], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-11111101-01101011-10010011
929// CHECK-INST: umlal   za.s[w11, 6:7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
930// CHECK-ENCODING: [0x93,0x6b,0xfd,0xc1]
931// CHECK-ERROR: instruction requires: sme2
932// CHECK-UNKNOWN: c1fd6b93 <unknown>
933
934umlal   za.s[w8, 2:3, vgx4], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-11110001-00001010-00010001
935// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
936// CHECK-ENCODING: [0x11,0x0a,0xf1,0xc1]
937// CHECK-ERROR: instruction requires: sme2
938// CHECK-UNKNOWN: c1f10a11 <unknown>
939
940umlal   za.s[w8, 2:3], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-11110001-00001010-00010001
941// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
942// CHECK-ENCODING: [0x11,0x0a,0xf1,0xc1]
943// CHECK-ERROR: instruction requires: sme2
944// CHECK-UNKNOWN: c1f10a11 <unknown>
945
946umlal   za.s[w8, 2:3, vgx4], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-11111101-00001000-00010001
947// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
948// CHECK-ENCODING: [0x11,0x08,0xfd,0xc1]
949// CHECK-ERROR: instruction requires: sme2
950// CHECK-UNKNOWN: c1fd0811 <unknown>
951
952umlal   za.s[w8, 2:3], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-11111101-00001000-00010001
953// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
954// CHECK-ENCODING: [0x11,0x08,0xfd,0xc1]
955// CHECK-ERROR: instruction requires: sme2
956// CHECK-UNKNOWN: c1fd0811 <unknown>
957
958umlal   za.s[w10, 0:1, vgx4], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-11110101-01001010-00010000
959// CHECK-INST: umlal   za.s[w10, 0:1, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
960// CHECK-ENCODING: [0x10,0x4a,0xf5,0xc1]
961// CHECK-ERROR: instruction requires: sme2
962// CHECK-UNKNOWN: c1f54a10 <unknown>
963
964umlal   za.s[w10, 0:1], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-11110101-01001010-00010000
965// CHECK-INST: umlal   za.s[w10, 0:1, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
966// CHECK-ENCODING: [0x10,0x4a,0xf5,0xc1]
967// CHECK-ERROR: instruction requires: sme2
968// CHECK-UNKNOWN: c1f54a10 <unknown>
969
970umlal   za.s[w8, 0:1, vgx4], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-11100001-00001001-10010000
971// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
972// CHECK-ENCODING: [0x90,0x09,0xe1,0xc1]
973// CHECK-ERROR: instruction requires: sme2
974// CHECK-UNKNOWN: c1e10990 <unknown>
975
976umlal   za.s[w8, 0:1], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-11100001-00001001-10010000
977// CHECK-INST: umlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
978// CHECK-ENCODING: [0x90,0x09,0xe1,0xc1]
979// CHECK-ERROR: instruction requires: sme2
980// CHECK-UNKNOWN: c1e10990 <unknown>
981
982umlal   za.s[w10, 2:3, vgx4], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-11111001-01001000-00010001
983// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
984// CHECK-ENCODING: [0x11,0x48,0xf9,0xc1]
985// CHECK-ERROR: instruction requires: sme2
986// CHECK-UNKNOWN: c1f94811 <unknown>
987
988umlal   za.s[w10, 2:3], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-11111001-01001000-00010001
989// CHECK-INST: umlal   za.s[w10, 2:3, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
990// CHECK-ENCODING: [0x11,0x48,0xf9,0xc1]
991// CHECK-ERROR: instruction requires: sme2
992// CHECK-UNKNOWN: c1f94811 <unknown>
993
994umlal   za.s[w8, 2:3, vgx4], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-11111101-00001010-10010001
995// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
996// CHECK-ENCODING: [0x91,0x0a,0xfd,0xc1]
997// CHECK-ERROR: instruction requires: sme2
998// CHECK-UNKNOWN: c1fd0a91 <unknown>
999
1000umlal   za.s[w8, 2:3], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-11111101-00001010-10010001
1001// CHECK-INST: umlal   za.s[w8, 2:3, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
1002// CHECK-ENCODING: [0x91,0x0a,0xfd,0xc1]
1003// CHECK-ERROR: instruction requires: sme2
1004// CHECK-UNKNOWN: c1fd0a91 <unknown>
1005
1006umlal   za.s[w11, 4:5, vgx4], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-11100001-01101001-00010010
1007// CHECK-INST: umlal   za.s[w11, 4:5, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
1008// CHECK-ENCODING: [0x12,0x69,0xe1,0xc1]
1009// CHECK-ERROR: instruction requires: sme2
1010// CHECK-UNKNOWN: c1e16912 <unknown>
1011
1012umlal   za.s[w11, 4:5], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-11100001-01101001-00010010
1013// CHECK-INST: umlal   za.s[w11, 4:5, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
1014// CHECK-ENCODING: [0x12,0x69,0xe1,0xc1]
1015// CHECK-ERROR: instruction requires: sme2
1016// CHECK-UNKNOWN: c1e16912 <unknown>
1017
1018umlal   za.s[w9, 6:7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-00101001-10010011
1019// CHECK-INST: umlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
1020// CHECK-ENCODING: [0x93,0x29,0xe9,0xc1]
1021// CHECK-ERROR: instruction requires: sme2
1022// CHECK-UNKNOWN: c1e92993 <unknown>
1023
1024umlal   za.s[w9, 6:7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-11101001-00101001-10010011
1025// CHECK-INST: umlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
1026// CHECK-ENCODING: [0x93,0x29,0xe9,0xc1]
1027// CHECK-ERROR: instruction requires: sme2
1028// CHECK-UNKNOWN: c1e92993 <unknown>
1029
1030