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