xref: /llvm-project/llvm/test/MC/AArch64/SME2/fmlal.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
15fmlal   za.s[w8, 0:1], z0.h, z0.h  // 11000001-00100000-00001100-00000000
16// CHECK-INST: fmlal   za.s[w8, 0:1], z0.h, z0.h
17// CHECK-ENCODING: [0x00,0x0c,0x20,0xc1]
18// CHECK-ERROR: instruction requires: sme2
19// CHECK-UNKNOWN: c1200c00 <unknown>
20
21fmlal   za.s[w10, 10:11], z10.h, z5.h  // 11000001-00100101-01001101-01000101
22// CHECK-INST: fmlal   za.s[w10, 10:11], z10.h, z5.h
23// CHECK-ENCODING: [0x45,0x4d,0x25,0xc1]
24// CHECK-ERROR: instruction requires: sme2
25// CHECK-UNKNOWN: c1254d45 <unknown>
26
27fmlal   za.s[w11, 14:15], z13.h, z8.h  // 11000001-00101000-01101101-10100111
28// CHECK-INST: fmlal   za.s[w11, 14:15], z13.h, z8.h
29// CHECK-ENCODING: [0xa7,0x6d,0x28,0xc1]
30// CHECK-ERROR: instruction requires: sme2
31// CHECK-UNKNOWN: c1286da7 <unknown>
32
33fmlal   za.s[w11, 14:15], z31.h, z15.h  // 11000001-00101111-01101111-11100111
34// CHECK-INST: fmlal   za.s[w11, 14:15], z31.h, z15.h
35// CHECK-ENCODING: [0xe7,0x6f,0x2f,0xc1]
36// CHECK-ERROR: instruction requires: sme2
37// CHECK-UNKNOWN: c12f6fe7 <unknown>
38
39fmlal   za.s[w8, 10:11], z17.h, z0.h  // 11000001-00100000-00001110-00100101
40// CHECK-INST: fmlal   za.s[w8, 10:11], z17.h, z0.h
41// CHECK-ENCODING: [0x25,0x0e,0x20,0xc1]
42// CHECK-ERROR: instruction requires: sme2
43// CHECK-UNKNOWN: c1200e25 <unknown>
44
45fmlal   za.s[w8, 2:3], z1.h, z14.h  // 11000001-00101110-00001100-00100001
46// CHECK-INST: fmlal   za.s[w8, 2:3], z1.h, z14.h
47// CHECK-ENCODING: [0x21,0x0c,0x2e,0xc1]
48// CHECK-ERROR: instruction requires: sme2
49// CHECK-UNKNOWN: c12e0c21 <unknown>
50
51fmlal   za.s[w10, 0:1], z19.h, z4.h  // 11000001-00100100-01001110-01100000
52// CHECK-INST: fmlal   za.s[w10, 0:1], z19.h, z4.h
53// CHECK-ENCODING: [0x60,0x4e,0x24,0xc1]
54// CHECK-ERROR: instruction requires: sme2
55// CHECK-UNKNOWN: c1244e60 <unknown>
56
57fmlal   za.s[w8, 0:1], z12.h, z2.h  // 11000001-00100010-00001101-10000000
58// CHECK-INST: fmlal   za.s[w8, 0:1], z12.h, z2.h
59// CHECK-ENCODING: [0x80,0x0d,0x22,0xc1]
60// CHECK-ERROR: instruction requires: sme2
61// CHECK-UNKNOWN: c1220d80 <unknown>
62
63fmlal   za.s[w10, 2:3], z1.h, z10.h  // 11000001-00101010-01001100-00100001
64// CHECK-INST: fmlal   za.s[w10, 2:3], z1.h, z10.h
65// CHECK-ENCODING: [0x21,0x4c,0x2a,0xc1]
66// CHECK-ERROR: instruction requires: sme2
67// CHECK-UNKNOWN: c12a4c21 <unknown>
68
69fmlal   za.s[w8, 10:11], z22.h, z14.h  // 11000001-00101110-00001110-11000101
70// CHECK-INST: fmlal   za.s[w8, 10:11], z22.h, z14.h
71// CHECK-ENCODING: [0xc5,0x0e,0x2e,0xc1]
72// CHECK-ERROR: instruction requires: sme2
73// CHECK-UNKNOWN: c12e0ec5 <unknown>
74
75fmlal   za.s[w11, 4:5], z9.h, z1.h  // 11000001-00100001-01101101-00100010
76// CHECK-INST: fmlal   za.s[w11, 4:5], z9.h, z1.h
77// CHECK-ENCODING: [0x22,0x6d,0x21,0xc1]
78// CHECK-ERROR: instruction requires: sme2
79// CHECK-UNKNOWN: c1216d22 <unknown>
80
81fmlal   za.s[w9, 14:15], z12.h, z11.h  // 11000001-00101011-00101101-10000111
82// CHECK-INST: fmlal   za.s[w9, 14:15], z12.h, z11.h
83// CHECK-ENCODING: [0x87,0x2d,0x2b,0xc1]
84// CHECK-ERROR: instruction requires: sme2
85// CHECK-UNKNOWN: c12b2d87 <unknown>
86
87
88fmlal   za.s[w8, 0:1], z0.h, z0.h[0]  // 11000001-10000000-00010000-00000000
89// CHECK-INST: fmlal   za.s[w8, 0:1], z0.h, z0.h[0]
90// CHECK-ENCODING: [0x00,0x10,0x80,0xc1]
91// CHECK-ERROR: instruction requires: sme2
92// CHECK-UNKNOWN: c1801000 <unknown>
93
94fmlal   za.s[w10, 10:11], z10.h, z5.h[1]  // 11000001-10000101-01010101-01000101
95// CHECK-INST: fmlal   za.s[w10, 10:11], z10.h, z5.h[1]
96// CHECK-ENCODING: [0x45,0x55,0x85,0xc1]
97// CHECK-ERROR: instruction requires: sme2
98// CHECK-UNKNOWN: c1855545 <unknown>
99
100fmlal   za.s[w11, 14:15], z13.h, z8.h[7]  // 11000001-10001000-11111101-10100111
101// CHECK-INST: fmlal   za.s[w11, 14:15], z13.h, z8.h[7]
102// CHECK-ENCODING: [0xa7,0xfd,0x88,0xc1]
103// CHECK-ERROR: instruction requires: sme2
104// CHECK-UNKNOWN: c188fda7 <unknown>
105
106fmlal   za.s[w11, 14:15], z31.h, z15.h[7]  // 11000001-10001111-11111111-11100111
107// CHECK-INST: fmlal   za.s[w11, 14:15], z31.h, z15.h[7]
108// CHECK-ENCODING: [0xe7,0xff,0x8f,0xc1]
109// CHECK-ERROR: instruction requires: sme2
110// CHECK-UNKNOWN: c18fffe7 <unknown>
111
112fmlal   za.s[w8, 10:11], z17.h, z0.h[3]  // 11000001-10000000-00011110-00100101
113// CHECK-INST: fmlal   za.s[w8, 10:11], z17.h, z0.h[3]
114// CHECK-ENCODING: [0x25,0x1e,0x80,0xc1]
115// CHECK-ERROR: instruction requires: sme2
116// CHECK-UNKNOWN: c1801e25 <unknown>
117
118fmlal   za.s[w8, 2:3], z1.h, z14.h[5]  // 11000001-10001110-10010100-00100001
119// CHECK-INST: fmlal   za.s[w8, 2:3], z1.h, z14.h[5]
120// CHECK-ENCODING: [0x21,0x94,0x8e,0xc1]
121// CHECK-ERROR: instruction requires: sme2
122// CHECK-UNKNOWN: c18e9421 <unknown>
123
124fmlal   za.s[w10, 0:1], z19.h, z4.h[1]  // 11000001-10000100-01010110-01100000
125// CHECK-INST: fmlal   za.s[w10, 0:1], z19.h, z4.h[1]
126// CHECK-ENCODING: [0x60,0x56,0x84,0xc1]
127// CHECK-ERROR: instruction requires: sme2
128// CHECK-UNKNOWN: c1845660 <unknown>
129
130fmlal   za.s[w8, 0:1], z12.h, z2.h[2]  // 11000001-10000010-00011001-10000000
131// CHECK-INST: fmlal   za.s[w8, 0:1], z12.h, z2.h[2]
132// CHECK-ENCODING: [0x80,0x19,0x82,0xc1]
133// CHECK-ERROR: instruction requires: sme2
134// CHECK-UNKNOWN: c1821980 <unknown>
135
136fmlal   za.s[w10, 2:3], z1.h, z10.h[6]  // 11000001-10001010-11011000-00100001
137// CHECK-INST: fmlal   za.s[w10, 2:3], z1.h, z10.h[6]
138// CHECK-ENCODING: [0x21,0xd8,0x8a,0xc1]
139// CHECK-ERROR: instruction requires: sme2
140// CHECK-UNKNOWN: c18ad821 <unknown>
141
142fmlal   za.s[w8, 10:11], z22.h, z14.h[2]  // 11000001-10001110-00011010-11000101
143// CHECK-INST: fmlal   za.s[w8, 10:11], z22.h, z14.h[2]
144// CHECK-ENCODING: [0xc5,0x1a,0x8e,0xc1]
145// CHECK-ERROR: instruction requires: sme2
146// CHECK-UNKNOWN: c18e1ac5 <unknown>
147
148fmlal   za.s[w11, 4:5], z9.h, z1.h[5]  // 11000001-10000001-11110101-00100010
149// CHECK-INST: fmlal   za.s[w11, 4:5], z9.h, z1.h[5]
150// CHECK-ENCODING: [0x22,0xf5,0x81,0xc1]
151// CHECK-ERROR: instruction requires: sme2
152// CHECK-UNKNOWN: c181f522 <unknown>
153
154fmlal   za.s[w9, 14:15], z12.h, z11.h[6]  // 11000001-10001011-10111001-10000111
155// CHECK-INST: fmlal   za.s[w9, 14:15], z12.h, z11.h[6]
156// CHECK-ENCODING: [0x87,0xb9,0x8b,0xc1]
157// CHECK-ERROR: instruction requires: sme2
158// CHECK-UNKNOWN: c18bb987 <unknown>
159
160
161fmlal   za.s[w8, 0:1, vgx2], {z0.h, z1.h}, z0.h  // 11000001-00100000-00001000-00000000
162// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h
163// CHECK-ENCODING: [0x00,0x08,0x20,0xc1]
164// CHECK-ERROR: instruction requires: sme2
165// CHECK-UNKNOWN: c1200800 <unknown>
166
167fmlal   za.s[w8, 0:1], {z0.h - z1.h}, z0.h  // 11000001-00100000-00001000-00000000
168// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h
169// CHECK-ENCODING: [0x00,0x08,0x20,0xc1]
170// CHECK-ERROR: instruction requires: sme2
171// CHECK-UNKNOWN: c1200800 <unknown>
172
173fmlal   za.s[w10, 2:3, vgx2], {z10.h, z11.h}, z5.h  // 11000001-00100101-01001001-01000001
174// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h
175// CHECK-ENCODING: [0x41,0x49,0x25,0xc1]
176// CHECK-ERROR: instruction requires: sme2
177// CHECK-UNKNOWN: c1254941 <unknown>
178
179fmlal   za.s[w10, 2:3], {z10.h - z11.h}, z5.h  // 11000001-00100101-01001001-01000001
180// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h
181// CHECK-ENCODING: [0x41,0x49,0x25,0xc1]
182// CHECK-ERROR: instruction requires: sme2
183// CHECK-UNKNOWN: c1254941 <unknown>
184
185fmlal   za.s[w11, 6:7, vgx2], {z13.h, z14.h}, z8.h  // 11000001-00101000-01101001-10100011
186// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z13.h, z14.h }, z8.h
187// CHECK-ENCODING: [0xa3,0x69,0x28,0xc1]
188// CHECK-ERROR: instruction requires: sme2
189// CHECK-UNKNOWN: c12869a3 <unknown>
190
191fmlal   za.s[w11, 6:7], {z13.h - z14.h}, z8.h  // 11000001-00101000-01101001-10100011
192// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z13.h, z14.h }, z8.h
193// CHECK-ENCODING: [0xa3,0x69,0x28,0xc1]
194// CHECK-ERROR: instruction requires: sme2
195// CHECK-UNKNOWN: c12869a3 <unknown>
196
197fmlal   za.s[w11, 6:7, vgx2], {z31.h, z0.h}, z15.h  // 11000001-00101111-01101011-11100011
198// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z31.h, z0.h }, z15.h
199// CHECK-ENCODING: [0xe3,0x6b,0x2f,0xc1]
200// CHECK-ERROR: instruction requires: sme2
201// CHECK-UNKNOWN: c12f6be3 <unknown>
202
203fmlal   za.s[w11, 6:7], {z31.h - z0.h}, z15.h  // 11000001-00101111-01101011-11100011
204// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z31.h, z0.h }, z15.h
205// CHECK-ENCODING: [0xe3,0x6b,0x2f,0xc1]
206// CHECK-ERROR: instruction requires: sme2
207// CHECK-UNKNOWN: c12f6be3 <unknown>
208
209fmlal   za.s[w8, 2:3, vgx2], {z17.h, z18.h}, z0.h  // 11000001-00100000-00001010-00100001
210// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z17.h, z18.h }, z0.h
211// CHECK-ENCODING: [0x21,0x0a,0x20,0xc1]
212// CHECK-ERROR: instruction requires: sme2
213// CHECK-UNKNOWN: c1200a21 <unknown>
214
215fmlal   za.s[w8, 2:3], {z17.h - z18.h}, z0.h  // 11000001-00100000-00001010-00100001
216// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z17.h, z18.h }, z0.h
217// CHECK-ENCODING: [0x21,0x0a,0x20,0xc1]
218// CHECK-ERROR: instruction requires: sme2
219// CHECK-UNKNOWN: c1200a21 <unknown>
220
221fmlal   za.s[w8, 2:3, vgx2], {z1.h, z2.h}, z14.h  // 11000001-00101110-00001000-00100001
222// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z1.h, z2.h }, z14.h
223// CHECK-ENCODING: [0x21,0x08,0x2e,0xc1]
224// CHECK-ERROR: instruction requires: sme2
225// CHECK-UNKNOWN: c12e0821 <unknown>
226
227fmlal   za.s[w8, 2:3], {z1.h - z2.h}, z14.h  // 11000001-00101110-00001000-00100001
228// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z1.h, z2.h }, z14.h
229// CHECK-ENCODING: [0x21,0x08,0x2e,0xc1]
230// CHECK-ERROR: instruction requires: sme2
231// CHECK-UNKNOWN: c12e0821 <unknown>
232
233fmlal   za.s[w10, 0:1, vgx2], {z19.h, z20.h}, z4.h  // 11000001-00100100-01001010-01100000
234// CHECK-INST: fmlal   za.s[w10, 0:1, vgx2], { z19.h, z20.h }, z4.h
235// CHECK-ENCODING: [0x60,0x4a,0x24,0xc1]
236// CHECK-ERROR: instruction requires: sme2
237// CHECK-UNKNOWN: c1244a60 <unknown>
238
239fmlal   za.s[w10, 0:1], {z19.h - z20.h}, z4.h  // 11000001-00100100-01001010-01100000
240// CHECK-INST: fmlal   za.s[w10, 0:1, vgx2], { z19.h, z20.h }, z4.h
241// CHECK-ENCODING: [0x60,0x4a,0x24,0xc1]
242// CHECK-ERROR: instruction requires: sme2
243// CHECK-UNKNOWN: c1244a60 <unknown>
244
245fmlal   za.s[w8, 0:1, vgx2], {z12.h, z13.h}, z2.h  // 11000001-00100010-00001001-10000000
246// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h
247// CHECK-ENCODING: [0x80,0x09,0x22,0xc1]
248// CHECK-ERROR: instruction requires: sme2
249// CHECK-UNKNOWN: c1220980 <unknown>
250
251fmlal   za.s[w8, 0:1], {z12.h - z13.h}, z2.h  // 11000001-00100010-00001001-10000000
252// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h
253// CHECK-ENCODING: [0x80,0x09,0x22,0xc1]
254// CHECK-ERROR: instruction requires: sme2
255// CHECK-UNKNOWN: c1220980 <unknown>
256
257fmlal   za.s[w10, 2:3, vgx2], {z1.h, z2.h}, z10.h  // 11000001-00101010-01001000-00100001
258// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z1.h, z2.h }, z10.h
259// CHECK-ENCODING: [0x21,0x48,0x2a,0xc1]
260// CHECK-ERROR: instruction requires: sme2
261// CHECK-UNKNOWN: c12a4821 <unknown>
262
263fmlal   za.s[w10, 2:3], {z1.h - z2.h}, z10.h  // 11000001-00101010-01001000-00100001
264// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z1.h, z2.h }, z10.h
265// CHECK-ENCODING: [0x21,0x48,0x2a,0xc1]
266// CHECK-ERROR: instruction requires: sme2
267// CHECK-UNKNOWN: c12a4821 <unknown>
268
269fmlal   za.s[w8, 2:3, vgx2], {z22.h, z23.h}, z14.h  // 11000001-00101110-00001010-11000001
270// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h
271// CHECK-ENCODING: [0xc1,0x0a,0x2e,0xc1]
272// CHECK-ERROR: instruction requires: sme2
273// CHECK-UNKNOWN: c12e0ac1 <unknown>
274
275fmlal   za.s[w8, 2:3], {z22.h - z23.h}, z14.h  // 11000001-00101110-00001010-11000001
276// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h
277// CHECK-ENCODING: [0xc1,0x0a,0x2e,0xc1]
278// CHECK-ERROR: instruction requires: sme2
279// CHECK-UNKNOWN: c12e0ac1 <unknown>
280
281fmlal   za.s[w11, 4:5, vgx2], {z9.h, z10.h}, z1.h  // 11000001-00100001-01101001-00100010
282// CHECK-INST: fmlal   za.s[w11, 4:5, vgx2], { z9.h, z10.h }, z1.h
283// CHECK-ENCODING: [0x22,0x69,0x21,0xc1]
284// CHECK-ERROR: instruction requires: sme2
285// CHECK-UNKNOWN: c1216922 <unknown>
286
287fmlal   za.s[w11, 4:5], {z9.h - z10.h}, z1.h  // 11000001-00100001-01101001-00100010
288// CHECK-INST: fmlal   za.s[w11, 4:5, vgx2], { z9.h, z10.h }, z1.h
289// CHECK-ENCODING: [0x22,0x69,0x21,0xc1]
290// CHECK-ERROR: instruction requires: sme2
291// CHECK-UNKNOWN: c1216922 <unknown>
292
293fmlal   za.s[w9, 6:7, vgx2], {z12.h, z13.h}, z11.h  // 11000001-00101011-00101001-10000011
294// CHECK-INST: fmlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h
295// CHECK-ENCODING: [0x83,0x29,0x2b,0xc1]
296// CHECK-ERROR: instruction requires: sme2
297// CHECK-UNKNOWN: c12b2983 <unknown>
298
299fmlal   za.s[w9, 6:7], {z12.h - z13.h}, z11.h  // 11000001-00101011-00101001-10000011
300// CHECK-INST: fmlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h
301// CHECK-ENCODING: [0x83,0x29,0x2b,0xc1]
302// CHECK-ERROR: instruction requires: sme2
303// CHECK-UNKNOWN: c12b2983 <unknown>
304
305
306fmlal   za.s[w8, 0:1, vgx2], {z0.h, z1.h}, z0.h[0]  // 11000001-10010000-00010000-00000000
307// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h[0]
308// CHECK-ENCODING: [0x00,0x10,0x90,0xc1]
309// CHECK-ERROR: instruction requires: sme2
310// CHECK-UNKNOWN: c1901000 <unknown>
311
312fmlal   za.s[w8, 0:1], {z0.h - z1.h}, z0.h[0]  // 11000001-10010000-00010000-00000000
313// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h[0]
314// CHECK-ENCODING: [0x00,0x10,0x90,0xc1]
315// CHECK-ERROR: instruction requires: sme2
316// CHECK-UNKNOWN: c1901000 <unknown>
317
318fmlal   za.s[w10, 2:3, vgx2], {z10.h, z11.h}, z5.h[3]  // 11000001-10010101-01010101-01000101
319// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h[3]
320// CHECK-ENCODING: [0x45,0x55,0x95,0xc1]
321// CHECK-ERROR: instruction requires: sme2
322// CHECK-UNKNOWN: c1955545 <unknown>
323
324fmlal   za.s[w10, 2:3], {z10.h - z11.h}, z5.h[3]  // 11000001-10010101-01010101-01000101
325// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h[3]
326// CHECK-ENCODING: [0x45,0x55,0x95,0xc1]
327// CHECK-ERROR: instruction requires: sme2
328// CHECK-UNKNOWN: c1955545 <unknown>
329
330fmlal   za.s[w11, 6:7, vgx2], {z12.h, z13.h}, z8.h[7]  // 11000001-10011000-01111101-10000111
331// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z12.h, z13.h }, z8.h[7]
332// CHECK-ENCODING: [0x87,0x7d,0x98,0xc1]
333// CHECK-ERROR: instruction requires: sme2
334// CHECK-UNKNOWN: c1987d87 <unknown>
335
336fmlal   za.s[w11, 6:7], {z12.h - z13.h}, z8.h[7]  // 11000001-10011000-01111101-10000111
337// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z12.h, z13.h }, z8.h[7]
338// CHECK-ENCODING: [0x87,0x7d,0x98,0xc1]
339// CHECK-ERROR: instruction requires: sme2
340// CHECK-UNKNOWN: c1987d87 <unknown>
341
342fmlal   za.s[w11, 6:7, vgx2], {z30.h, z31.h}, z15.h[7]  // 11000001-10011111-01111111-11000111
343// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z30.h, z31.h }, z15.h[7]
344// CHECK-ENCODING: [0xc7,0x7f,0x9f,0xc1]
345// CHECK-ERROR: instruction requires: sme2
346// CHECK-UNKNOWN: c19f7fc7 <unknown>
347
348fmlal   za.s[w11, 6:7], {z30.h - z31.h}, z15.h[7]  // 11000001-10011111-01111111-11000111
349// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z30.h, z31.h }, z15.h[7]
350// CHECK-ENCODING: [0xc7,0x7f,0x9f,0xc1]
351// CHECK-ERROR: instruction requires: sme2
352// CHECK-UNKNOWN: c19f7fc7 <unknown>
353
354fmlal   za.s[w8, 2:3, vgx2], {z16.h, z17.h}, z0.h[7]  // 11000001-10010000-00011110-00000101
355// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z16.h, z17.h }, z0.h[7]
356// CHECK-ENCODING: [0x05,0x1e,0x90,0xc1]
357// CHECK-ERROR: instruction requires: sme2
358// CHECK-UNKNOWN: c1901e05 <unknown>
359
360fmlal   za.s[w8, 2:3], {z16.h - z17.h}, z0.h[7]  // 11000001-10010000-00011110-00000101
361// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z16.h, z17.h }, z0.h[7]
362// CHECK-ENCODING: [0x05,0x1e,0x90,0xc1]
363// CHECK-ERROR: instruction requires: sme2
364// CHECK-UNKNOWN: c1901e05 <unknown>
365
366fmlal   za.s[w8, 2:3, vgx2], {z0.h, z1.h}, z14.h[2]  // 11000001-10011110-00010100-00000001
367// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z0.h, z1.h }, z14.h[2]
368// CHECK-ENCODING: [0x01,0x14,0x9e,0xc1]
369// CHECK-ERROR: instruction requires: sme2
370// CHECK-UNKNOWN: c19e1401 <unknown>
371
372fmlal   za.s[w8, 2:3], {z0.h - z1.h}, z14.h[2]  // 11000001-10011110-00010100-00000001
373// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z0.h, z1.h }, z14.h[2]
374// CHECK-ENCODING: [0x01,0x14,0x9e,0xc1]
375// CHECK-ERROR: instruction requires: sme2
376// CHECK-UNKNOWN: c19e1401 <unknown>
377
378fmlal   za.s[w10, 0:1, vgx2], {z18.h, z19.h}, z4.h[2]  // 11000001-10010100-01010110-01000000
379// CHECK-INST: fmlal   za.s[w10, 0:1, vgx2], { z18.h, z19.h }, z4.h[2]
380// CHECK-ENCODING: [0x40,0x56,0x94,0xc1]
381// CHECK-ERROR: instruction requires: sme2
382// CHECK-UNKNOWN: c1945640 <unknown>
383
384fmlal   za.s[w10, 0:1], {z18.h - z19.h}, z4.h[2]  // 11000001-10010100-01010110-01000000
385// CHECK-INST: fmlal   za.s[w10, 0:1, vgx2], { z18.h, z19.h }, z4.h[2]
386// CHECK-ENCODING: [0x40,0x56,0x94,0xc1]
387// CHECK-ERROR: instruction requires: sme2
388// CHECK-UNKNOWN: c1945640 <unknown>
389
390fmlal   za.s[w8, 0:1, vgx2], {z12.h, z13.h}, z2.h[4]  // 11000001-10010010-00011001-10000000
391// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h[4]
392// CHECK-ENCODING: [0x80,0x19,0x92,0xc1]
393// CHECK-ERROR: instruction requires: sme2
394// CHECK-UNKNOWN: c1921980 <unknown>
395
396fmlal   za.s[w8, 0:1], {z12.h - z13.h}, z2.h[4]  // 11000001-10010010-00011001-10000000
397// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h[4]
398// CHECK-ENCODING: [0x80,0x19,0x92,0xc1]
399// CHECK-ERROR: instruction requires: sme2
400// CHECK-UNKNOWN: c1921980 <unknown>
401
402fmlal   za.s[w10, 2:3, vgx2], {z0.h, z1.h}, z10.h[4]  // 11000001-10011010-01011000-00000001
403// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z0.h, z1.h }, z10.h[4]
404// CHECK-ENCODING: [0x01,0x58,0x9a,0xc1]
405// CHECK-ERROR: instruction requires: sme2
406// CHECK-UNKNOWN: c19a5801 <unknown>
407
408fmlal   za.s[w10, 2:3], {z0.h - z1.h}, z10.h[4]  // 11000001-10011010-01011000-00000001
409// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z0.h, z1.h }, z10.h[4]
410// CHECK-ENCODING: [0x01,0x58,0x9a,0xc1]
411// CHECK-ERROR: instruction requires: sme2
412// CHECK-UNKNOWN: c19a5801 <unknown>
413
414fmlal   za.s[w8, 2:3, vgx2], {z22.h, z23.h}, z14.h[5]  // 11000001-10011110-00011010-11000101
415// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h[5]
416// CHECK-ENCODING: [0xc5,0x1a,0x9e,0xc1]
417// CHECK-ERROR: instruction requires: sme2
418// CHECK-UNKNOWN: c19e1ac5 <unknown>
419
420fmlal   za.s[w8, 2:3], {z22.h - z23.h}, z14.h[5]  // 11000001-10011110-00011010-11000101
421// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h[5]
422// CHECK-ENCODING: [0xc5,0x1a,0x9e,0xc1]
423// CHECK-ERROR: instruction requires: sme2
424// CHECK-UNKNOWN: c19e1ac5 <unknown>
425
426fmlal   za.s[w11, 4:5, vgx2], {z8.h, z9.h}, z1.h[2]  // 11000001-10010001-01110101-00000010
427// CHECK-INST: fmlal   za.s[w11, 4:5, vgx2], { z8.h, z9.h }, z1.h[2]
428// CHECK-ENCODING: [0x02,0x75,0x91,0xc1]
429// CHECK-ERROR: instruction requires: sme2
430// CHECK-UNKNOWN: c1917502 <unknown>
431
432fmlal   za.s[w11, 4:5], {z8.h - z9.h}, z1.h[2]  // 11000001-10010001-01110101-00000010
433// CHECK-INST: fmlal   za.s[w11, 4:5, vgx2], { z8.h, z9.h }, z1.h[2]
434// CHECK-ENCODING: [0x02,0x75,0x91,0xc1]
435// CHECK-ERROR: instruction requires: sme2
436// CHECK-UNKNOWN: c1917502 <unknown>
437
438fmlal   za.s[w9, 6:7, vgx2], {z12.h, z13.h}, z11.h[5]  // 11000001-10011011-00111001-10000111
439// CHECK-INST: fmlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h[5]
440// CHECK-ENCODING: [0x87,0x39,0x9b,0xc1]
441// CHECK-ERROR: instruction requires: sme2
442// CHECK-UNKNOWN: c19b3987 <unknown>
443
444fmlal   za.s[w9, 6:7], {z12.h - z13.h}, z11.h[5]  // 11000001-10011011-00111001-10000111
445// CHECK-INST: fmlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h[5]
446// CHECK-ENCODING: [0x87,0x39,0x9b,0xc1]
447// CHECK-ERROR: instruction requires: sme2
448// CHECK-UNKNOWN: c19b3987 <unknown>
449
450
451fmlal   za.s[w8, 0:1, vgx2], {z0.h, z1.h}, {z0.h, z1.h}  // 11000001-10100000-00001000-00000000
452// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
453// CHECK-ENCODING: [0x00,0x08,0xa0,0xc1]
454// CHECK-ERROR: instruction requires: sme2
455// CHECK-UNKNOWN: c1a00800 <unknown>
456
457fmlal   za.s[w8, 0:1], {z0.h - z1.h}, {z0.h - z1.h}  // 11000001-10100000-00001000-00000000
458// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
459// CHECK-ENCODING: [0x00,0x08,0xa0,0xc1]
460// CHECK-ERROR: instruction requires: sme2
461// CHECK-UNKNOWN: c1a00800 <unknown>
462
463fmlal   za.s[w10, 2:3, vgx2], {z10.h, z11.h}, {z20.h, z21.h}  // 11000001-10110100-01001001-01000001
464// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
465// CHECK-ENCODING: [0x41,0x49,0xb4,0xc1]
466// CHECK-ERROR: instruction requires: sme2
467// CHECK-UNKNOWN: c1b44941 <unknown>
468
469fmlal   za.s[w10, 2:3], {z10.h - z11.h}, {z20.h - z21.h}  // 11000001-10110100-01001001-01000001
470// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
471// CHECK-ENCODING: [0x41,0x49,0xb4,0xc1]
472// CHECK-ERROR: instruction requires: sme2
473// CHECK-UNKNOWN: c1b44941 <unknown>
474
475fmlal   za.s[w11, 6:7, vgx2], {z12.h, z13.h}, {z8.h, z9.h}  // 11000001-10101000-01101001-10000011
476// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
477// CHECK-ENCODING: [0x83,0x69,0xa8,0xc1]
478// CHECK-ERROR: instruction requires: sme2
479// CHECK-UNKNOWN: c1a86983 <unknown>
480
481fmlal   za.s[w11, 6:7], {z12.h - z13.h}, {z8.h - z9.h}  // 11000001-10101000-01101001-10000011
482// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
483// CHECK-ENCODING: [0x83,0x69,0xa8,0xc1]
484// CHECK-ERROR: instruction requires: sme2
485// CHECK-UNKNOWN: c1a86983 <unknown>
486
487fmlal   za.s[w11, 6:7, vgx2], {z30.h, z31.h}, {z30.h, z31.h}  // 11000001-10111110-01101011-11000011
488// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
489// CHECK-ENCODING: [0xc3,0x6b,0xbe,0xc1]
490// CHECK-ERROR: instruction requires: sme2
491// CHECK-UNKNOWN: c1be6bc3 <unknown>
492
493fmlal   za.s[w11, 6:7], {z30.h - z31.h}, {z30.h - z31.h}  // 11000001-10111110-01101011-11000011
494// CHECK-INST: fmlal   za.s[w11, 6:7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
495// CHECK-ENCODING: [0xc3,0x6b,0xbe,0xc1]
496// CHECK-ERROR: instruction requires: sme2
497// CHECK-UNKNOWN: c1be6bc3 <unknown>
498
499fmlal   za.s[w8, 2:3, vgx2], {z16.h, z17.h}, {z16.h, z17.h}  // 11000001-10110000-00001010-00000001
500// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
501// CHECK-ENCODING: [0x01,0x0a,0xb0,0xc1]
502// CHECK-ERROR: instruction requires: sme2
503// CHECK-UNKNOWN: c1b00a01 <unknown>
504
505fmlal   za.s[w8, 2:3], {z16.h - z17.h}, {z16.h - z17.h}  // 11000001-10110000-00001010-00000001
506// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
507// CHECK-ENCODING: [0x01,0x0a,0xb0,0xc1]
508// CHECK-ERROR: instruction requires: sme2
509// CHECK-UNKNOWN: c1b00a01 <unknown>
510
511fmlal   za.s[w8, 2:3, vgx2], {z0.h, z1.h}, {z30.h, z31.h}  // 11000001-10111110-00001000-00000001
512// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
513// CHECK-ENCODING: [0x01,0x08,0xbe,0xc1]
514// CHECK-ERROR: instruction requires: sme2
515// CHECK-UNKNOWN: c1be0801 <unknown>
516
517fmlal   za.s[w8, 2:3], {z0.h - z1.h}, {z30.h - z31.h}  // 11000001-10111110-00001000-00000001
518// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
519// CHECK-ENCODING: [0x01,0x08,0xbe,0xc1]
520// CHECK-ERROR: instruction requires: sme2
521// CHECK-UNKNOWN: c1be0801 <unknown>
522
523fmlal   za.s[w10, 0:1, vgx2], {z18.h, z19.h}, {z20.h, z21.h}  // 11000001-10110100-01001010-01000000
524// CHECK-INST: fmlal   za.s[w10, 0:1, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
525// CHECK-ENCODING: [0x40,0x4a,0xb4,0xc1]
526// CHECK-ERROR: instruction requires: sme2
527// CHECK-UNKNOWN: c1b44a40 <unknown>
528
529fmlal   za.s[w10, 0:1], {z18.h - z19.h}, {z20.h - z21.h}  // 11000001-10110100-01001010-01000000
530// CHECK-INST: fmlal   za.s[w10, 0:1, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
531// CHECK-ENCODING: [0x40,0x4a,0xb4,0xc1]
532// CHECK-ERROR: instruction requires: sme2
533// CHECK-UNKNOWN: c1b44a40 <unknown>
534
535fmlal   za.s[w8, 0:1, vgx2], {z12.h, z13.h}, {z2.h, z3.h}  // 11000001-10100010-00001001-10000000
536// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
537// CHECK-ENCODING: [0x80,0x09,0xa2,0xc1]
538// CHECK-ERROR: instruction requires: sme2
539// CHECK-UNKNOWN: c1a20980 <unknown>
540
541fmlal   za.s[w8, 0:1], {z12.h - z13.h}, {z2.h - z3.h}  // 11000001-10100010-00001001-10000000
542// CHECK-INST: fmlal   za.s[w8, 0:1, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
543// CHECK-ENCODING: [0x80,0x09,0xa2,0xc1]
544// CHECK-ERROR: instruction requires: sme2
545// CHECK-UNKNOWN: c1a20980 <unknown>
546
547fmlal   za.s[w10, 2:3, vgx2], {z0.h, z1.h}, {z26.h, z27.h}  // 11000001-10111010-01001000-00000001
548// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
549// CHECK-ENCODING: [0x01,0x48,0xba,0xc1]
550// CHECK-ERROR: instruction requires: sme2
551// CHECK-UNKNOWN: c1ba4801 <unknown>
552
553fmlal   za.s[w10, 2:3], {z0.h - z1.h}, {z26.h - z27.h}  // 11000001-10111010-01001000-00000001
554// CHECK-INST: fmlal   za.s[w10, 2:3, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
555// CHECK-ENCODING: [0x01,0x48,0xba,0xc1]
556// CHECK-ERROR: instruction requires: sme2
557// CHECK-UNKNOWN: c1ba4801 <unknown>
558
559fmlal   za.s[w8, 2:3, vgx2], {z22.h, z23.h}, {z30.h, z31.h}  // 11000001-10111110-00001010-11000001
560// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
561// CHECK-ENCODING: [0xc1,0x0a,0xbe,0xc1]
562// CHECK-ERROR: instruction requires: sme2
563// CHECK-UNKNOWN: c1be0ac1 <unknown>
564
565fmlal   za.s[w8, 2:3], {z22.h - z23.h}, {z30.h - z31.h}  // 11000001-10111110-00001010-11000001
566// CHECK-INST: fmlal   za.s[w8, 2:3, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
567// CHECK-ENCODING: [0xc1,0x0a,0xbe,0xc1]
568// CHECK-ERROR: instruction requires: sme2
569// CHECK-UNKNOWN: c1be0ac1 <unknown>
570
571fmlal   za.s[w11, 4:5, vgx2], {z8.h, z9.h}, {z0.h, z1.h}  // 11000001-10100000-01101001-00000010
572// CHECK-INST: fmlal   za.s[w11, 4:5, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
573// CHECK-ENCODING: [0x02,0x69,0xa0,0xc1]
574// CHECK-ERROR: instruction requires: sme2
575// CHECK-UNKNOWN: c1a06902 <unknown>
576
577fmlal   za.s[w11, 4:5], {z8.h - z9.h}, {z0.h - z1.h}  // 11000001-10100000-01101001-00000010
578// CHECK-INST: fmlal   za.s[w11, 4:5, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
579// CHECK-ENCODING: [0x02,0x69,0xa0,0xc1]
580// CHECK-ERROR: instruction requires: sme2
581// CHECK-UNKNOWN: c1a06902 <unknown>
582
583fmlal   za.s[w9, 6:7, vgx2], {z12.h, z13.h}, {z10.h, z11.h}  // 11000001-10101010-00101001-10000011
584// CHECK-INST: fmlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
585// CHECK-ENCODING: [0x83,0x29,0xaa,0xc1]
586// CHECK-ERROR: instruction requires: sme2
587// CHECK-UNKNOWN: c1aa2983 <unknown>
588
589fmlal   za.s[w9, 6:7], {z12.h - z13.h}, {z10.h - z11.h}  // 11000001-10101010-00101001-10000011
590// CHECK-INST: fmlal   za.s[w9, 6:7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
591// CHECK-ENCODING: [0x83,0x29,0xaa,0xc1]
592// CHECK-ERROR: instruction requires: sme2
593// CHECK-UNKNOWN: c1aa2983 <unknown>
594
595
596fmlal   za.s[w8, 0:1, vgx4], {z0.h - z3.h}, z0.h  // 11000001-00110000-00001000-00000000
597// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h
598// CHECK-ENCODING: [0x00,0x08,0x30,0xc1]
599// CHECK-ERROR: instruction requires: sme2
600// CHECK-UNKNOWN: c1300800 <unknown>
601
602fmlal   za.s[w8, 0:1], {z0.h - z3.h}, z0.h  // 11000001-00110000-00001000-00000000
603// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h
604// CHECK-ENCODING: [0x00,0x08,0x30,0xc1]
605// CHECK-ERROR: instruction requires: sme2
606// CHECK-UNKNOWN: c1300800 <unknown>
607
608fmlal   za.s[w10, 2:3, vgx4], {z10.h - z13.h}, z5.h  // 11000001-00110101-01001001-01000001
609// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z10.h - z13.h }, z5.h
610// CHECK-ENCODING: [0x41,0x49,0x35,0xc1]
611// CHECK-ERROR: instruction requires: sme2
612// CHECK-UNKNOWN: c1354941 <unknown>
613
614fmlal   za.s[w10, 2:3], {z10.h - z13.h}, z5.h  // 11000001-00110101-01001001-01000001
615// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z10.h - z13.h }, z5.h
616// CHECK-ENCODING: [0x41,0x49,0x35,0xc1]
617// CHECK-ERROR: instruction requires: sme2
618// CHECK-UNKNOWN: c1354941 <unknown>
619
620fmlal   za.s[w11, 6:7, vgx4], {z13.h - z16.h}, z8.h  // 11000001-00111000-01101001-10100011
621// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z13.h - z16.h }, z8.h
622// CHECK-ENCODING: [0xa3,0x69,0x38,0xc1]
623// CHECK-ERROR: instruction requires: sme2
624// CHECK-UNKNOWN: c13869a3 <unknown>
625
626fmlal   za.s[w11, 6:7], {z13.h - z16.h}, z8.h  // 11000001-00111000-01101001-10100011
627// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z13.h - z16.h }, z8.h
628// CHECK-ENCODING: [0xa3,0x69,0x38,0xc1]
629// CHECK-ERROR: instruction requires: sme2
630// CHECK-UNKNOWN: c13869a3 <unknown>
631
632fmlal   za.s[w11, 6:7, vgx4], {z31.h, z0.h, z1.h, z2.h}, z15.h  // 11000001-00111111-01101011-11100011
633// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
634// CHECK-ENCODING: [0xe3,0x6b,0x3f,0xc1]
635// CHECK-ERROR: instruction requires: sme2
636// CHECK-UNKNOWN: c13f6be3 <unknown>
637
638fmlal   za.s[w11, 6:7], {z31.h, z0.h, z1.h, z2.h}, z15.h  // 11000001-00111111-01101011-11100011
639// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
640// CHECK-ENCODING: [0xe3,0x6b,0x3f,0xc1]
641// CHECK-ERROR: instruction requires: sme2
642// CHECK-UNKNOWN: c13f6be3 <unknown>
643
644fmlal   za.s[w8, 2:3, vgx4], {z17.h - z20.h}, z0.h  // 11000001-00110000-00001010-00100001
645// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z17.h - z20.h }, z0.h
646// CHECK-ENCODING: [0x21,0x0a,0x30,0xc1]
647// CHECK-ERROR: instruction requires: sme2
648// CHECK-UNKNOWN: c1300a21 <unknown>
649
650fmlal   za.s[w8, 2:3], {z17.h - z20.h}, z0.h  // 11000001-00110000-00001010-00100001
651// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z17.h - z20.h }, z0.h
652// CHECK-ENCODING: [0x21,0x0a,0x30,0xc1]
653// CHECK-ERROR: instruction requires: sme2
654// CHECK-UNKNOWN: c1300a21 <unknown>
655
656fmlal   za.s[w8, 2:3, vgx4], {z1.h - z4.h}, z14.h  // 11000001-00111110-00001000-00100001
657// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z1.h - z4.h }, z14.h
658// CHECK-ENCODING: [0x21,0x08,0x3e,0xc1]
659// CHECK-ERROR: instruction requires: sme2
660// CHECK-UNKNOWN: c13e0821 <unknown>
661
662fmlal   za.s[w8, 2:3], {z1.h - z4.h}, z14.h  // 11000001-00111110-00001000-00100001
663// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z1.h - z4.h }, z14.h
664// CHECK-ENCODING: [0x21,0x08,0x3e,0xc1]
665// CHECK-ERROR: instruction requires: sme2
666// CHECK-UNKNOWN: c13e0821 <unknown>
667
668fmlal   za.s[w10, 0:1, vgx4], {z19.h - z22.h}, z4.h  // 11000001-00110100-01001010-01100000
669// CHECK-INST: fmlal   za.s[w10, 0:1, vgx4], { z19.h - z22.h }, z4.h
670// CHECK-ENCODING: [0x60,0x4a,0x34,0xc1]
671// CHECK-ERROR: instruction requires: sme2
672// CHECK-UNKNOWN: c1344a60 <unknown>
673
674fmlal   za.s[w10, 0:1], {z19.h - z22.h}, z4.h  // 11000001-00110100-01001010-01100000
675// CHECK-INST: fmlal   za.s[w10, 0:1, vgx4], { z19.h - z22.h }, z4.h
676// CHECK-ENCODING: [0x60,0x4a,0x34,0xc1]
677// CHECK-ERROR: instruction requires: sme2
678// CHECK-UNKNOWN: c1344a60 <unknown>
679
680fmlal   za.s[w8, 0:1, vgx4], {z12.h - z15.h}, z2.h  // 11000001-00110010-00001001-10000000
681// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h
682// CHECK-ENCODING: [0x80,0x09,0x32,0xc1]
683// CHECK-ERROR: instruction requires: sme2
684// CHECK-UNKNOWN: c1320980 <unknown>
685
686fmlal   za.s[w8, 0:1], {z12.h - z15.h}, z2.h  // 11000001-00110010-00001001-10000000
687// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h
688// CHECK-ENCODING: [0x80,0x09,0x32,0xc1]
689// CHECK-ERROR: instruction requires: sme2
690// CHECK-UNKNOWN: c1320980 <unknown>
691
692fmlal   za.s[w10, 2:3, vgx4], {z1.h - z4.h}, z10.h  // 11000001-00111010-01001000-00100001
693// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z1.h - z4.h }, z10.h
694// CHECK-ENCODING: [0x21,0x48,0x3a,0xc1]
695// CHECK-ERROR: instruction requires: sme2
696// CHECK-UNKNOWN: c13a4821 <unknown>
697
698fmlal   za.s[w10, 2:3], {z1.h - z4.h}, z10.h  // 11000001-00111010-01001000-00100001
699// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z1.h - z4.h }, z10.h
700// CHECK-ENCODING: [0x21,0x48,0x3a,0xc1]
701// CHECK-ERROR: instruction requires: sme2
702// CHECK-UNKNOWN: c13a4821 <unknown>
703
704fmlal   za.s[w8, 2:3, vgx4], {z22.h - z25.h}, z14.h  // 11000001-00111110-00001010-11000001
705// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z22.h - z25.h }, z14.h
706// CHECK-ENCODING: [0xc1,0x0a,0x3e,0xc1]
707// CHECK-ERROR: instruction requires: sme2
708// CHECK-UNKNOWN: c13e0ac1 <unknown>
709
710fmlal   za.s[w8, 2:3], {z22.h - z25.h}, z14.h  // 11000001-00111110-00001010-11000001
711// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z22.h - z25.h }, z14.h
712// CHECK-ENCODING: [0xc1,0x0a,0x3e,0xc1]
713// CHECK-ERROR: instruction requires: sme2
714// CHECK-UNKNOWN: c13e0ac1 <unknown>
715
716fmlal   za.s[w11, 4:5, vgx4], {z9.h - z12.h}, z1.h  // 11000001-00110001-01101001-00100010
717// CHECK-INST: fmlal   za.s[w11, 4:5, vgx4], { z9.h - z12.h }, z1.h
718// CHECK-ENCODING: [0x22,0x69,0x31,0xc1]
719// CHECK-ERROR: instruction requires: sme2
720// CHECK-UNKNOWN: c1316922 <unknown>
721
722fmlal   za.s[w11, 4:5], {z9.h - z12.h}, z1.h  // 11000001-00110001-01101001-00100010
723// CHECK-INST: fmlal   za.s[w11, 4:5, vgx4], { z9.h - z12.h }, z1.h
724// CHECK-ENCODING: [0x22,0x69,0x31,0xc1]
725// CHECK-ERROR: instruction requires: sme2
726// CHECK-UNKNOWN: c1316922 <unknown>
727
728fmlal   za.s[w9, 6:7, vgx4], {z12.h - z15.h}, z11.h  // 11000001-00111011-00101001-10000011
729// CHECK-INST: fmlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h
730// CHECK-ENCODING: [0x83,0x29,0x3b,0xc1]
731// CHECK-ERROR: instruction requires: sme2
732// CHECK-UNKNOWN: c13b2983 <unknown>
733
734fmlal   za.s[w9, 6:7], {z12.h - z15.h}, z11.h  // 11000001-00111011-00101001-10000011
735// CHECK-INST: fmlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h
736// CHECK-ENCODING: [0x83,0x29,0x3b,0xc1]
737// CHECK-ERROR: instruction requires: sme2
738// CHECK-UNKNOWN: c13b2983 <unknown>
739
740
741fmlal   za.s[w8, 0:1, vgx4], {z0.h - z3.h}, z0.h[0]  // 11000001-10010000-10010000-00000000
742// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h[0]
743// CHECK-ENCODING: [0x00,0x90,0x90,0xc1]
744// CHECK-ERROR: instruction requires: sme2
745// CHECK-UNKNOWN: c1909000 <unknown>
746
747fmlal   za.s[w8, 0:1], {z0.h - z3.h}, z0.h[0]  // 11000001-10010000-10010000-00000000
748// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h[0]
749// CHECK-ENCODING: [0x00,0x90,0x90,0xc1]
750// CHECK-ERROR: instruction requires: sme2
751// CHECK-UNKNOWN: c1909000 <unknown>
752
753fmlal   za.s[w10, 2:3, vgx4], {z8.h - z11.h}, z5.h[3]  // 11000001-10010101-11010101-00000101
754// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z8.h - z11.h }, z5.h[3]
755// CHECK-ENCODING: [0x05,0xd5,0x95,0xc1]
756// CHECK-ERROR: instruction requires: sme2
757// CHECK-UNKNOWN: c195d505 <unknown>
758
759fmlal   za.s[w10, 2:3], {z8.h - z11.h}, z5.h[3]  // 11000001-10010101-11010101-00000101
760// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z8.h - z11.h }, z5.h[3]
761// CHECK-ENCODING: [0x05,0xd5,0x95,0xc1]
762// CHECK-ERROR: instruction requires: sme2
763// CHECK-UNKNOWN: c195d505 <unknown>
764
765fmlal   za.s[w11, 6:7, vgx4], {z12.h - z15.h}, z8.h[7]  // 11000001-10011000-11111101-10000111
766// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z12.h - z15.h }, z8.h[7]
767// CHECK-ENCODING: [0x87,0xfd,0x98,0xc1]
768// CHECK-ERROR: instruction requires: sme2
769// CHECK-UNKNOWN: c198fd87 <unknown>
770
771fmlal   za.s[w11, 6:7], {z12.h - z15.h}, z8.h[7]  // 11000001-10011000-11111101-10000111
772// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z12.h - z15.h }, z8.h[7]
773// CHECK-ENCODING: [0x87,0xfd,0x98,0xc1]
774// CHECK-ERROR: instruction requires: sme2
775// CHECK-UNKNOWN: c198fd87 <unknown>
776
777fmlal   za.s[w11, 6:7, vgx4], {z28.h - z31.h}, z15.h[7]  // 11000001-10011111-11111111-10000111
778// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z28.h - z31.h }, z15.h[7]
779// CHECK-ENCODING: [0x87,0xff,0x9f,0xc1]
780// CHECK-ERROR: instruction requires: sme2
781// CHECK-UNKNOWN: c19fff87 <unknown>
782
783fmlal   za.s[w11, 6:7], {z28.h - z31.h}, z15.h[7]  // 11000001-10011111-11111111-10000111
784// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z28.h - z31.h }, z15.h[7]
785// CHECK-ENCODING: [0x87,0xff,0x9f,0xc1]
786// CHECK-ERROR: instruction requires: sme2
787// CHECK-UNKNOWN: c19fff87 <unknown>
788
789fmlal   za.s[w8, 2:3, vgx4], {z16.h - z19.h}, z0.h[7]  // 11000001-10010000-10011110-00000101
790// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z16.h - z19.h }, z0.h[7]
791// CHECK-ENCODING: [0x05,0x9e,0x90,0xc1]
792// CHECK-ERROR: instruction requires: sme2
793// CHECK-UNKNOWN: c1909e05 <unknown>
794
795fmlal   za.s[w8, 2:3], {z16.h - z19.h}, z0.h[7]  // 11000001-10010000-10011110-00000101
796// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z16.h - z19.h }, z0.h[7]
797// CHECK-ENCODING: [0x05,0x9e,0x90,0xc1]
798// CHECK-ERROR: instruction requires: sme2
799// CHECK-UNKNOWN: c1909e05 <unknown>
800
801fmlal   za.s[w8, 2:3, vgx4], {z0.h - z3.h}, z14.h[2]  // 11000001-10011110-10010100-00000001
802// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z0.h - z3.h }, z14.h[2]
803// CHECK-ENCODING: [0x01,0x94,0x9e,0xc1]
804// CHECK-ERROR: instruction requires: sme2
805// CHECK-UNKNOWN: c19e9401 <unknown>
806
807fmlal   za.s[w8, 2:3], {z0.h - z3.h}, z14.h[2]  // 11000001-10011110-10010100-00000001
808// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z0.h - z3.h }, z14.h[2]
809// CHECK-ENCODING: [0x01,0x94,0x9e,0xc1]
810// CHECK-ERROR: instruction requires: sme2
811// CHECK-UNKNOWN: c19e9401 <unknown>
812
813fmlal   za.s[w10, 0:1, vgx4], {z16.h - z19.h}, z4.h[2]  // 11000001-10010100-11010110-00000000
814// CHECK-INST: fmlal   za.s[w10, 0:1, vgx4], { z16.h - z19.h }, z4.h[2]
815// CHECK-ENCODING: [0x00,0xd6,0x94,0xc1]
816// CHECK-ERROR: instruction requires: sme2
817// CHECK-UNKNOWN: c194d600 <unknown>
818
819fmlal   za.s[w10, 0:1], {z16.h - z19.h}, z4.h[2]  // 11000001-10010100-11010110-00000000
820// CHECK-INST: fmlal   za.s[w10, 0:1, vgx4], { z16.h - z19.h }, z4.h[2]
821// CHECK-ENCODING: [0x00,0xd6,0x94,0xc1]
822// CHECK-ERROR: instruction requires: sme2
823// CHECK-UNKNOWN: c194d600 <unknown>
824
825fmlal   za.s[w8, 0:1, vgx4], {z12.h - z15.h}, z2.h[4]  // 11000001-10010010-10011001-10000000
826// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h[4]
827// CHECK-ENCODING: [0x80,0x99,0x92,0xc1]
828// CHECK-ERROR: instruction requires: sme2
829// CHECK-UNKNOWN: c1929980 <unknown>
830
831fmlal   za.s[w8, 0:1], {z12.h - z15.h}, z2.h[4]  // 11000001-10010010-10011001-10000000
832// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h[4]
833// CHECK-ENCODING: [0x80,0x99,0x92,0xc1]
834// CHECK-ERROR: instruction requires: sme2
835// CHECK-UNKNOWN: c1929980 <unknown>
836
837fmlal   za.s[w10, 2:3, vgx4], {z0.h - z3.h}, z10.h[4]  // 11000001-10011010-11011000-00000001
838// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z0.h - z3.h }, z10.h[4]
839// CHECK-ENCODING: [0x01,0xd8,0x9a,0xc1]
840// CHECK-ERROR: instruction requires: sme2
841// CHECK-UNKNOWN: c19ad801 <unknown>
842
843fmlal   za.s[w10, 2:3], {z0.h - z3.h}, z10.h[4]  // 11000001-10011010-11011000-00000001
844// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z0.h - z3.h }, z10.h[4]
845// CHECK-ENCODING: [0x01,0xd8,0x9a,0xc1]
846// CHECK-ERROR: instruction requires: sme2
847// CHECK-UNKNOWN: c19ad801 <unknown>
848
849fmlal   za.s[w8, 2:3, vgx4], {z20.h - z23.h}, z14.h[5]  // 11000001-10011110-10011010-10000101
850// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z20.h - z23.h }, z14.h[5]
851// CHECK-ENCODING: [0x85,0x9a,0x9e,0xc1]
852// CHECK-ERROR: instruction requires: sme2
853// CHECK-UNKNOWN: c19e9a85 <unknown>
854
855fmlal   za.s[w8, 2:3], {z20.h - z23.h}, z14.h[5]  // 11000001-10011110-10011010-10000101
856// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z20.h - z23.h }, z14.h[5]
857// CHECK-ENCODING: [0x85,0x9a,0x9e,0xc1]
858// CHECK-ERROR: instruction requires: sme2
859// CHECK-UNKNOWN: c19e9a85 <unknown>
860
861fmlal   za.s[w11, 4:5, vgx4], {z8.h - z11.h}, z1.h[2]  // 11000001-10010001-11110101-00000010
862// CHECK-INST: fmlal   za.s[w11, 4:5, vgx4], { z8.h - z11.h }, z1.h[2]
863// CHECK-ENCODING: [0x02,0xf5,0x91,0xc1]
864// CHECK-ERROR: instruction requires: sme2
865// CHECK-UNKNOWN: c191f502 <unknown>
866
867fmlal   za.s[w11, 4:5], {z8.h - z11.h}, z1.h[2]  // 11000001-10010001-11110101-00000010
868// CHECK-INST: fmlal   za.s[w11, 4:5, vgx4], { z8.h - z11.h }, z1.h[2]
869// CHECK-ENCODING: [0x02,0xf5,0x91,0xc1]
870// CHECK-ERROR: instruction requires: sme2
871// CHECK-UNKNOWN: c191f502 <unknown>
872
873fmlal   za.s[w9, 6:7, vgx4], {z12.h - z15.h}, z11.h[5]  // 11000001-10011011-10111001-10000111
874// CHECK-INST: fmlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h[5]
875// CHECK-ENCODING: [0x87,0xb9,0x9b,0xc1]
876// CHECK-ERROR: instruction requires: sme2
877// CHECK-UNKNOWN: c19bb987 <unknown>
878
879fmlal   za.s[w9, 6:7], {z12.h - z15.h}, z11.h[5]  // 11000001-10011011-10111001-10000111
880// CHECK-INST: fmlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h[5]
881// CHECK-ENCODING: [0x87,0xb9,0x9b,0xc1]
882// CHECK-ERROR: instruction requires: sme2
883// CHECK-UNKNOWN: c19bb987 <unknown>
884
885
886fmlal   za.s[w8, 0:1, vgx4], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-10100001-00001000-00000000
887// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
888// CHECK-ENCODING: [0x00,0x08,0xa1,0xc1]
889// CHECK-ERROR: instruction requires: sme2
890// CHECK-UNKNOWN: c1a10800 <unknown>
891
892fmlal   za.s[w8, 0:1], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-10100001-00001000-00000000
893// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
894// CHECK-ENCODING: [0x00,0x08,0xa1,0xc1]
895// CHECK-ERROR: instruction requires: sme2
896// CHECK-UNKNOWN: c1a10800 <unknown>
897
898fmlal   za.s[w10, 2:3, vgx4], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-10110101-01001001-00000001
899// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
900// CHECK-ENCODING: [0x01,0x49,0xb5,0xc1]
901// CHECK-ERROR: instruction requires: sme2
902// CHECK-UNKNOWN: c1b54901 <unknown>
903
904fmlal   za.s[w10, 2:3], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-10110101-01001001-00000001
905// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
906// CHECK-ENCODING: [0x01,0x49,0xb5,0xc1]
907// CHECK-ERROR: instruction requires: sme2
908// CHECK-UNKNOWN: c1b54901 <unknown>
909
910fmlal   za.s[w11, 6:7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-10101001-01101001-10000011
911// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
912// CHECK-ENCODING: [0x83,0x69,0xa9,0xc1]
913// CHECK-ERROR: instruction requires: sme2
914// CHECK-UNKNOWN: c1a96983 <unknown>
915
916fmlal   za.s[w11, 6:7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-10101001-01101001-10000011
917// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
918// CHECK-ENCODING: [0x83,0x69,0xa9,0xc1]
919// CHECK-ERROR: instruction requires: sme2
920// CHECK-UNKNOWN: c1a96983 <unknown>
921
922fmlal   za.s[w11, 6:7, vgx4], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-10111101-01101011-10000011
923// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
924// CHECK-ENCODING: [0x83,0x6b,0xbd,0xc1]
925// CHECK-ERROR: instruction requires: sme2
926// CHECK-UNKNOWN: c1bd6b83 <unknown>
927
928fmlal   za.s[w11, 6:7], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-10111101-01101011-10000011
929// CHECK-INST: fmlal   za.s[w11, 6:7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
930// CHECK-ENCODING: [0x83,0x6b,0xbd,0xc1]
931// CHECK-ERROR: instruction requires: sme2
932// CHECK-UNKNOWN: c1bd6b83 <unknown>
933
934fmlal   za.s[w8, 2:3, vgx4], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-10110001-00001010-00000001
935// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
936// CHECK-ENCODING: [0x01,0x0a,0xb1,0xc1]
937// CHECK-ERROR: instruction requires: sme2
938// CHECK-UNKNOWN: c1b10a01 <unknown>
939
940fmlal   za.s[w8, 2:3], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-10110001-00001010-00000001
941// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
942// CHECK-ENCODING: [0x01,0x0a,0xb1,0xc1]
943// CHECK-ERROR: instruction requires: sme2
944// CHECK-UNKNOWN: c1b10a01 <unknown>
945
946fmlal   za.s[w8, 2:3, vgx4], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-10111101-00001000-00000001
947// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
948// CHECK-ENCODING: [0x01,0x08,0xbd,0xc1]
949// CHECK-ERROR: instruction requires: sme2
950// CHECK-UNKNOWN: c1bd0801 <unknown>
951
952fmlal   za.s[w8, 2:3], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-10111101-00001000-00000001
953// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
954// CHECK-ENCODING: [0x01,0x08,0xbd,0xc1]
955// CHECK-ERROR: instruction requires: sme2
956// CHECK-UNKNOWN: c1bd0801 <unknown>
957
958fmlal   za.s[w10, 0:1, vgx4], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-10110101-01001010-00000000
959// CHECK-INST: fmlal   za.s[w10, 0:1, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
960// CHECK-ENCODING: [0x00,0x4a,0xb5,0xc1]
961// CHECK-ERROR: instruction requires: sme2
962// CHECK-UNKNOWN: c1b54a00 <unknown>
963
964fmlal   za.s[w10, 0:1], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-10110101-01001010-00000000
965// CHECK-INST: fmlal   za.s[w10, 0:1, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
966// CHECK-ENCODING: [0x00,0x4a,0xb5,0xc1]
967// CHECK-ERROR: instruction requires: sme2
968// CHECK-UNKNOWN: c1b54a00 <unknown>
969
970fmlal   za.s[w8, 0:1, vgx4], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-10100001-00001001-10000000
971// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
972// CHECK-ENCODING: [0x80,0x09,0xa1,0xc1]
973// CHECK-ERROR: instruction requires: sme2
974// CHECK-UNKNOWN: c1a10980 <unknown>
975
976fmlal   za.s[w8, 0:1], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-10100001-00001001-10000000
977// CHECK-INST: fmlal   za.s[w8, 0:1, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
978// CHECK-ENCODING: [0x80,0x09,0xa1,0xc1]
979// CHECK-ERROR: instruction requires: sme2
980// CHECK-UNKNOWN: c1a10980 <unknown>
981
982fmlal   za.s[w10, 2:3, vgx4], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-10111001-01001000-00000001
983// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
984// CHECK-ENCODING: [0x01,0x48,0xb9,0xc1]
985// CHECK-ERROR: instruction requires: sme2
986// CHECK-UNKNOWN: c1b94801 <unknown>
987
988fmlal   za.s[w10, 2:3], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-10111001-01001000-00000001
989// CHECK-INST: fmlal   za.s[w10, 2:3, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
990// CHECK-ENCODING: [0x01,0x48,0xb9,0xc1]
991// CHECK-ERROR: instruction requires: sme2
992// CHECK-UNKNOWN: c1b94801 <unknown>
993
994fmlal   za.s[w8, 2:3, vgx4], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-10111101-00001010-10000001
995// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
996// CHECK-ENCODING: [0x81,0x0a,0xbd,0xc1]
997// CHECK-ERROR: instruction requires: sme2
998// CHECK-UNKNOWN: c1bd0a81 <unknown>
999
1000fmlal   za.s[w8, 2:3], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-10111101-00001010-10000001
1001// CHECK-INST: fmlal   za.s[w8, 2:3, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
1002// CHECK-ENCODING: [0x81,0x0a,0xbd,0xc1]
1003// CHECK-ERROR: instruction requires: sme2
1004// CHECK-UNKNOWN: c1bd0a81 <unknown>
1005
1006fmlal   za.s[w11, 4:5, vgx4], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-10100001-01101001-00000010
1007// CHECK-INST: fmlal   za.s[w11, 4:5, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
1008// CHECK-ENCODING: [0x02,0x69,0xa1,0xc1]
1009// CHECK-ERROR: instruction requires: sme2
1010// CHECK-UNKNOWN: c1a16902 <unknown>
1011
1012fmlal   za.s[w11, 4:5], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-10100001-01101001-00000010
1013// CHECK-INST: fmlal   za.s[w11, 4:5, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
1014// CHECK-ENCODING: [0x02,0x69,0xa1,0xc1]
1015// CHECK-ERROR: instruction requires: sme2
1016// CHECK-UNKNOWN: c1a16902 <unknown>
1017
1018fmlal   za.s[w9, 6:7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-10101001-00101001-10000011
1019// CHECK-INST: fmlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
1020// CHECK-ENCODING: [0x83,0x29,0xa9,0xc1]
1021// CHECK-ERROR: instruction requires: sme2
1022// CHECK-UNKNOWN: c1a92983 <unknown>
1023
1024fmlal   za.s[w9, 6:7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-10101001-00101001-10000011
1025// CHECK-INST: fmlal   za.s[w9, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
1026// CHECK-ENCODING: [0x83,0x29,0xa9,0xc1]
1027// CHECK-ERROR: instruction requires: sme2
1028// CHECK-UNKNOWN: c1a92983 <unknown>
1029
1030