xref: /llvm-project/llvm/test/MC/AArch64/SME2/fmla.s (revision 0837bc1d041517ab29f86792288113409b7c6672)
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sme-f64f64 < %s \
2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
4// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sme-f64f64 < %s \
6// RUN:        | llvm-objdump -d --mattr=+sme2,+sme-f64f64 - | FileCheck %s --check-prefix=CHECK-INST
7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sme-f64f64 < %s \
8// RUN:        | llvm-objdump -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sme-f64f64 < %s \
10// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
11// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme2,+sme-f64f64 -disassemble -show-encoding \
12// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
13
14
15fmla    za.d[w8, 0, vgx2], {z0.d, z1.d}, z0.d  // 11000001-01100000-00011000-00000000
16// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z0.d, z1.d }, z0.d
17// CHECK-ENCODING: [0x00,0x18,0x60,0xc1]
18// CHECK-ERROR: instruction requires: sme2
19// CHECK-UNKNOWN: c1601800 <unknown>
20
21fmla    za.d[w8, 0], {z0.d - z1.d}, z0.d  // 11000001-01100000-00011000-00000000
22// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z0.d, z1.d }, z0.d
23// CHECK-ENCODING: [0x00,0x18,0x60,0xc1]
24// CHECK-ERROR: instruction requires: sme2
25// CHECK-UNKNOWN: c1601800 <unknown>
26
27fmla    za.d[w10, 5, vgx2], {z10.d, z11.d}, z5.d  // 11000001-01100101-01011001-01000101
28// CHECK-INST: fmla    za.d[w10, 5, vgx2], { z10.d, z11.d }, z5.d
29// CHECK-ENCODING: [0x45,0x59,0x65,0xc1]
30// CHECK-ERROR: instruction requires: sme2
31// CHECK-UNKNOWN: c1655945 <unknown>
32
33fmla    za.d[w10, 5], {z10.d - z11.d}, z5.d  // 11000001-01100101-01011001-01000101
34// CHECK-INST: fmla    za.d[w10, 5, vgx2], { z10.d, z11.d }, z5.d
35// CHECK-ENCODING: [0x45,0x59,0x65,0xc1]
36// CHECK-ERROR: instruction requires: sme2
37// CHECK-UNKNOWN: c1655945 <unknown>
38
39fmla    za.d[w11, 7, vgx2], {z13.d, z14.d}, z8.d  // 11000001-01101000-01111001-10100111
40// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z13.d, z14.d }, z8.d
41// CHECK-ENCODING: [0xa7,0x79,0x68,0xc1]
42// CHECK-ERROR: instruction requires: sme2
43// CHECK-UNKNOWN: c16879a7 <unknown>
44
45fmla    za.d[w11, 7], {z13.d - z14.d}, z8.d  // 11000001-01101000-01111001-10100111
46// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z13.d, z14.d }, z8.d
47// CHECK-ENCODING: [0xa7,0x79,0x68,0xc1]
48// CHECK-ERROR: instruction requires: sme2
49// CHECK-UNKNOWN: c16879a7 <unknown>
50
51fmla    za.d[w11, 7, vgx2], {z31.d, z0.d}, z15.d  // 11000001-01101111-01111011-11100111
52// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z31.d, z0.d }, z15.d
53// CHECK-ENCODING: [0xe7,0x7b,0x6f,0xc1]
54// CHECK-ERROR: instruction requires: sme2
55// CHECK-UNKNOWN: c16f7be7 <unknown>
56
57fmla    za.d[w11, 7], {z31.d - z0.d}, z15.d  // 11000001-01101111-01111011-11100111
58// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z31.d, z0.d }, z15.d
59// CHECK-ENCODING: [0xe7,0x7b,0x6f,0xc1]
60// CHECK-ERROR: instruction requires: sme2
61// CHECK-UNKNOWN: c16f7be7 <unknown>
62
63fmla    za.d[w8, 5, vgx2], {z17.d, z18.d}, z0.d  // 11000001-01100000-00011010-00100101
64// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z17.d, z18.d }, z0.d
65// CHECK-ENCODING: [0x25,0x1a,0x60,0xc1]
66// CHECK-ERROR: instruction requires: sme2
67// CHECK-UNKNOWN: c1601a25 <unknown>
68
69fmla    za.d[w8, 5], {z17.d - z18.d}, z0.d  // 11000001-01100000-00011010-00100101
70// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z17.d, z18.d }, z0.d
71// CHECK-ENCODING: [0x25,0x1a,0x60,0xc1]
72// CHECK-ERROR: instruction requires: sme2
73// CHECK-UNKNOWN: c1601a25 <unknown>
74
75fmla    za.d[w8, 1, vgx2], {z1.d, z2.d}, z14.d  // 11000001-01101110-00011000-00100001
76// CHECK-INST: fmla    za.d[w8, 1, vgx2], { z1.d, z2.d }, z14.d
77// CHECK-ENCODING: [0x21,0x18,0x6e,0xc1]
78// CHECK-ERROR: instruction requires: sme2
79// CHECK-UNKNOWN: c16e1821 <unknown>
80
81fmla    za.d[w8, 1], {z1.d - z2.d}, z14.d  // 11000001-01101110-00011000-00100001
82// CHECK-INST: fmla    za.d[w8, 1, vgx2], { z1.d, z2.d }, z14.d
83// CHECK-ENCODING: [0x21,0x18,0x6e,0xc1]
84// CHECK-ERROR: instruction requires: sme2
85// CHECK-UNKNOWN: c16e1821 <unknown>
86
87fmla    za.d[w10, 0, vgx2], {z19.d, z20.d}, z4.d  // 11000001-01100100-01011010-01100000
88// CHECK-INST: fmla    za.d[w10, 0, vgx2], { z19.d, z20.d }, z4.d
89// CHECK-ENCODING: [0x60,0x5a,0x64,0xc1]
90// CHECK-ERROR: instruction requires: sme2
91// CHECK-UNKNOWN: c1645a60 <unknown>
92
93fmla    za.d[w10, 0], {z19.d - z20.d}, z4.d  // 11000001-01100100-01011010-01100000
94// CHECK-INST: fmla    za.d[w10, 0, vgx2], { z19.d, z20.d }, z4.d
95// CHECK-ENCODING: [0x60,0x5a,0x64,0xc1]
96// CHECK-ERROR: instruction requires: sme2
97// CHECK-UNKNOWN: c1645a60 <unknown>
98
99fmla    za.d[w8, 0, vgx2], {z12.d, z13.d}, z2.d  // 11000001-01100010-00011001-10000000
100// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z12.d, z13.d }, z2.d
101// CHECK-ENCODING: [0x80,0x19,0x62,0xc1]
102// CHECK-ERROR: instruction requires: sme2
103// CHECK-UNKNOWN: c1621980 <unknown>
104
105fmla    za.d[w8, 0], {z12.d - z13.d}, z2.d  // 11000001-01100010-00011001-10000000
106// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z12.d, z13.d }, z2.d
107// CHECK-ENCODING: [0x80,0x19,0x62,0xc1]
108// CHECK-ERROR: instruction requires: sme2
109// CHECK-UNKNOWN: c1621980 <unknown>
110
111fmla    za.d[w10, 1, vgx2], {z1.d, z2.d}, z10.d  // 11000001-01101010-01011000-00100001
112// CHECK-INST: fmla    za.d[w10, 1, vgx2], { z1.d, z2.d }, z10.d
113// CHECK-ENCODING: [0x21,0x58,0x6a,0xc1]
114// CHECK-ERROR: instruction requires: sme2
115// CHECK-UNKNOWN: c16a5821 <unknown>
116
117fmla    za.d[w10, 1], {z1.d - z2.d}, z10.d  // 11000001-01101010-01011000-00100001
118// CHECK-INST: fmla    za.d[w10, 1, vgx2], { z1.d, z2.d }, z10.d
119// CHECK-ENCODING: [0x21,0x58,0x6a,0xc1]
120// CHECK-ERROR: instruction requires: sme2
121// CHECK-UNKNOWN: c16a5821 <unknown>
122
123fmla    za.d[w8, 5, vgx2], {z22.d, z23.d}, z14.d  // 11000001-01101110-00011010-11000101
124// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z22.d, z23.d }, z14.d
125// CHECK-ENCODING: [0xc5,0x1a,0x6e,0xc1]
126// CHECK-ERROR: instruction requires: sme2
127// CHECK-UNKNOWN: c16e1ac5 <unknown>
128
129fmla    za.d[w8, 5], {z22.d - z23.d}, z14.d  // 11000001-01101110-00011010-11000101
130// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z22.d, z23.d }, z14.d
131// CHECK-ENCODING: [0xc5,0x1a,0x6e,0xc1]
132// CHECK-ERROR: instruction requires: sme2
133// CHECK-UNKNOWN: c16e1ac5 <unknown>
134
135fmla    za.d[w11, 2, vgx2], {z9.d, z10.d}, z1.d  // 11000001-01100001-01111001-00100010
136// CHECK-INST: fmla    za.d[w11, 2, vgx2], { z9.d, z10.d }, z1.d
137// CHECK-ENCODING: [0x22,0x79,0x61,0xc1]
138// CHECK-ERROR: instruction requires: sme2
139// CHECK-UNKNOWN: c1617922 <unknown>
140
141fmla    za.d[w11, 2], {z9.d - z10.d}, z1.d  // 11000001-01100001-01111001-00100010
142// CHECK-INST: fmla    za.d[w11, 2, vgx2], { z9.d, z10.d }, z1.d
143// CHECK-ENCODING: [0x22,0x79,0x61,0xc1]
144// CHECK-ERROR: instruction requires: sme2
145// CHECK-UNKNOWN: c1617922 <unknown>
146
147fmla    za.d[w9, 7, vgx2], {z12.d, z13.d}, z11.d  // 11000001-01101011-00111001-10000111
148// CHECK-INST: fmla    za.d[w9, 7, vgx2], { z12.d, z13.d }, z11.d
149// CHECK-ENCODING: [0x87,0x39,0x6b,0xc1]
150// CHECK-ERROR: instruction requires: sme2
151// CHECK-UNKNOWN: c16b3987 <unknown>
152
153fmla    za.d[w9, 7], {z12.d - z13.d}, z11.d  // 11000001-01101011-00111001-10000111
154// CHECK-INST: fmla    za.d[w9, 7, vgx2], { z12.d, z13.d }, z11.d
155// CHECK-ENCODING: [0x87,0x39,0x6b,0xc1]
156// CHECK-ERROR: instruction requires: sme2
157// CHECK-UNKNOWN: c16b3987 <unknown>
158
159
160fmla    za.d[w8, 0, vgx2], {z0.d, z1.d}, z0.d[0]  // 11000001-11010000-00000000-00000000
161// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z0.d, z1.d }, z0.d[0]
162// CHECK-ENCODING: [0x00,0x00,0xd0,0xc1]
163// CHECK-ERROR: instruction requires: sme2
164// CHECK-UNKNOWN: c1d00000 <unknown>
165
166fmla    za.d[w8, 0], {z0.d, z1.d}, z0.d[0]  // 11000001-11010000-00000000-00000000
167// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z0.d, z1.d }, z0.d[0]
168// CHECK-ENCODING: [0x00,0x00,0xd0,0xc1]
169// CHECK-ERROR: instruction requires: sme2
170// CHECK-UNKNOWN: c1d00000 <unknown>
171
172fmla    za.d[w10, 5, vgx2], {z10.d, z11.d}, z5.d[1]  // 11000001-11010101-01000101-01000101
173// CHECK-INST: fmla    za.d[w10, 5, vgx2], { z10.d, z11.d }, z5.d[1]
174// CHECK-ENCODING: [0x45,0x45,0xd5,0xc1]
175// CHECK-ERROR: instruction requires: sme2
176// CHECK-UNKNOWN: c1d54545 <unknown>
177
178fmla    za.d[w10, 5], {z10.d, z11.d}, z5.d[1]  // 11000001-11010101-01000101-01000101
179// CHECK-INST: fmla    za.d[w10, 5, vgx2], { z10.d, z11.d }, z5.d[1]
180// CHECK-ENCODING: [0x45,0x45,0xd5,0xc1]
181// CHECK-ERROR: instruction requires: sme2
182// CHECK-UNKNOWN: c1d54545 <unknown>
183
184fmla    za.d[w11, 7, vgx2], {z12.d, z13.d}, z8.d[1]  // 11000001-11011000-01100101-10000111
185// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z12.d, z13.d }, z8.d[1]
186// CHECK-ENCODING: [0x87,0x65,0xd8,0xc1]
187// CHECK-ERROR: instruction requires: sme2
188// CHECK-UNKNOWN: c1d86587 <unknown>
189
190fmla    za.d[w11, 7], {z12.d, z13.d}, z8.d[1]  // 11000001-11011000-01100101-10000111
191// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z12.d, z13.d }, z8.d[1]
192// CHECK-ENCODING: [0x87,0x65,0xd8,0xc1]
193// CHECK-ERROR: instruction requires: sme2
194// CHECK-UNKNOWN: c1d86587 <unknown>
195
196fmla    za.d[w11, 7, vgx2], {z30.d, z31.d}, z15.d[1]  // 11000001-11011111-01100111-11000111
197// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z30.d, z31.d }, z15.d[1]
198// CHECK-ENCODING: [0xc7,0x67,0xdf,0xc1]
199// CHECK-ERROR: instruction requires: sme2
200// CHECK-UNKNOWN: c1df67c7 <unknown>
201
202fmla    za.d[w11, 7], {z30.d, z31.d}, z15.d[1]  // 11000001-11011111-01100111-11000111
203// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z30.d, z31.d }, z15.d[1]
204// CHECK-ENCODING: [0xc7,0x67,0xdf,0xc1]
205// CHECK-ERROR: instruction requires: sme2
206// CHECK-UNKNOWN: c1df67c7 <unknown>
207
208fmla    za.d[w8, 5, vgx2], {z16.d, z17.d}, z0.d[1]  // 11000001-11010000-00000110-00000101
209// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z16.d, z17.d }, z0.d[1]
210// CHECK-ENCODING: [0x05,0x06,0xd0,0xc1]
211// CHECK-ERROR: instruction requires: sme2
212// CHECK-UNKNOWN: c1d00605 <unknown>
213
214fmla    za.d[w8, 5], {z16.d, z17.d}, z0.d[1]  // 11000001-11010000-00000110-00000101
215// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z16.d, z17.d }, z0.d[1]
216// CHECK-ENCODING: [0x05,0x06,0xd0,0xc1]
217// CHECK-ERROR: instruction requires: sme2
218// CHECK-UNKNOWN: c1d00605 <unknown>
219
220fmla    za.d[w8, 1, vgx2], {z0.d, z1.d}, z14.d[1]  // 11000001-11011110-00000100-00000001
221// CHECK-INST: fmla    za.d[w8, 1, vgx2], { z0.d, z1.d }, z14.d[1]
222// CHECK-ENCODING: [0x01,0x04,0xde,0xc1]
223// CHECK-ERROR: instruction requires: sme2
224// CHECK-UNKNOWN: c1de0401 <unknown>
225
226fmla    za.d[w8, 1], {z0.d, z1.d}, z14.d[1]  // 11000001-11011110-00000100-00000001
227// CHECK-INST: fmla    za.d[w8, 1, vgx2], { z0.d, z1.d }, z14.d[1]
228// CHECK-ENCODING: [0x01,0x04,0xde,0xc1]
229// CHECK-ERROR: instruction requires: sme2
230// CHECK-UNKNOWN: c1de0401 <unknown>
231
232fmla    za.d[w10, 0, vgx2], {z18.d, z19.d}, z4.d[1]  // 11000001-11010100-01000110-01000000
233// CHECK-INST: fmla    za.d[w10, 0, vgx2], { z18.d, z19.d }, z4.d[1]
234// CHECK-ENCODING: [0x40,0x46,0xd4,0xc1]
235// CHECK-ERROR: instruction requires: sme2
236// CHECK-UNKNOWN: c1d44640 <unknown>
237
238fmla    za.d[w10, 0], {z18.d, z19.d}, z4.d[1]  // 11000001-11010100-01000110-01000000
239// CHECK-INST: fmla    za.d[w10, 0, vgx2], { z18.d, z19.d }, z4.d[1]
240// CHECK-ENCODING: [0x40,0x46,0xd4,0xc1]
241// CHECK-ERROR: instruction requires: sme2
242// CHECK-UNKNOWN: c1d44640 <unknown>
243
244fmla    za.d[w8, 0, vgx2], {z12.d, z13.d}, z2.d[0]  // 11000001-11010010-00000001-10000000
245// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z12.d, z13.d }, z2.d[0]
246// CHECK-ENCODING: [0x80,0x01,0xd2,0xc1]
247// CHECK-ERROR: instruction requires: sme2
248// CHECK-UNKNOWN: c1d20180 <unknown>
249
250fmla    za.d[w8, 0], {z12.d, z13.d}, z2.d[0]  // 11000001-11010010-00000001-10000000
251// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z12.d, z13.d }, z2.d[0]
252// CHECK-ENCODING: [0x80,0x01,0xd2,0xc1]
253// CHECK-ERROR: instruction requires: sme2
254// CHECK-UNKNOWN: c1d20180 <unknown>
255
256fmla    za.d[w10, 1, vgx2], {z0.d, z1.d}, z10.d[0]  // 11000001-11011010-01000000-00000001
257// CHECK-INST: fmla    za.d[w10, 1, vgx2], { z0.d, z1.d }, z10.d[0]
258// CHECK-ENCODING: [0x01,0x40,0xda,0xc1]
259// CHECK-ERROR: instruction requires: sme2
260// CHECK-UNKNOWN: c1da4001 <unknown>
261
262fmla    za.d[w10, 1], {z0.d, z1.d}, z10.d[0]  // 11000001-11011010-01000000-00000001
263// CHECK-INST: fmla    za.d[w10, 1, vgx2], { z0.d, z1.d }, z10.d[0]
264// CHECK-ENCODING: [0x01,0x40,0xda,0xc1]
265// CHECK-ERROR: instruction requires: sme2
266// CHECK-UNKNOWN: c1da4001 <unknown>
267
268fmla    za.d[w8, 5, vgx2], {z22.d, z23.d}, z14.d[0]  // 11000001-11011110-00000010-11000101
269// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z22.d, z23.d }, z14.d[0]
270// CHECK-ENCODING: [0xc5,0x02,0xde,0xc1]
271// CHECK-ERROR: instruction requires: sme2
272// CHECK-UNKNOWN: c1de02c5 <unknown>
273
274fmla    za.d[w8, 5], {z22.d, z23.d}, z14.d[0]  // 11000001-11011110-00000010-11000101
275// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z22.d, z23.d }, z14.d[0]
276// CHECK-ENCODING: [0xc5,0x02,0xde,0xc1]
277// CHECK-ERROR: instruction requires: sme2
278// CHECK-UNKNOWN: c1de02c5 <unknown>
279
280fmla    za.d[w11, 2, vgx2], {z8.d, z9.d}, z1.d[1]  // 11000001-11010001-01100101-00000010
281// CHECK-INST: fmla    za.d[w11, 2, vgx2], { z8.d, z9.d }, z1.d[1]
282// CHECK-ENCODING: [0x02,0x65,0xd1,0xc1]
283// CHECK-ERROR: instruction requires: sme2
284// CHECK-UNKNOWN: c1d16502 <unknown>
285
286fmla    za.d[w11, 2], {z8.d, z9.d}, z1.d[1]  // 11000001-11010001-01100101-00000010
287// CHECK-INST: fmla    za.d[w11, 2, vgx2], { z8.d, z9.d }, z1.d[1]
288// CHECK-ENCODING: [0x02,0x65,0xd1,0xc1]
289// CHECK-ERROR: instruction requires: sme2
290// CHECK-UNKNOWN: c1d16502 <unknown>
291
292fmla    za.d[w9, 7, vgx2], {z12.d, z13.d}, z11.d[0]  // 11000001-11011011-00100001-10000111
293// CHECK-INST: fmla    za.d[w9, 7, vgx2], { z12.d, z13.d }, z11.d[0]
294// CHECK-ENCODING: [0x87,0x21,0xdb,0xc1]
295// CHECK-ERROR: instruction requires: sme2
296// CHECK-UNKNOWN: c1db2187 <unknown>
297
298fmla    za.d[w9, 7], {z12.d, z13.d}, z11.d[0]  // 11000001-11011011-00100001-10000111
299// CHECK-INST: fmla    za.d[w9, 7, vgx2], { z12.d, z13.d }, z11.d[0]
300// CHECK-ENCODING: [0x87,0x21,0xdb,0xc1]
301// CHECK-ERROR: instruction requires: sme2
302// CHECK-UNKNOWN: c1db2187 <unknown>
303
304
305fmla    za.d[w8, 0, vgx2], {z0.d, z1.d}, {z0.d, z1.d}  // 11000001-11100000-00011000-00000000
306// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z0.d, z1.d }, { z0.d, z1.d }
307// CHECK-ENCODING: [0x00,0x18,0xe0,0xc1]
308// CHECK-ERROR: instruction requires: sme2
309// CHECK-UNKNOWN: c1e01800 <unknown>
310
311fmla    za.d[w8, 0], {z0.d - z1.d}, {z0.d - z1.d}  // 11000001-11100000-00011000-00000000
312// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z0.d, z1.d }, { z0.d, z1.d }
313// CHECK-ENCODING: [0x00,0x18,0xe0,0xc1]
314// CHECK-ERROR: instruction requires: sme2
315// CHECK-UNKNOWN: c1e01800 <unknown>
316
317fmla    za.d[w10, 5, vgx2], {z10.d, z11.d}, {z20.d, z21.d}  // 11000001-11110100-01011001-01000101
318// CHECK-INST: fmla    za.d[w10, 5, vgx2], { z10.d, z11.d }, { z20.d, z21.d }
319// CHECK-ENCODING: [0x45,0x59,0xf4,0xc1]
320// CHECK-ERROR: instruction requires: sme2
321// CHECK-UNKNOWN: c1f45945 <unknown>
322
323fmla    za.d[w10, 5], {z10.d - z11.d}, {z20.d - z21.d}  // 11000001-11110100-01011001-01000101
324// CHECK-INST: fmla    za.d[w10, 5, vgx2], { z10.d, z11.d }, { z20.d, z21.d }
325// CHECK-ENCODING: [0x45,0x59,0xf4,0xc1]
326// CHECK-ERROR: instruction requires: sme2
327// CHECK-UNKNOWN: c1f45945 <unknown>
328
329fmla    za.d[w11, 7, vgx2], {z12.d, z13.d}, {z8.d, z9.d}  // 11000001-11101000-01111001-10000111
330// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z12.d, z13.d }, { z8.d, z9.d }
331// CHECK-ENCODING: [0x87,0x79,0xe8,0xc1]
332// CHECK-ERROR: instruction requires: sme2
333// CHECK-UNKNOWN: c1e87987 <unknown>
334
335fmla    za.d[w11, 7], {z12.d - z13.d}, {z8.d - z9.d}  // 11000001-11101000-01111001-10000111
336// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z12.d, z13.d }, { z8.d, z9.d }
337// CHECK-ENCODING: [0x87,0x79,0xe8,0xc1]
338// CHECK-ERROR: instruction requires: sme2
339// CHECK-UNKNOWN: c1e87987 <unknown>
340
341fmla    za.d[w11, 7, vgx2], {z30.d, z31.d}, {z30.d, z31.d}  // 11000001-11111110-01111011-11000111
342// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z30.d, z31.d }, { z30.d, z31.d }
343// CHECK-ENCODING: [0xc7,0x7b,0xfe,0xc1]
344// CHECK-ERROR: instruction requires: sme2
345// CHECK-UNKNOWN: c1fe7bc7 <unknown>
346
347fmla    za.d[w11, 7], {z30.d - z31.d}, {z30.d - z31.d}  // 11000001-11111110-01111011-11000111
348// CHECK-INST: fmla    za.d[w11, 7, vgx2], { z30.d, z31.d }, { z30.d, z31.d }
349// CHECK-ENCODING: [0xc7,0x7b,0xfe,0xc1]
350// CHECK-ERROR: instruction requires: sme2
351// CHECK-UNKNOWN: c1fe7bc7 <unknown>
352
353fmla    za.d[w8, 5, vgx2], {z16.d, z17.d}, {z16.d, z17.d}  // 11000001-11110000-00011010-00000101
354// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z16.d, z17.d }, { z16.d, z17.d }
355// CHECK-ENCODING: [0x05,0x1a,0xf0,0xc1]
356// CHECK-ERROR: instruction requires: sme2
357// CHECK-UNKNOWN: c1f01a05 <unknown>
358
359fmla    za.d[w8, 5], {z16.d - z17.d}, {z16.d - z17.d}  // 11000001-11110000-00011010-00000101
360// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z16.d, z17.d }, { z16.d, z17.d }
361// CHECK-ENCODING: [0x05,0x1a,0xf0,0xc1]
362// CHECK-ERROR: instruction requires: sme2
363// CHECK-UNKNOWN: c1f01a05 <unknown>
364
365fmla    za.d[w8, 1, vgx2], {z0.d, z1.d}, {z30.d, z31.d}  // 11000001-11111110-00011000-00000001
366// CHECK-INST: fmla    za.d[w8, 1, vgx2], { z0.d, z1.d }, { z30.d, z31.d }
367// CHECK-ENCODING: [0x01,0x18,0xfe,0xc1]
368// CHECK-ERROR: instruction requires: sme2
369// CHECK-UNKNOWN: c1fe1801 <unknown>
370
371fmla    za.d[w8, 1], {z0.d - z1.d}, {z30.d - z31.d}  // 11000001-11111110-00011000-00000001
372// CHECK-INST: fmla    za.d[w8, 1, vgx2], { z0.d, z1.d }, { z30.d, z31.d }
373// CHECK-ENCODING: [0x01,0x18,0xfe,0xc1]
374// CHECK-ERROR: instruction requires: sme2
375// CHECK-UNKNOWN: c1fe1801 <unknown>
376
377fmla    za.d[w10, 0, vgx2], {z18.d, z19.d}, {z20.d, z21.d}  // 11000001-11110100-01011010-01000000
378// CHECK-INST: fmla    za.d[w10, 0, vgx2], { z18.d, z19.d }, { z20.d, z21.d }
379// CHECK-ENCODING: [0x40,0x5a,0xf4,0xc1]
380// CHECK-ERROR: instruction requires: sme2
381// CHECK-UNKNOWN: c1f45a40 <unknown>
382
383fmla    za.d[w10, 0], {z18.d - z19.d}, {z20.d - z21.d}  // 11000001-11110100-01011010-01000000
384// CHECK-INST: fmla    za.d[w10, 0, vgx2], { z18.d, z19.d }, { z20.d, z21.d }
385// CHECK-ENCODING: [0x40,0x5a,0xf4,0xc1]
386// CHECK-ERROR: instruction requires: sme2
387// CHECK-UNKNOWN: c1f45a40 <unknown>
388
389fmla    za.d[w8, 0, vgx2], {z12.d, z13.d}, {z2.d, z3.d}  // 11000001-11100010-00011001-10000000
390// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z12.d, z13.d }, { z2.d, z3.d }
391// CHECK-ENCODING: [0x80,0x19,0xe2,0xc1]
392// CHECK-ERROR: instruction requires: sme2
393// CHECK-UNKNOWN: c1e21980 <unknown>
394
395fmla    za.d[w8, 0], {z12.d - z13.d}, {z2.d - z3.d}  // 11000001-11100010-00011001-10000000
396// CHECK-INST: fmla    za.d[w8, 0, vgx2], { z12.d, z13.d }, { z2.d, z3.d }
397// CHECK-ENCODING: [0x80,0x19,0xe2,0xc1]
398// CHECK-ERROR: instruction requires: sme2
399// CHECK-UNKNOWN: c1e21980 <unknown>
400
401fmla    za.d[w10, 1, vgx2], {z0.d, z1.d}, {z26.d, z27.d}  // 11000001-11111010-01011000-00000001
402// CHECK-INST: fmla    za.d[w10, 1, vgx2], { z0.d, z1.d }, { z26.d, z27.d }
403// CHECK-ENCODING: [0x01,0x58,0xfa,0xc1]
404// CHECK-ERROR: instruction requires: sme2
405// CHECK-UNKNOWN: c1fa5801 <unknown>
406
407fmla    za.d[w10, 1], {z0.d - z1.d}, {z26.d - z27.d}  // 11000001-11111010-01011000-00000001
408// CHECK-INST: fmla    za.d[w10, 1, vgx2], { z0.d, z1.d }, { z26.d, z27.d }
409// CHECK-ENCODING: [0x01,0x58,0xfa,0xc1]
410// CHECK-ERROR: instruction requires: sme2
411// CHECK-UNKNOWN: c1fa5801 <unknown>
412
413fmla    za.d[w8, 5, vgx2], {z22.d, z23.d}, {z30.d, z31.d}  // 11000001-11111110-00011010-11000101
414// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z22.d, z23.d }, { z30.d, z31.d }
415// CHECK-ENCODING: [0xc5,0x1a,0xfe,0xc1]
416// CHECK-ERROR: instruction requires: sme2
417// CHECK-UNKNOWN: c1fe1ac5 <unknown>
418
419fmla    za.d[w8, 5], {z22.d - z23.d}, {z30.d - z31.d}  // 11000001-11111110-00011010-11000101
420// CHECK-INST: fmla    za.d[w8, 5, vgx2], { z22.d, z23.d }, { z30.d, z31.d }
421// CHECK-ENCODING: [0xc5,0x1a,0xfe,0xc1]
422// CHECK-ERROR: instruction requires: sme2
423// CHECK-UNKNOWN: c1fe1ac5 <unknown>
424
425fmla    za.d[w11, 2, vgx2], {z8.d, z9.d}, {z0.d, z1.d}  // 11000001-11100000-01111001-00000010
426// CHECK-INST: fmla    za.d[w11, 2, vgx2], { z8.d, z9.d }, { z0.d, z1.d }
427// CHECK-ENCODING: [0x02,0x79,0xe0,0xc1]
428// CHECK-ERROR: instruction requires: sme2
429// CHECK-UNKNOWN: c1e07902 <unknown>
430
431fmla    za.d[w11, 2], {z8.d - z9.d}, {z0.d - z1.d}  // 11000001-11100000-01111001-00000010
432// CHECK-INST: fmla    za.d[w11, 2, vgx2], { z8.d, z9.d }, { z0.d, z1.d }
433// CHECK-ENCODING: [0x02,0x79,0xe0,0xc1]
434// CHECK-ERROR: instruction requires: sme2
435// CHECK-UNKNOWN: c1e07902 <unknown>
436
437fmla    za.d[w9, 7, vgx2], {z12.d, z13.d}, {z10.d, z11.d}  // 11000001-11101010-00111001-10000111
438// CHECK-INST: fmla    za.d[w9, 7, vgx2], { z12.d, z13.d }, { z10.d, z11.d }
439// CHECK-ENCODING: [0x87,0x39,0xea,0xc1]
440// CHECK-ERROR: instruction requires: sme2
441// CHECK-UNKNOWN: c1ea3987 <unknown>
442
443fmla    za.d[w9, 7], {z12.d - z13.d}, {z10.d - z11.d}  // 11000001-11101010-00111001-10000111
444// CHECK-INST: fmla    za.d[w9, 7, vgx2], { z12.d, z13.d }, { z10.d, z11.d }
445// CHECK-ENCODING: [0x87,0x39,0xea,0xc1]
446// CHECK-ERROR: instruction requires: sme2
447// CHECK-UNKNOWN: c1ea3987 <unknown>
448
449
450fmla    za.s[w8, 0, vgx2], {z0.s, z1.s}, z0.s  // 11000001-00100000-00011000-00000000
451// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z0.s, z1.s }, z0.s
452// CHECK-ENCODING: [0x00,0x18,0x20,0xc1]
453// CHECK-ERROR: instruction requires: sme2
454// CHECK-UNKNOWN: c1201800 <unknown>
455
456fmla    za.s[w8, 0], {z0.s - z1.s}, z0.s  // 11000001-00100000-00011000-00000000
457// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z0.s, z1.s }, z0.s
458// CHECK-ENCODING: [0x00,0x18,0x20,0xc1]
459// CHECK-ERROR: instruction requires: sme2
460// CHECK-UNKNOWN: c1201800 <unknown>
461
462fmla    za.s[w10, 5, vgx2], {z10.s, z11.s}, z5.s  // 11000001-00100101-01011001-01000101
463// CHECK-INST: fmla    za.s[w10, 5, vgx2], { z10.s, z11.s }, z5.s
464// CHECK-ENCODING: [0x45,0x59,0x25,0xc1]
465// CHECK-ERROR: instruction requires: sme2
466// CHECK-UNKNOWN: c1255945 <unknown>
467
468fmla    za.s[w10, 5], {z10.s - z11.s}, z5.s  // 11000001-00100101-01011001-01000101
469// CHECK-INST: fmla    za.s[w10, 5, vgx2], { z10.s, z11.s }, z5.s
470// CHECK-ENCODING: [0x45,0x59,0x25,0xc1]
471// CHECK-ERROR: instruction requires: sme2
472// CHECK-UNKNOWN: c1255945 <unknown>
473
474fmla    za.s[w11, 7, vgx2], {z13.s, z14.s}, z8.s  // 11000001-00101000-01111001-10100111
475// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z13.s, z14.s }, z8.s
476// CHECK-ENCODING: [0xa7,0x79,0x28,0xc1]
477// CHECK-ERROR: instruction requires: sme2
478// CHECK-UNKNOWN: c12879a7 <unknown>
479
480fmla    za.s[w11, 7], {z13.s - z14.s}, z8.s  // 11000001-00101000-01111001-10100111
481// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z13.s, z14.s }, z8.s
482// CHECK-ENCODING: [0xa7,0x79,0x28,0xc1]
483// CHECK-ERROR: instruction requires: sme2
484// CHECK-UNKNOWN: c12879a7 <unknown>
485
486fmla    za.s[w11, 7, vgx2], {z31.s, z0.s}, z15.s  // 11000001-00101111-01111011-11100111
487// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z31.s, z0.s }, z15.s
488// CHECK-ENCODING: [0xe7,0x7b,0x2f,0xc1]
489// CHECK-ERROR: instruction requires: sme2
490// CHECK-UNKNOWN: c12f7be7 <unknown>
491
492fmla    za.s[w11, 7], {z31.s - z0.s}, z15.s  // 11000001-00101111-01111011-11100111
493// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z31.s, z0.s }, z15.s
494// CHECK-ENCODING: [0xe7,0x7b,0x2f,0xc1]
495// CHECK-ERROR: instruction requires: sme2
496// CHECK-UNKNOWN: c12f7be7 <unknown>
497
498fmla    za.s[w8, 5, vgx2], {z17.s, z18.s}, z0.s  // 11000001-00100000-00011010-00100101
499// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z17.s, z18.s }, z0.s
500// CHECK-ENCODING: [0x25,0x1a,0x20,0xc1]
501// CHECK-ERROR: instruction requires: sme2
502// CHECK-UNKNOWN: c1201a25 <unknown>
503
504fmla    za.s[w8, 5], {z17.s - z18.s}, z0.s  // 11000001-00100000-00011010-00100101
505// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z17.s, z18.s }, z0.s
506// CHECK-ENCODING: [0x25,0x1a,0x20,0xc1]
507// CHECK-ERROR: instruction requires: sme2
508// CHECK-UNKNOWN: c1201a25 <unknown>
509
510fmla    za.s[w8, 1, vgx2], {z1.s, z2.s}, z14.s  // 11000001-00101110-00011000-00100001
511// CHECK-INST: fmla    za.s[w8, 1, vgx2], { z1.s, z2.s }, z14.s
512// CHECK-ENCODING: [0x21,0x18,0x2e,0xc1]
513// CHECK-ERROR: instruction requires: sme2
514// CHECK-UNKNOWN: c12e1821 <unknown>
515
516fmla    za.s[w8, 1], {z1.s - z2.s}, z14.s  // 11000001-00101110-00011000-00100001
517// CHECK-INST: fmla    za.s[w8, 1, vgx2], { z1.s, z2.s }, z14.s
518// CHECK-ENCODING: [0x21,0x18,0x2e,0xc1]
519// CHECK-ERROR: instruction requires: sme2
520// CHECK-UNKNOWN: c12e1821 <unknown>
521
522fmla    za.s[w10, 0, vgx2], {z19.s, z20.s}, z4.s  // 11000001-00100100-01011010-01100000
523// CHECK-INST: fmla    za.s[w10, 0, vgx2], { z19.s, z20.s }, z4.s
524// CHECK-ENCODING: [0x60,0x5a,0x24,0xc1]
525// CHECK-ERROR: instruction requires: sme2
526// CHECK-UNKNOWN: c1245a60 <unknown>
527
528fmla    za.s[w10, 0], {z19.s - z20.s}, z4.s  // 11000001-00100100-01011010-01100000
529// CHECK-INST: fmla    za.s[w10, 0, vgx2], { z19.s, z20.s }, z4.s
530// CHECK-ENCODING: [0x60,0x5a,0x24,0xc1]
531// CHECK-ERROR: instruction requires: sme2
532// CHECK-UNKNOWN: c1245a60 <unknown>
533
534fmla    za.s[w8, 0, vgx2], {z12.s, z13.s}, z2.s  // 11000001-00100010-00011001-10000000
535// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z12.s, z13.s }, z2.s
536// CHECK-ENCODING: [0x80,0x19,0x22,0xc1]
537// CHECK-ERROR: instruction requires: sme2
538// CHECK-UNKNOWN: c1221980 <unknown>
539
540fmla    za.s[w8, 0], {z12.s - z13.s}, z2.s  // 11000001-00100010-00011001-10000000
541// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z12.s, z13.s }, z2.s
542// CHECK-ENCODING: [0x80,0x19,0x22,0xc1]
543// CHECK-ERROR: instruction requires: sme2
544// CHECK-UNKNOWN: c1221980 <unknown>
545
546fmla    za.s[w10, 1, vgx2], {z1.s, z2.s}, z10.s  // 11000001-00101010-01011000-00100001
547// CHECK-INST: fmla    za.s[w10, 1, vgx2], { z1.s, z2.s }, z10.s
548// CHECK-ENCODING: [0x21,0x58,0x2a,0xc1]
549// CHECK-ERROR: instruction requires: sme2
550// CHECK-UNKNOWN: c12a5821 <unknown>
551
552fmla    za.s[w10, 1], {z1.s - z2.s}, z10.s  // 11000001-00101010-01011000-00100001
553// CHECK-INST: fmla    za.s[w10, 1, vgx2], { z1.s, z2.s }, z10.s
554// CHECK-ENCODING: [0x21,0x58,0x2a,0xc1]
555// CHECK-ERROR: instruction requires: sme2
556// CHECK-UNKNOWN: c12a5821 <unknown>
557
558fmla    za.s[w8, 5, vgx2], {z22.s, z23.s}, z14.s  // 11000001-00101110-00011010-11000101
559// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z22.s, z23.s }, z14.s
560// CHECK-ENCODING: [0xc5,0x1a,0x2e,0xc1]
561// CHECK-ERROR: instruction requires: sme2
562// CHECK-UNKNOWN: c12e1ac5 <unknown>
563
564fmla    za.s[w8, 5], {z22.s - z23.s}, z14.s  // 11000001-00101110-00011010-11000101
565// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z22.s, z23.s }, z14.s
566// CHECK-ENCODING: [0xc5,0x1a,0x2e,0xc1]
567// CHECK-ERROR: instruction requires: sme2
568// CHECK-UNKNOWN: c12e1ac5 <unknown>
569
570fmla    za.s[w11, 2, vgx2], {z9.s, z10.s}, z1.s  // 11000001-00100001-01111001-00100010
571// CHECK-INST: fmla    za.s[w11, 2, vgx2], { z9.s, z10.s }, z1.s
572// CHECK-ENCODING: [0x22,0x79,0x21,0xc1]
573// CHECK-ERROR: instruction requires: sme2
574// CHECK-UNKNOWN: c1217922 <unknown>
575
576fmla    za.s[w11, 2], {z9.s - z10.s}, z1.s  // 11000001-00100001-01111001-00100010
577// CHECK-INST: fmla    za.s[w11, 2, vgx2], { z9.s, z10.s }, z1.s
578// CHECK-ENCODING: [0x22,0x79,0x21,0xc1]
579// CHECK-ERROR: instruction requires: sme2
580// CHECK-UNKNOWN: c1217922 <unknown>
581
582fmla    za.s[w9, 7, vgx2], {z12.s, z13.s}, z11.s  // 11000001-00101011-00111001-10000111
583// CHECK-INST: fmla    za.s[w9, 7, vgx2], { z12.s, z13.s }, z11.s
584// CHECK-ENCODING: [0x87,0x39,0x2b,0xc1]
585// CHECK-ERROR: instruction requires: sme2
586// CHECK-UNKNOWN: c12b3987 <unknown>
587
588fmla    za.s[w9, 7], {z12.s - z13.s}, z11.s  // 11000001-00101011-00111001-10000111
589// CHECK-INST: fmla    za.s[w9, 7, vgx2], { z12.s, z13.s }, z11.s
590// CHECK-ENCODING: [0x87,0x39,0x2b,0xc1]
591// CHECK-ERROR: instruction requires: sme2
592// CHECK-UNKNOWN: c12b3987 <unknown>
593
594
595fmla    za.s[w8, 0, vgx2], {z0.s, z1.s}, z0.s[0]  // 11000001-01010000-00000000-00000000
596// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z0.s, z1.s }, z0.s[0]
597// CHECK-ENCODING: [0x00,0x00,0x50,0xc1]
598// CHECK-ERROR: instruction requires: sme2
599// CHECK-UNKNOWN: c1500000 <unknown>
600
601fmla    za.s[w8, 0], {z0.s, z1.s}, z0.s[0]  // 11000001-01010000-00000000-00000000
602// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z0.s, z1.s }, z0.s[0]
603// CHECK-ENCODING: [0x00,0x00,0x50,0xc1]
604// CHECK-ERROR: instruction requires: sme2
605// CHECK-UNKNOWN: c1500000 <unknown>
606
607fmla    za.s[w10, 5, vgx2], {z10.s, z11.s}, z5.s[1]  // 11000001-01010101-01000101-01000101
608// CHECK-INST: fmla    za.s[w10, 5, vgx2], { z10.s, z11.s }, z5.s[1]
609// CHECK-ENCODING: [0x45,0x45,0x55,0xc1]
610// CHECK-ERROR: instruction requires: sme2
611// CHECK-UNKNOWN: c1554545 <unknown>
612
613fmla    za.s[w10, 5], {z10.s, z11.s}, z5.s[1]  // 11000001-01010101-01000101-01000101
614// CHECK-INST: fmla    za.s[w10, 5, vgx2], { z10.s, z11.s }, z5.s[1]
615// CHECK-ENCODING: [0x45,0x45,0x55,0xc1]
616// CHECK-ERROR: instruction requires: sme2
617// CHECK-UNKNOWN: c1554545 <unknown>
618
619fmla    za.s[w11, 7, vgx2], {z12.s, z13.s}, z8.s[3]  // 11000001-01011000-01101101-10000111
620// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z12.s, z13.s }, z8.s[3]
621// CHECK-ENCODING: [0x87,0x6d,0x58,0xc1]
622// CHECK-ERROR: instruction requires: sme2
623// CHECK-UNKNOWN: c1586d87 <unknown>
624
625fmla    za.s[w11, 7], {z12.s, z13.s}, z8.s[3]  // 11000001-01011000-01101101-10000111
626// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z12.s, z13.s }, z8.s[3]
627// CHECK-ENCODING: [0x87,0x6d,0x58,0xc1]
628// CHECK-ERROR: instruction requires: sme2
629// CHECK-UNKNOWN: c1586d87 <unknown>
630
631fmla    za.s[w11, 7, vgx2], {z30.s, z31.s}, z15.s[3]  // 11000001-01011111-01101111-11000111
632// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z30.s, z31.s }, z15.s[3]
633// CHECK-ENCODING: [0xc7,0x6f,0x5f,0xc1]
634// CHECK-ERROR: instruction requires: sme2
635// CHECK-UNKNOWN: c15f6fc7 <unknown>
636
637fmla    za.s[w11, 7], {z30.s, z31.s}, z15.s[3]  // 11000001-01011111-01101111-11000111
638// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z30.s, z31.s }, z15.s[3]
639// CHECK-ENCODING: [0xc7,0x6f,0x5f,0xc1]
640// CHECK-ERROR: instruction requires: sme2
641// CHECK-UNKNOWN: c15f6fc7 <unknown>
642
643fmla    za.s[w8, 5, vgx2], {z16.s, z17.s}, z0.s[3]  // 11000001-01010000-00001110-00000101
644// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z16.s, z17.s }, z0.s[3]
645// CHECK-ENCODING: [0x05,0x0e,0x50,0xc1]
646// CHECK-ERROR: instruction requires: sme2
647// CHECK-UNKNOWN: c1500e05 <unknown>
648
649fmla    za.s[w8, 5], {z16.s, z17.s}, z0.s[3]  // 11000001-01010000-00001110-00000101
650// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z16.s, z17.s }, z0.s[3]
651// CHECK-ENCODING: [0x05,0x0e,0x50,0xc1]
652// CHECK-ERROR: instruction requires: sme2
653// CHECK-UNKNOWN: c1500e05 <unknown>
654
655fmla    za.s[w8, 1, vgx2], {z0.s, z1.s}, z14.s[1]  // 11000001-01011110-00000100-00000001
656// CHECK-INST: fmla    za.s[w8, 1, vgx2], { z0.s, z1.s }, z14.s[1]
657// CHECK-ENCODING: [0x01,0x04,0x5e,0xc1]
658// CHECK-ERROR: instruction requires: sme2
659// CHECK-UNKNOWN: c15e0401 <unknown>
660
661fmla    za.s[w8, 1], {z0.s, z1.s}, z14.s[1]  // 11000001-01011110-00000100-00000001
662// CHECK-INST: fmla    za.s[w8, 1, vgx2], { z0.s, z1.s }, z14.s[1]
663// CHECK-ENCODING: [0x01,0x04,0x5e,0xc1]
664// CHECK-ERROR: instruction requires: sme2
665// CHECK-UNKNOWN: c15e0401 <unknown>
666
667fmla    za.s[w10, 0, vgx2], {z18.s, z19.s}, z4.s[1]  // 11000001-01010100-01000110-01000000
668// CHECK-INST: fmla    za.s[w10, 0, vgx2], { z18.s, z19.s }, z4.s[1]
669// CHECK-ENCODING: [0x40,0x46,0x54,0xc1]
670// CHECK-ERROR: instruction requires: sme2
671// CHECK-UNKNOWN: c1544640 <unknown>
672
673fmla    za.s[w10, 0], {z18.s, z19.s}, z4.s[1]  // 11000001-01010100-01000110-01000000
674// CHECK-INST: fmla    za.s[w10, 0, vgx2], { z18.s, z19.s }, z4.s[1]
675// CHECK-ENCODING: [0x40,0x46,0x54,0xc1]
676// CHECK-ERROR: instruction requires: sme2
677// CHECK-UNKNOWN: c1544640 <unknown>
678
679fmla    za.s[w8, 0, vgx2], {z12.s, z13.s}, z2.s[2]  // 11000001-01010010-00001001-10000000
680// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z12.s, z13.s }, z2.s[2]
681// CHECK-ENCODING: [0x80,0x09,0x52,0xc1]
682// CHECK-ERROR: instruction requires: sme2
683// CHECK-UNKNOWN: c1520980 <unknown>
684
685fmla    za.s[w8, 0], {z12.s, z13.s}, z2.s[2]  // 11000001-01010010-00001001-10000000
686// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z12.s, z13.s }, z2.s[2]
687// CHECK-ENCODING: [0x80,0x09,0x52,0xc1]
688// CHECK-ERROR: instruction requires: sme2
689// CHECK-UNKNOWN: c1520980 <unknown>
690
691fmla    za.s[w10, 1, vgx2], {z0.s, z1.s}, z10.s[2]  // 11000001-01011010-01001000-00000001
692// CHECK-INST: fmla    za.s[w10, 1, vgx2], { z0.s, z1.s }, z10.s[2]
693// CHECK-ENCODING: [0x01,0x48,0x5a,0xc1]
694// CHECK-ERROR: instruction requires: sme2
695// CHECK-UNKNOWN: c15a4801 <unknown>
696
697fmla    za.s[w10, 1], {z0.s, z1.s}, z10.s[2]  // 11000001-01011010-01001000-00000001
698// CHECK-INST: fmla    za.s[w10, 1, vgx2], { z0.s, z1.s }, z10.s[2]
699// CHECK-ENCODING: [0x01,0x48,0x5a,0xc1]
700// CHECK-ERROR: instruction requires: sme2
701// CHECK-UNKNOWN: c15a4801 <unknown>
702
703fmla    za.s[w8, 5, vgx2], {z22.s, z23.s}, z14.s[2]  // 11000001-01011110-00001010-11000101
704// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z22.s, z23.s }, z14.s[2]
705// CHECK-ENCODING: [0xc5,0x0a,0x5e,0xc1]
706// CHECK-ERROR: instruction requires: sme2
707// CHECK-UNKNOWN: c15e0ac5 <unknown>
708
709fmla    za.s[w8, 5], {z22.s, z23.s}, z14.s[2]  // 11000001-01011110-00001010-11000101
710// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z22.s, z23.s }, z14.s[2]
711// CHECK-ENCODING: [0xc5,0x0a,0x5e,0xc1]
712// CHECK-ERROR: instruction requires: sme2
713// CHECK-UNKNOWN: c15e0ac5 <unknown>
714
715fmla    za.s[w11, 2, vgx2], {z8.s, z9.s}, z1.s[1]  // 11000001-01010001-01100101-00000010
716// CHECK-INST: fmla    za.s[w11, 2, vgx2], { z8.s, z9.s }, z1.s[1]
717// CHECK-ENCODING: [0x02,0x65,0x51,0xc1]
718// CHECK-ERROR: instruction requires: sme2
719// CHECK-UNKNOWN: c1516502 <unknown>
720
721fmla    za.s[w11, 2], {z8.s, z9.s}, z1.s[1]  // 11000001-01010001-01100101-00000010
722// CHECK-INST: fmla    za.s[w11, 2, vgx2], { z8.s, z9.s }, z1.s[1]
723// CHECK-ENCODING: [0x02,0x65,0x51,0xc1]
724// CHECK-ERROR: instruction requires: sme2
725// CHECK-UNKNOWN: c1516502 <unknown>
726
727fmla    za.s[w9, 7, vgx2], {z12.s, z13.s}, z11.s[2]  // 11000001-01011011-00101001-10000111
728// CHECK-INST: fmla    za.s[w9, 7, vgx2], { z12.s, z13.s }, z11.s[2]
729// CHECK-ENCODING: [0x87,0x29,0x5b,0xc1]
730// CHECK-ERROR: instruction requires: sme2
731// CHECK-UNKNOWN: c15b2987 <unknown>
732
733fmla    za.s[w9, 7], {z12.s, z13.s}, z11.s[2]  // 11000001-01011011-00101001-10000111
734// CHECK-INST: fmla    za.s[w9, 7, vgx2], { z12.s, z13.s }, z11.s[2]
735// CHECK-ENCODING: [0x87,0x29,0x5b,0xc1]
736// CHECK-ERROR: instruction requires: sme2
737// CHECK-UNKNOWN: c15b2987 <unknown>
738
739
740fmla    za.s[w8, 0, vgx2], {z0.s, z1.s}, {z0.s, z1.s}  // 11000001-10100000-00011000-00000000
741// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z0.s, z1.s }, { z0.s, z1.s }
742// CHECK-ENCODING: [0x00,0x18,0xa0,0xc1]
743// CHECK-ERROR: instruction requires: sme2
744// CHECK-UNKNOWN: c1a01800 <unknown>
745
746fmla    za.s[w8, 0], {z0.s - z1.s}, {z0.s - z1.s}  // 11000001-10100000-00011000-00000000
747// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z0.s, z1.s }, { z0.s, z1.s }
748// CHECK-ENCODING: [0x00,0x18,0xa0,0xc1]
749// CHECK-ERROR: instruction requires: sme2
750// CHECK-UNKNOWN: c1a01800 <unknown>
751
752fmla    za.s[w10, 5, vgx2], {z10.s, z11.s}, {z20.s, z21.s}  // 11000001-10110100-01011001-01000101
753// CHECK-INST: fmla    za.s[w10, 5, vgx2], { z10.s, z11.s }, { z20.s, z21.s }
754// CHECK-ENCODING: [0x45,0x59,0xb4,0xc1]
755// CHECK-ERROR: instruction requires: sme2
756// CHECK-UNKNOWN: c1b45945 <unknown>
757
758fmla    za.s[w10, 5], {z10.s - z11.s}, {z20.s - z21.s}  // 11000001-10110100-01011001-01000101
759// CHECK-INST: fmla    za.s[w10, 5, vgx2], { z10.s, z11.s }, { z20.s, z21.s }
760// CHECK-ENCODING: [0x45,0x59,0xb4,0xc1]
761// CHECK-ERROR: instruction requires: sme2
762// CHECK-UNKNOWN: c1b45945 <unknown>
763
764fmla    za.s[w11, 7, vgx2], {z12.s, z13.s}, {z8.s, z9.s}  // 11000001-10101000-01111001-10000111
765// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z12.s, z13.s }, { z8.s, z9.s }
766// CHECK-ENCODING: [0x87,0x79,0xa8,0xc1]
767// CHECK-ERROR: instruction requires: sme2
768// CHECK-UNKNOWN: c1a87987 <unknown>
769
770fmla    za.s[w11, 7], {z12.s - z13.s}, {z8.s - z9.s}  // 11000001-10101000-01111001-10000111
771// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z12.s, z13.s }, { z8.s, z9.s }
772// CHECK-ENCODING: [0x87,0x79,0xa8,0xc1]
773// CHECK-ERROR: instruction requires: sme2
774// CHECK-UNKNOWN: c1a87987 <unknown>
775
776fmla    za.s[w11, 7, vgx2], {z30.s, z31.s}, {z30.s, z31.s}  // 11000001-10111110-01111011-11000111
777// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z30.s, z31.s }, { z30.s, z31.s }
778// CHECK-ENCODING: [0xc7,0x7b,0xbe,0xc1]
779// CHECK-ERROR: instruction requires: sme2
780// CHECK-UNKNOWN: c1be7bc7 <unknown>
781
782fmla    za.s[w11, 7], {z30.s - z31.s}, {z30.s - z31.s}  // 11000001-10111110-01111011-11000111
783// CHECK-INST: fmla    za.s[w11, 7, vgx2], { z30.s, z31.s }, { z30.s, z31.s }
784// CHECK-ENCODING: [0xc7,0x7b,0xbe,0xc1]
785// CHECK-ERROR: instruction requires: sme2
786// CHECK-UNKNOWN: c1be7bc7 <unknown>
787
788fmla    za.s[w8, 5, vgx2], {z16.s, z17.s}, {z16.s, z17.s}  // 11000001-10110000-00011010-00000101
789// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z16.s, z17.s }, { z16.s, z17.s }
790// CHECK-ENCODING: [0x05,0x1a,0xb0,0xc1]
791// CHECK-ERROR: instruction requires: sme2
792// CHECK-UNKNOWN: c1b01a05 <unknown>
793
794fmla    za.s[w8, 5], {z16.s - z17.s}, {z16.s - z17.s}  // 11000001-10110000-00011010-00000101
795// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z16.s, z17.s }, { z16.s, z17.s }
796// CHECK-ENCODING: [0x05,0x1a,0xb0,0xc1]
797// CHECK-ERROR: instruction requires: sme2
798// CHECK-UNKNOWN: c1b01a05 <unknown>
799
800fmla    za.s[w8, 1, vgx2], {z0.s, z1.s}, {z30.s, z31.s}  // 11000001-10111110-00011000-00000001
801// CHECK-INST: fmla    za.s[w8, 1, vgx2], { z0.s, z1.s }, { z30.s, z31.s }
802// CHECK-ENCODING: [0x01,0x18,0xbe,0xc1]
803// CHECK-ERROR: instruction requires: sme2
804// CHECK-UNKNOWN: c1be1801 <unknown>
805
806fmla    za.s[w8, 1], {z0.s - z1.s}, {z30.s - z31.s}  // 11000001-10111110-00011000-00000001
807// CHECK-INST: fmla    za.s[w8, 1, vgx2], { z0.s, z1.s }, { z30.s, z31.s }
808// CHECK-ENCODING: [0x01,0x18,0xbe,0xc1]
809// CHECK-ERROR: instruction requires: sme2
810// CHECK-UNKNOWN: c1be1801 <unknown>
811
812fmla    za.s[w10, 0, vgx2], {z18.s, z19.s}, {z20.s, z21.s}  // 11000001-10110100-01011010-01000000
813// CHECK-INST: fmla    za.s[w10, 0, vgx2], { z18.s, z19.s }, { z20.s, z21.s }
814// CHECK-ENCODING: [0x40,0x5a,0xb4,0xc1]
815// CHECK-ERROR: instruction requires: sme2
816// CHECK-UNKNOWN: c1b45a40 <unknown>
817
818fmla    za.s[w10, 0], {z18.s - z19.s}, {z20.s - z21.s}  // 11000001-10110100-01011010-01000000
819// CHECK-INST: fmla    za.s[w10, 0, vgx2], { z18.s, z19.s }, { z20.s, z21.s }
820// CHECK-ENCODING: [0x40,0x5a,0xb4,0xc1]
821// CHECK-ERROR: instruction requires: sme2
822// CHECK-UNKNOWN: c1b45a40 <unknown>
823
824fmla    za.s[w8, 0, vgx2], {z12.s, z13.s}, {z2.s, z3.s}  // 11000001-10100010-00011001-10000000
825// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z12.s, z13.s }, { z2.s, z3.s }
826// CHECK-ENCODING: [0x80,0x19,0xa2,0xc1]
827// CHECK-ERROR: instruction requires: sme2
828// CHECK-UNKNOWN: c1a21980 <unknown>
829
830fmla    za.s[w8, 0], {z12.s - z13.s}, {z2.s - z3.s}  // 11000001-10100010-00011001-10000000
831// CHECK-INST: fmla    za.s[w8, 0, vgx2], { z12.s, z13.s }, { z2.s, z3.s }
832// CHECK-ENCODING: [0x80,0x19,0xa2,0xc1]
833// CHECK-ERROR: instruction requires: sme2
834// CHECK-UNKNOWN: c1a21980 <unknown>
835
836fmla    za.s[w10, 1, vgx2], {z0.s, z1.s}, {z26.s, z27.s}  // 11000001-10111010-01011000-00000001
837// CHECK-INST: fmla    za.s[w10, 1, vgx2], { z0.s, z1.s }, { z26.s, z27.s }
838// CHECK-ENCODING: [0x01,0x58,0xba,0xc1]
839// CHECK-ERROR: instruction requires: sme2
840// CHECK-UNKNOWN: c1ba5801 <unknown>
841
842fmla    za.s[w10, 1], {z0.s - z1.s}, {z26.s - z27.s}  // 11000001-10111010-01011000-00000001
843// CHECK-INST: fmla    za.s[w10, 1, vgx2], { z0.s, z1.s }, { z26.s, z27.s }
844// CHECK-ENCODING: [0x01,0x58,0xba,0xc1]
845// CHECK-ERROR: instruction requires: sme2
846// CHECK-UNKNOWN: c1ba5801 <unknown>
847
848fmla    za.s[w8, 5, vgx2], {z22.s, z23.s}, {z30.s, z31.s}  // 11000001-10111110-00011010-11000101
849// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z22.s, z23.s }, { z30.s, z31.s }
850// CHECK-ENCODING: [0xc5,0x1a,0xbe,0xc1]
851// CHECK-ERROR: instruction requires: sme2
852// CHECK-UNKNOWN: c1be1ac5 <unknown>
853
854fmla    za.s[w8, 5], {z22.s - z23.s}, {z30.s - z31.s}  // 11000001-10111110-00011010-11000101
855// CHECK-INST: fmla    za.s[w8, 5, vgx2], { z22.s, z23.s }, { z30.s, z31.s }
856// CHECK-ENCODING: [0xc5,0x1a,0xbe,0xc1]
857// CHECK-ERROR: instruction requires: sme2
858// CHECK-UNKNOWN: c1be1ac5 <unknown>
859
860fmla    za.s[w11, 2, vgx2], {z8.s, z9.s}, {z0.s, z1.s}  // 11000001-10100000-01111001-00000010
861// CHECK-INST: fmla    za.s[w11, 2, vgx2], { z8.s, z9.s }, { z0.s, z1.s }
862// CHECK-ENCODING: [0x02,0x79,0xa0,0xc1]
863// CHECK-ERROR: instruction requires: sme2
864// CHECK-UNKNOWN: c1a07902 <unknown>
865
866fmla    za.s[w11, 2], {z8.s - z9.s}, {z0.s - z1.s}  // 11000001-10100000-01111001-00000010
867// CHECK-INST: fmla    za.s[w11, 2, vgx2], { z8.s, z9.s }, { z0.s, z1.s }
868// CHECK-ENCODING: [0x02,0x79,0xa0,0xc1]
869// CHECK-ERROR: instruction requires: sme2
870// CHECK-UNKNOWN: c1a07902 <unknown>
871
872fmla    za.s[w9, 7, vgx2], {z12.s, z13.s}, {z10.s, z11.s}  // 11000001-10101010-00111001-10000111
873// CHECK-INST: fmla    za.s[w9, 7, vgx2], { z12.s, z13.s }, { z10.s, z11.s }
874// CHECK-ENCODING: [0x87,0x39,0xaa,0xc1]
875// CHECK-ERROR: instruction requires: sme2
876// CHECK-UNKNOWN: c1aa3987 <unknown>
877
878fmla    za.s[w9, 7], {z12.s - z13.s}, {z10.s - z11.s}  // 11000001-10101010-00111001-10000111
879// CHECK-INST: fmla    za.s[w9, 7, vgx2], { z12.s, z13.s }, { z10.s, z11.s }
880// CHECK-ENCODING: [0x87,0x39,0xaa,0xc1]
881// CHECK-ERROR: instruction requires: sme2
882// CHECK-UNKNOWN: c1aa3987 <unknown>
883
884
885fmla    za.d[w8, 0, vgx4], {z0.d - z3.d}, z0.d  // 11000001-01110000-00011000-00000000
886// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z0.d - z3.d }, z0.d
887// CHECK-ENCODING: [0x00,0x18,0x70,0xc1]
888// CHECK-ERROR: instruction requires: sme2
889// CHECK-UNKNOWN: c1701800 <unknown>
890
891fmla    za.d[w8, 0], {z0.d - z3.d}, z0.d  // 11000001-01110000-00011000-00000000
892// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z0.d - z3.d }, z0.d
893// CHECK-ENCODING: [0x00,0x18,0x70,0xc1]
894// CHECK-ERROR: instruction requires: sme2
895// CHECK-UNKNOWN: c1701800 <unknown>
896
897fmla    za.d[w10, 5, vgx4], {z10.d - z13.d}, z5.d  // 11000001-01110101-01011001-01000101
898// CHECK-INST: fmla    za.d[w10, 5, vgx4], { z10.d - z13.d }, z5.d
899// CHECK-ENCODING: [0x45,0x59,0x75,0xc1]
900// CHECK-ERROR: instruction requires: sme2
901// CHECK-UNKNOWN: c1755945 <unknown>
902
903fmla    za.d[w10, 5], {z10.d - z13.d}, z5.d  // 11000001-01110101-01011001-01000101
904// CHECK-INST: fmla    za.d[w10, 5, vgx4], { z10.d - z13.d }, z5.d
905// CHECK-ENCODING: [0x45,0x59,0x75,0xc1]
906// CHECK-ERROR: instruction requires: sme2
907// CHECK-UNKNOWN: c1755945 <unknown>
908
909fmla    za.d[w11, 7, vgx4], {z13.d - z16.d}, z8.d  // 11000001-01111000-01111001-10100111
910// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z13.d - z16.d }, z8.d
911// CHECK-ENCODING: [0xa7,0x79,0x78,0xc1]
912// CHECK-ERROR: instruction requires: sme2
913// CHECK-UNKNOWN: c17879a7 <unknown>
914
915fmla    za.d[w11, 7], {z13.d - z16.d}, z8.d  // 11000001-01111000-01111001-10100111
916// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z13.d - z16.d }, z8.d
917// CHECK-ENCODING: [0xa7,0x79,0x78,0xc1]
918// CHECK-ERROR: instruction requires: sme2
919// CHECK-UNKNOWN: c17879a7 <unknown>
920
921fmla    za.d[w11, 7, vgx4], {z31.d - z2.d}, z15.d  // 11000001-01111111-01111011-11100111
922// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z31.d, z0.d, z1.d, z2.d }, z15.d
923// CHECK-ENCODING: [0xe7,0x7b,0x7f,0xc1]
924// CHECK-ERROR: instruction requires: sme2
925// CHECK-UNKNOWN: c17f7be7 <unknown>
926
927fmla    za.d[w11, 7], {z31.d - z2.d}, z15.d  // 11000001-01111111-01111011-11100111
928// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z31.d, z0.d, z1.d, z2.d }, z15.d
929// CHECK-ENCODING: [0xe7,0x7b,0x7f,0xc1]
930// CHECK-ERROR: instruction requires: sme2
931// CHECK-UNKNOWN: c17f7be7 <unknown>
932
933fmla    za.d[w8, 5, vgx4], {z17.d - z20.d}, z0.d  // 11000001-01110000-00011010-00100101
934// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z17.d - z20.d }, z0.d
935// CHECK-ENCODING: [0x25,0x1a,0x70,0xc1]
936// CHECK-ERROR: instruction requires: sme2
937// CHECK-UNKNOWN: c1701a25 <unknown>
938
939fmla    za.d[w8, 5], {z17.d - z20.d}, z0.d  // 11000001-01110000-00011010-00100101
940// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z17.d - z20.d }, z0.d
941// CHECK-ENCODING: [0x25,0x1a,0x70,0xc1]
942// CHECK-ERROR: instruction requires: sme2
943// CHECK-UNKNOWN: c1701a25 <unknown>
944
945fmla    za.d[w8, 1, vgx4], {z1.d - z4.d}, z14.d  // 11000001-01111110-00011000-00100001
946// CHECK-INST: fmla    za.d[w8, 1, vgx4], { z1.d - z4.d }, z14.d
947// CHECK-ENCODING: [0x21,0x18,0x7e,0xc1]
948// CHECK-ERROR: instruction requires: sme2
949// CHECK-UNKNOWN: c17e1821 <unknown>
950
951fmla    za.d[w8, 1], {z1.d - z4.d}, z14.d  // 11000001-01111110-00011000-00100001
952// CHECK-INST: fmla    za.d[w8, 1, vgx4], { z1.d - z4.d }, z14.d
953// CHECK-ENCODING: [0x21,0x18,0x7e,0xc1]
954// CHECK-ERROR: instruction requires: sme2
955// CHECK-UNKNOWN: c17e1821 <unknown>
956
957fmla    za.d[w10, 0, vgx4], {z19.d - z22.d}, z4.d  // 11000001-01110100-01011010-01100000
958// CHECK-INST: fmla    za.d[w10, 0, vgx4], { z19.d - z22.d }, z4.d
959// CHECK-ENCODING: [0x60,0x5a,0x74,0xc1]
960// CHECK-ERROR: instruction requires: sme2
961// CHECK-UNKNOWN: c1745a60 <unknown>
962
963fmla    za.d[w10, 0], {z19.d - z22.d}, z4.d  // 11000001-01110100-01011010-01100000
964// CHECK-INST: fmla    za.d[w10, 0, vgx4], { z19.d - z22.d }, z4.d
965// CHECK-ENCODING: [0x60,0x5a,0x74,0xc1]
966// CHECK-ERROR: instruction requires: sme2
967// CHECK-UNKNOWN: c1745a60 <unknown>
968
969fmla    za.d[w8, 0, vgx4], {z12.d - z15.d}, z2.d  // 11000001-01110010-00011001-10000000
970// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z12.d - z15.d }, z2.d
971// CHECK-ENCODING: [0x80,0x19,0x72,0xc1]
972// CHECK-ERROR: instruction requires: sme2
973// CHECK-UNKNOWN: c1721980 <unknown>
974
975fmla    za.d[w8, 0], {z12.d - z15.d}, z2.d  // 11000001-01110010-00011001-10000000
976// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z12.d - z15.d }, z2.d
977// CHECK-ENCODING: [0x80,0x19,0x72,0xc1]
978// CHECK-ERROR: instruction requires: sme2
979// CHECK-UNKNOWN: c1721980 <unknown>
980
981fmla    za.d[w10, 1, vgx4], {z1.d - z4.d}, z10.d  // 11000001-01111010-01011000-00100001
982// CHECK-INST: fmla    za.d[w10, 1, vgx4], { z1.d - z4.d }, z10.d
983// CHECK-ENCODING: [0x21,0x58,0x7a,0xc1]
984// CHECK-ERROR: instruction requires: sme2
985// CHECK-UNKNOWN: c17a5821 <unknown>
986
987fmla    za.d[w10, 1], {z1.d - z4.d}, z10.d  // 11000001-01111010-01011000-00100001
988// CHECK-INST: fmla    za.d[w10, 1, vgx4], { z1.d - z4.d }, z10.d
989// CHECK-ENCODING: [0x21,0x58,0x7a,0xc1]
990// CHECK-ERROR: instruction requires: sme2
991// CHECK-UNKNOWN: c17a5821 <unknown>
992
993fmla    za.d[w8, 5, vgx4], {z22.d - z25.d}, z14.d  // 11000001-01111110-00011010-11000101
994// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z22.d - z25.d }, z14.d
995// CHECK-ENCODING: [0xc5,0x1a,0x7e,0xc1]
996// CHECK-ERROR: instruction requires: sme2
997// CHECK-UNKNOWN: c17e1ac5 <unknown>
998
999fmla    za.d[w8, 5], {z22.d - z25.d}, z14.d  // 11000001-01111110-00011010-11000101
1000// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z22.d - z25.d }, z14.d
1001// CHECK-ENCODING: [0xc5,0x1a,0x7e,0xc1]
1002// CHECK-ERROR: instruction requires: sme2
1003// CHECK-UNKNOWN: c17e1ac5 <unknown>
1004
1005fmla    za.d[w11, 2, vgx4], {z9.d - z12.d}, z1.d  // 11000001-01110001-01111001-00100010
1006// CHECK-INST: fmla    za.d[w11, 2, vgx4], { z9.d - z12.d }, z1.d
1007// CHECK-ENCODING: [0x22,0x79,0x71,0xc1]
1008// CHECK-ERROR: instruction requires: sme2
1009// CHECK-UNKNOWN: c1717922 <unknown>
1010
1011fmla    za.d[w11, 2], {z9.d - z12.d}, z1.d  // 11000001-01110001-01111001-00100010
1012// CHECK-INST: fmla    za.d[w11, 2, vgx4], { z9.d - z12.d }, z1.d
1013// CHECK-ENCODING: [0x22,0x79,0x71,0xc1]
1014// CHECK-ERROR: instruction requires: sme2
1015// CHECK-UNKNOWN: c1717922 <unknown>
1016
1017fmla    za.d[w9, 7, vgx4], {z12.d - z15.d}, z11.d  // 11000001-01111011-00111001-10000111
1018// CHECK-INST: fmla    za.d[w9, 7, vgx4], { z12.d - z15.d }, z11.d
1019// CHECK-ENCODING: [0x87,0x39,0x7b,0xc1]
1020// CHECK-ERROR: instruction requires: sme2
1021// CHECK-UNKNOWN: c17b3987 <unknown>
1022
1023fmla    za.d[w9, 7], {z12.d - z15.d}, z11.d  // 11000001-01111011-00111001-10000111
1024// CHECK-INST: fmla    za.d[w9, 7, vgx4], { z12.d - z15.d }, z11.d
1025// CHECK-ENCODING: [0x87,0x39,0x7b,0xc1]
1026// CHECK-ERROR: instruction requires: sme2
1027// CHECK-UNKNOWN: c17b3987 <unknown>
1028
1029
1030fmla    za.d[w8, 0, vgx4], {z0.d - z3.d}, z0.d[0]  // 11000001-11010000-10000000-00000000
1031// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z0.d - z3.d }, z0.d[0]
1032// CHECK-ENCODING: [0x00,0x80,0xd0,0xc1]
1033// CHECK-ERROR: instruction requires: sme2
1034// CHECK-UNKNOWN: c1d08000 <unknown>
1035
1036fmla    za.d[w8, 0], {z0.d - z3.d}, z0.d[0]  // 11000001-11010000-10000000-00000000
1037// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z0.d - z3.d }, z0.d[0]
1038// CHECK-ENCODING: [0x00,0x80,0xd0,0xc1]
1039// CHECK-ERROR: instruction requires: sme2
1040// CHECK-UNKNOWN: c1d08000 <unknown>
1041
1042fmla    za.d[w10, 5, vgx4], {z8.d - z11.d}, z5.d[1]  // 11000001-11010101-11000101-00000101
1043// CHECK-INST: fmla    za.d[w10, 5, vgx4], { z8.d - z11.d }, z5.d[1]
1044// CHECK-ENCODING: [0x05,0xc5,0xd5,0xc1]
1045// CHECK-ERROR: instruction requires: sme2
1046// CHECK-UNKNOWN: c1d5c505 <unknown>
1047
1048fmla    za.d[w10, 5], {z8.d - z11.d}, z5.d[1]  // 11000001-11010101-11000101-00000101
1049// CHECK-INST: fmla    za.d[w10, 5, vgx4], { z8.d - z11.d }, z5.d[1]
1050// CHECK-ENCODING: [0x05,0xc5,0xd5,0xc1]
1051// CHECK-ERROR: instruction requires: sme2
1052// CHECK-UNKNOWN: c1d5c505 <unknown>
1053
1054fmla    za.d[w11, 7, vgx4], {z12.d - z15.d}, z8.d[1]  // 11000001-11011000-11100101-10000111
1055// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z12.d - z15.d }, z8.d[1]
1056// CHECK-ENCODING: [0x87,0xe5,0xd8,0xc1]
1057// CHECK-ERROR: instruction requires: sme2
1058// CHECK-UNKNOWN: c1d8e587 <unknown>
1059
1060fmla    za.d[w11, 7], {z12.d - z15.d}, z8.d[1]  // 11000001-11011000-11100101-10000111
1061// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z12.d - z15.d }, z8.d[1]
1062// CHECK-ENCODING: [0x87,0xe5,0xd8,0xc1]
1063// CHECK-ERROR: instruction requires: sme2
1064// CHECK-UNKNOWN: c1d8e587 <unknown>
1065
1066fmla    za.d[w11, 7, vgx4], {z28.d - z31.d}, z15.d[1]  // 11000001-11011111-11100111-10000111
1067// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z28.d - z31.d }, z15.d[1]
1068// CHECK-ENCODING: [0x87,0xe7,0xdf,0xc1]
1069// CHECK-ERROR: instruction requires: sme2
1070// CHECK-UNKNOWN: c1dfe787 <unknown>
1071
1072fmla    za.d[w11, 7], {z28.d - z31.d}, z15.d[1]  // 11000001-11011111-11100111-10000111
1073// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z28.d - z31.d }, z15.d[1]
1074// CHECK-ENCODING: [0x87,0xe7,0xdf,0xc1]
1075// CHECK-ERROR: instruction requires: sme2
1076// CHECK-UNKNOWN: c1dfe787 <unknown>
1077
1078fmla    za.d[w8, 5, vgx4], {z16.d - z19.d}, z0.d[1]  // 11000001-11010000-10000110-00000101
1079// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z16.d - z19.d }, z0.d[1]
1080// CHECK-ENCODING: [0x05,0x86,0xd0,0xc1]
1081// CHECK-ERROR: instruction requires: sme2
1082// CHECK-UNKNOWN: c1d08605 <unknown>
1083
1084fmla    za.d[w8, 5], {z16.d - z19.d}, z0.d[1]  // 11000001-11010000-10000110-00000101
1085// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z16.d - z19.d }, z0.d[1]
1086// CHECK-ENCODING: [0x05,0x86,0xd0,0xc1]
1087// CHECK-ERROR: instruction requires: sme2
1088// CHECK-UNKNOWN: c1d08605 <unknown>
1089
1090fmla    za.d[w8, 1, vgx4], {z0.d - z3.d}, z14.d[1]  // 11000001-11011110-10000100-00000001
1091// CHECK-INST: fmla    za.d[w8, 1, vgx4], { z0.d - z3.d }, z14.d[1]
1092// CHECK-ENCODING: [0x01,0x84,0xde,0xc1]
1093// CHECK-ERROR: instruction requires: sme2
1094// CHECK-UNKNOWN: c1de8401 <unknown>
1095
1096fmla    za.d[w8, 1], {z0.d - z3.d}, z14.d[1]  // 11000001-11011110-10000100-00000001
1097// CHECK-INST: fmla    za.d[w8, 1, vgx4], { z0.d - z3.d }, z14.d[1]
1098// CHECK-ENCODING: [0x01,0x84,0xde,0xc1]
1099// CHECK-ERROR: instruction requires: sme2
1100// CHECK-UNKNOWN: c1de8401 <unknown>
1101
1102fmla    za.d[w10, 0, vgx4], {z16.d - z19.d}, z4.d[1]  // 11000001-11010100-11000110-00000000
1103// CHECK-INST: fmla    za.d[w10, 0, vgx4], { z16.d - z19.d }, z4.d[1]
1104// CHECK-ENCODING: [0x00,0xc6,0xd4,0xc1]
1105// CHECK-ERROR: instruction requires: sme2
1106// CHECK-UNKNOWN: c1d4c600 <unknown>
1107
1108fmla    za.d[w10, 0], {z16.d - z19.d}, z4.d[1]  // 11000001-11010100-11000110-00000000
1109// CHECK-INST: fmla    za.d[w10, 0, vgx4], { z16.d - z19.d }, z4.d[1]
1110// CHECK-ENCODING: [0x00,0xc6,0xd4,0xc1]
1111// CHECK-ERROR: instruction requires: sme2
1112// CHECK-UNKNOWN: c1d4c600 <unknown>
1113
1114fmla    za.d[w8, 0, vgx4], {z12.d - z15.d}, z2.d[0]  // 11000001-11010010-10000001-10000000
1115// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z12.d - z15.d }, z2.d[0]
1116// CHECK-ENCODING: [0x80,0x81,0xd2,0xc1]
1117// CHECK-ERROR: instruction requires: sme2
1118// CHECK-UNKNOWN: c1d28180 <unknown>
1119
1120fmla    za.d[w8, 0], {z12.d - z15.d}, z2.d[0]  // 11000001-11010010-10000001-10000000
1121// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z12.d - z15.d }, z2.d[0]
1122// CHECK-ENCODING: [0x80,0x81,0xd2,0xc1]
1123// CHECK-ERROR: instruction requires: sme2
1124// CHECK-UNKNOWN: c1d28180 <unknown>
1125
1126fmla    za.d[w10, 1, vgx4], {z0.d - z3.d}, z10.d[0]  // 11000001-11011010-11000000-00000001
1127// CHECK-INST: fmla    za.d[w10, 1, vgx4], { z0.d - z3.d }, z10.d[0]
1128// CHECK-ENCODING: [0x01,0xc0,0xda,0xc1]
1129// CHECK-ERROR: instruction requires: sme2
1130// CHECK-UNKNOWN: c1dac001 <unknown>
1131
1132fmla    za.d[w10, 1], {z0.d - z3.d}, z10.d[0]  // 11000001-11011010-11000000-00000001
1133// CHECK-INST: fmla    za.d[w10, 1, vgx4], { z0.d - z3.d }, z10.d[0]
1134// CHECK-ENCODING: [0x01,0xc0,0xda,0xc1]
1135// CHECK-ERROR: instruction requires: sme2
1136// CHECK-UNKNOWN: c1dac001 <unknown>
1137
1138fmla    za.d[w8, 5, vgx4], {z20.d - z23.d}, z14.d[0]  // 11000001-11011110-10000010-10000101
1139// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z20.d - z23.d }, z14.d[0]
1140// CHECK-ENCODING: [0x85,0x82,0xde,0xc1]
1141// CHECK-ERROR: instruction requires: sme2
1142// CHECK-UNKNOWN: c1de8285 <unknown>
1143
1144fmla    za.d[w8, 5], {z20.d - z23.d}, z14.d[0]  // 11000001-11011110-10000010-10000101
1145// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z20.d - z23.d }, z14.d[0]
1146// CHECK-ENCODING: [0x85,0x82,0xde,0xc1]
1147// CHECK-ERROR: instruction requires: sme2
1148// CHECK-UNKNOWN: c1de8285 <unknown>
1149
1150fmla    za.d[w11, 2, vgx4], {z8.d - z11.d}, z1.d[1]  // 11000001-11010001-11100101-00000010
1151// CHECK-INST: fmla    za.d[w11, 2, vgx4], { z8.d - z11.d }, z1.d[1]
1152// CHECK-ENCODING: [0x02,0xe5,0xd1,0xc1]
1153// CHECK-ERROR: instruction requires: sme2
1154// CHECK-UNKNOWN: c1d1e502 <unknown>
1155
1156fmla    za.d[w11, 2], {z8.d - z11.d}, z1.d[1]  // 11000001-11010001-11100101-00000010
1157// CHECK-INST: fmla    za.d[w11, 2, vgx4], { z8.d - z11.d }, z1.d[1]
1158// CHECK-ENCODING: [0x02,0xe5,0xd1,0xc1]
1159// CHECK-ERROR: instruction requires: sme2
1160// CHECK-UNKNOWN: c1d1e502 <unknown>
1161
1162fmla    za.d[w9, 7, vgx4], {z12.d - z15.d}, z11.d[0]  // 11000001-11011011-10100001-10000111
1163// CHECK-INST: fmla    za.d[w9, 7, vgx4], { z12.d - z15.d }, z11.d[0]
1164// CHECK-ENCODING: [0x87,0xa1,0xdb,0xc1]
1165// CHECK-ERROR: instruction requires: sme2
1166// CHECK-UNKNOWN: c1dba187 <unknown>
1167
1168fmla    za.d[w9, 7], {z12.d - z15.d}, z11.d[0]  // 11000001-11011011-10100001-10000111
1169// CHECK-INST: fmla    za.d[w9, 7, vgx4], { z12.d - z15.d }, z11.d[0]
1170// CHECK-ENCODING: [0x87,0xa1,0xdb,0xc1]
1171// CHECK-ERROR: instruction requires: sme2
1172// CHECK-UNKNOWN: c1dba187 <unknown>
1173
1174
1175fmla    za.d[w8, 0, vgx4], {z0.d - z3.d}, {z0.d - z3.d}  // 11000001-11100001-00011000-00000000
1176// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z0.d - z3.d }, { z0.d - z3.d }
1177// CHECK-ENCODING: [0x00,0x18,0xe1,0xc1]
1178// CHECK-ERROR: instruction requires: sme2
1179// CHECK-UNKNOWN: c1e11800 <unknown>
1180
1181fmla    za.d[w8, 0], {z0.d - z3.d}, {z0.d - z3.d}  // 11000001-11100001-00011000-00000000
1182// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z0.d - z3.d }, { z0.d - z3.d }
1183// CHECK-ENCODING: [0x00,0x18,0xe1,0xc1]
1184// CHECK-ERROR: instruction requires: sme2
1185// CHECK-UNKNOWN: c1e11800 <unknown>
1186
1187fmla    za.d[w10, 5, vgx4], {z8.d - z11.d}, {z20.d - z23.d}  // 11000001-11110101-01011001-00000101
1188// CHECK-INST: fmla    za.d[w10, 5, vgx4], { z8.d - z11.d }, { z20.d - z23.d }
1189// CHECK-ENCODING: [0x05,0x59,0xf5,0xc1]
1190// CHECK-ERROR: instruction requires: sme2
1191// CHECK-UNKNOWN: c1f55905 <unknown>
1192
1193fmla    za.d[w10, 5], {z8.d - z11.d}, {z20.d - z23.d}  // 11000001-11110101-01011001-00000101
1194// CHECK-INST: fmla    za.d[w10, 5, vgx4], { z8.d - z11.d }, { z20.d - z23.d }
1195// CHECK-ENCODING: [0x05,0x59,0xf5,0xc1]
1196// CHECK-ERROR: instruction requires: sme2
1197// CHECK-UNKNOWN: c1f55905 <unknown>
1198
1199fmla    za.d[w11, 7, vgx4], {z12.d - z15.d}, {z8.d - z11.d}  // 11000001-11101001-01111001-10000111
1200// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z12.d - z15.d }, { z8.d - z11.d }
1201// CHECK-ENCODING: [0x87,0x79,0xe9,0xc1]
1202// CHECK-ERROR: instruction requires: sme2
1203// CHECK-UNKNOWN: c1e97987 <unknown>
1204
1205fmla    za.d[w11, 7], {z12.d - z15.d}, {z8.d - z11.d}  // 11000001-11101001-01111001-10000111
1206// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z12.d - z15.d }, { z8.d - z11.d }
1207// CHECK-ENCODING: [0x87,0x79,0xe9,0xc1]
1208// CHECK-ERROR: instruction requires: sme2
1209// CHECK-UNKNOWN: c1e97987 <unknown>
1210
1211fmla    za.d[w11, 7, vgx4], {z28.d - z31.d}, {z28.d - z31.d}  // 11000001-11111101-01111011-10000111
1212// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z28.d - z31.d }, { z28.d - z31.d }
1213// CHECK-ENCODING: [0x87,0x7b,0xfd,0xc1]
1214// CHECK-ERROR: instruction requires: sme2
1215// CHECK-UNKNOWN: c1fd7b87 <unknown>
1216
1217fmla    za.d[w11, 7], {z28.d - z31.d}, {z28.d - z31.d}  // 11000001-11111101-01111011-10000111
1218// CHECK-INST: fmla    za.d[w11, 7, vgx4], { z28.d - z31.d }, { z28.d - z31.d }
1219// CHECK-ENCODING: [0x87,0x7b,0xfd,0xc1]
1220// CHECK-ERROR: instruction requires: sme2
1221// CHECK-UNKNOWN: c1fd7b87 <unknown>
1222
1223fmla    za.d[w8, 5, vgx4], {z16.d - z19.d}, {z16.d - z19.d}  // 11000001-11110001-00011010-00000101
1224// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z16.d - z19.d }, { z16.d - z19.d }
1225// CHECK-ENCODING: [0x05,0x1a,0xf1,0xc1]
1226// CHECK-ERROR: instruction requires: sme2
1227// CHECK-UNKNOWN: c1f11a05 <unknown>
1228
1229fmla    za.d[w8, 5], {z16.d - z19.d}, {z16.d - z19.d}  // 11000001-11110001-00011010-00000101
1230// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z16.d - z19.d }, { z16.d - z19.d }
1231// CHECK-ENCODING: [0x05,0x1a,0xf1,0xc1]
1232// CHECK-ERROR: instruction requires: sme2
1233// CHECK-UNKNOWN: c1f11a05 <unknown>
1234
1235fmla    za.d[w8, 1, vgx4], {z0.d - z3.d}, {z28.d - z31.d}  // 11000001-11111101-00011000-00000001
1236// CHECK-INST: fmla    za.d[w8, 1, vgx4], { z0.d - z3.d }, { z28.d - z31.d }
1237// CHECK-ENCODING: [0x01,0x18,0xfd,0xc1]
1238// CHECK-ERROR: instruction requires: sme2
1239// CHECK-UNKNOWN: c1fd1801 <unknown>
1240
1241fmla    za.d[w8, 1], {z0.d - z3.d}, {z28.d - z31.d}  // 11000001-11111101-00011000-00000001
1242// CHECK-INST: fmla    za.d[w8, 1, vgx4], { z0.d - z3.d }, { z28.d - z31.d }
1243// CHECK-ENCODING: [0x01,0x18,0xfd,0xc1]
1244// CHECK-ERROR: instruction requires: sme2
1245// CHECK-UNKNOWN: c1fd1801 <unknown>
1246
1247fmla    za.d[w10, 0, vgx4], {z16.d - z19.d}, {z20.d - z23.d}  // 11000001-11110101-01011010-00000000
1248// CHECK-INST: fmla    za.d[w10, 0, vgx4], { z16.d - z19.d }, { z20.d - z23.d }
1249// CHECK-ENCODING: [0x00,0x5a,0xf5,0xc1]
1250// CHECK-ERROR: instruction requires: sme2
1251// CHECK-UNKNOWN: c1f55a00 <unknown>
1252
1253fmla    za.d[w10, 0], {z16.d - z19.d}, {z20.d - z23.d}  // 11000001-11110101-01011010-00000000
1254// CHECK-INST: fmla    za.d[w10, 0, vgx4], { z16.d - z19.d }, { z20.d - z23.d }
1255// CHECK-ENCODING: [0x00,0x5a,0xf5,0xc1]
1256// CHECK-ERROR: instruction requires: sme2
1257// CHECK-UNKNOWN: c1f55a00 <unknown>
1258
1259fmla    za.d[w8, 0, vgx4], {z12.d - z15.d}, {z0.d - z3.d}  // 11000001-11100001-00011001-10000000
1260// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z12.d - z15.d }, { z0.d - z3.d }
1261// CHECK-ENCODING: [0x80,0x19,0xe1,0xc1]
1262// CHECK-ERROR: instruction requires: sme2
1263// CHECK-UNKNOWN: c1e11980 <unknown>
1264
1265fmla    za.d[w8, 0], {z12.d - z15.d}, {z0.d - z3.d}  // 11000001-11100001-00011001-10000000
1266// CHECK-INST: fmla    za.d[w8, 0, vgx4], { z12.d - z15.d }, { z0.d - z3.d }
1267// CHECK-ENCODING: [0x80,0x19,0xe1,0xc1]
1268// CHECK-ERROR: instruction requires: sme2
1269// CHECK-UNKNOWN: c1e11980 <unknown>
1270
1271fmla    za.d[w10, 1, vgx4], {z0.d - z3.d}, {z24.d - z27.d}  // 11000001-11111001-01011000-00000001
1272// CHECK-INST: fmla    za.d[w10, 1, vgx4], { z0.d - z3.d }, { z24.d - z27.d }
1273// CHECK-ENCODING: [0x01,0x58,0xf9,0xc1]
1274// CHECK-ERROR: instruction requires: sme2
1275// CHECK-UNKNOWN: c1f95801 <unknown>
1276
1277fmla    za.d[w10, 1], {z0.d - z3.d}, {z24.d - z27.d}  // 11000001-11111001-01011000-00000001
1278// CHECK-INST: fmla    za.d[w10, 1, vgx4], { z0.d - z3.d }, { z24.d - z27.d }
1279// CHECK-ENCODING: [0x01,0x58,0xf9,0xc1]
1280// CHECK-ERROR: instruction requires: sme2
1281// CHECK-UNKNOWN: c1f95801 <unknown>
1282
1283fmla    za.d[w8, 5, vgx4], {z20.d - z23.d}, {z28.d - z31.d}  // 11000001-11111101-00011010-10000101
1284// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z20.d - z23.d }, { z28.d - z31.d }
1285// CHECK-ENCODING: [0x85,0x1a,0xfd,0xc1]
1286// CHECK-ERROR: instruction requires: sme2
1287// CHECK-UNKNOWN: c1fd1a85 <unknown>
1288
1289fmla    za.d[w8, 5], {z20.d - z23.d}, {z28.d - z31.d}  // 11000001-11111101-00011010-10000101
1290// CHECK-INST: fmla    za.d[w8, 5, vgx4], { z20.d - z23.d }, { z28.d - z31.d }
1291// CHECK-ENCODING: [0x85,0x1a,0xfd,0xc1]
1292// CHECK-ERROR: instruction requires: sme2
1293// CHECK-UNKNOWN: c1fd1a85 <unknown>
1294
1295fmla    za.d[w11, 2, vgx4], {z8.d - z11.d}, {z0.d - z3.d}  // 11000001-11100001-01111001-00000010
1296// CHECK-INST: fmla    za.d[w11, 2, vgx4], { z8.d - z11.d }, { z0.d - z3.d }
1297// CHECK-ENCODING: [0x02,0x79,0xe1,0xc1]
1298// CHECK-ERROR: instruction requires: sme2
1299// CHECK-UNKNOWN: c1e17902 <unknown>
1300
1301fmla    za.d[w11, 2], {z8.d - z11.d}, {z0.d - z3.d}  // 11000001-11100001-01111001-00000010
1302// CHECK-INST: fmla    za.d[w11, 2, vgx4], { z8.d - z11.d }, { z0.d - z3.d }
1303// CHECK-ENCODING: [0x02,0x79,0xe1,0xc1]
1304// CHECK-ERROR: instruction requires: sme2
1305// CHECK-UNKNOWN: c1e17902 <unknown>
1306
1307fmla    za.d[w9, 7, vgx4], {z12.d - z15.d}, {z8.d - z11.d}  // 11000001-11101001-00111001-10000111
1308// CHECK-INST: fmla    za.d[w9, 7, vgx4], { z12.d - z15.d }, { z8.d - z11.d }
1309// CHECK-ENCODING: [0x87,0x39,0xe9,0xc1]
1310// CHECK-ERROR: instruction requires: sme2
1311// CHECK-UNKNOWN: c1e93987 <unknown>
1312
1313fmla    za.d[w9, 7], {z12.d - z15.d}, {z8.d - z11.d}  // 11000001-11101001-00111001-10000111
1314// CHECK-INST: fmla    za.d[w9, 7, vgx4], { z12.d - z15.d }, { z8.d - z11.d }
1315// CHECK-ENCODING: [0x87,0x39,0xe9,0xc1]
1316// CHECK-ERROR: instruction requires: sme2
1317// CHECK-UNKNOWN: c1e93987 <unknown>
1318
1319
1320fmla    za.s[w8, 0, vgx4], {z0.s - z3.s}, z0.s  // 11000001-00110000-00011000-00000000
1321// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z0.s - z3.s }, z0.s
1322// CHECK-ENCODING: [0x00,0x18,0x30,0xc1]
1323// CHECK-ERROR: instruction requires: sme2
1324// CHECK-UNKNOWN: c1301800 <unknown>
1325
1326fmla    za.s[w8, 0], {z0.s - z3.s}, z0.s  // 11000001-00110000-00011000-00000000
1327// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z0.s - z3.s }, z0.s
1328// CHECK-ENCODING: [0x00,0x18,0x30,0xc1]
1329// CHECK-ERROR: instruction requires: sme2
1330// CHECK-UNKNOWN: c1301800 <unknown>
1331
1332fmla    za.s[w10, 5, vgx4], {z10.s - z13.s}, z5.s  // 11000001-00110101-01011001-01000101
1333// CHECK-INST: fmla    za.s[w10, 5, vgx4], { z10.s - z13.s }, z5.s
1334// CHECK-ENCODING: [0x45,0x59,0x35,0xc1]
1335// CHECK-ERROR: instruction requires: sme2
1336// CHECK-UNKNOWN: c1355945 <unknown>
1337
1338fmla    za.s[w10, 5], {z10.s - z13.s}, z5.s  // 11000001-00110101-01011001-01000101
1339// CHECK-INST: fmla    za.s[w10, 5, vgx4], { z10.s - z13.s }, z5.s
1340// CHECK-ENCODING: [0x45,0x59,0x35,0xc1]
1341// CHECK-ERROR: instruction requires: sme2
1342// CHECK-UNKNOWN: c1355945 <unknown>
1343
1344fmla    za.s[w11, 7, vgx4], {z13.s - z16.s}, z8.s  // 11000001-00111000-01111001-10100111
1345// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z13.s - z16.s }, z8.s
1346// CHECK-ENCODING: [0xa7,0x79,0x38,0xc1]
1347// CHECK-ERROR: instruction requires: sme2
1348// CHECK-UNKNOWN: c13879a7 <unknown>
1349
1350fmla    za.s[w11, 7], {z13.s - z16.s}, z8.s  // 11000001-00111000-01111001-10100111
1351// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z13.s - z16.s }, z8.s
1352// CHECK-ENCODING: [0xa7,0x79,0x38,0xc1]
1353// CHECK-ERROR: instruction requires: sme2
1354// CHECK-UNKNOWN: c13879a7 <unknown>
1355
1356fmla    za.s[w11, 7, vgx4], {z31.s - z2.s}, z15.s  // 11000001-00111111-01111011-11100111
1357// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z31.s, z0.s, z1.s, z2.s }, z15.s
1358// CHECK-ENCODING: [0xe7,0x7b,0x3f,0xc1]
1359// CHECK-ERROR: instruction requires: sme2
1360// CHECK-UNKNOWN: c13f7be7 <unknown>
1361
1362fmla    za.s[w11, 7], {z31.s - z2.s}, z15.s  // 11000001-00111111-01111011-11100111
1363// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z31.s, z0.s, z1.s, z2.s }, z15.s
1364// CHECK-ENCODING: [0xe7,0x7b,0x3f,0xc1]
1365// CHECK-ERROR: instruction requires: sme2
1366// CHECK-UNKNOWN: c13f7be7 <unknown>
1367
1368fmla    za.s[w8, 5, vgx4], {z17.s - z20.s}, z0.s  // 11000001-00110000-00011010-00100101
1369// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z17.s - z20.s }, z0.s
1370// CHECK-ENCODING: [0x25,0x1a,0x30,0xc1]
1371// CHECK-ERROR: instruction requires: sme2
1372// CHECK-UNKNOWN: c1301a25 <unknown>
1373
1374fmla    za.s[w8, 5], {z17.s - z20.s}, z0.s  // 11000001-00110000-00011010-00100101
1375// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z17.s - z20.s }, z0.s
1376// CHECK-ENCODING: [0x25,0x1a,0x30,0xc1]
1377// CHECK-ERROR: instruction requires: sme2
1378// CHECK-UNKNOWN: c1301a25 <unknown>
1379
1380fmla    za.s[w8, 1, vgx4], {z1.s - z4.s}, z14.s  // 11000001-00111110-00011000-00100001
1381// CHECK-INST: fmla    za.s[w8, 1, vgx4], { z1.s - z4.s }, z14.s
1382// CHECK-ENCODING: [0x21,0x18,0x3e,0xc1]
1383// CHECK-ERROR: instruction requires: sme2
1384// CHECK-UNKNOWN: c13e1821 <unknown>
1385
1386fmla    za.s[w8, 1], {z1.s - z4.s}, z14.s  // 11000001-00111110-00011000-00100001
1387// CHECK-INST: fmla    za.s[w8, 1, vgx4], { z1.s - z4.s }, z14.s
1388// CHECK-ENCODING: [0x21,0x18,0x3e,0xc1]
1389// CHECK-ERROR: instruction requires: sme2
1390// CHECK-UNKNOWN: c13e1821 <unknown>
1391
1392fmla    za.s[w10, 0, vgx4], {z19.s - z22.s}, z4.s  // 11000001-00110100-01011010-01100000
1393// CHECK-INST: fmla    za.s[w10, 0, vgx4], { z19.s - z22.s }, z4.s
1394// CHECK-ENCODING: [0x60,0x5a,0x34,0xc1]
1395// CHECK-ERROR: instruction requires: sme2
1396// CHECK-UNKNOWN: c1345a60 <unknown>
1397
1398fmla    za.s[w10, 0], {z19.s - z22.s}, z4.s  // 11000001-00110100-01011010-01100000
1399// CHECK-INST: fmla    za.s[w10, 0, vgx4], { z19.s - z22.s }, z4.s
1400// CHECK-ENCODING: [0x60,0x5a,0x34,0xc1]
1401// CHECK-ERROR: instruction requires: sme2
1402// CHECK-UNKNOWN: c1345a60 <unknown>
1403
1404fmla    za.s[w8, 0, vgx4], {z12.s - z15.s}, z2.s  // 11000001-00110010-00011001-10000000
1405// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z12.s - z15.s }, z2.s
1406// CHECK-ENCODING: [0x80,0x19,0x32,0xc1]
1407// CHECK-ERROR: instruction requires: sme2
1408// CHECK-UNKNOWN: c1321980 <unknown>
1409
1410fmla    za.s[w8, 0], {z12.s - z15.s}, z2.s  // 11000001-00110010-00011001-10000000
1411// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z12.s - z15.s }, z2.s
1412// CHECK-ENCODING: [0x80,0x19,0x32,0xc1]
1413// CHECK-ERROR: instruction requires: sme2
1414// CHECK-UNKNOWN: c1321980 <unknown>
1415
1416fmla    za.s[w10, 1, vgx4], {z1.s - z4.s}, z10.s  // 11000001-00111010-01011000-00100001
1417// CHECK-INST: fmla    za.s[w10, 1, vgx4], { z1.s - z4.s }, z10.s
1418// CHECK-ENCODING: [0x21,0x58,0x3a,0xc1]
1419// CHECK-ERROR: instruction requires: sme2
1420// CHECK-UNKNOWN: c13a5821 <unknown>
1421
1422fmla    za.s[w10, 1], {z1.s - z4.s}, z10.s  // 11000001-00111010-01011000-00100001
1423// CHECK-INST: fmla    za.s[w10, 1, vgx4], { z1.s - z4.s }, z10.s
1424// CHECK-ENCODING: [0x21,0x58,0x3a,0xc1]
1425// CHECK-ERROR: instruction requires: sme2
1426// CHECK-UNKNOWN: c13a5821 <unknown>
1427
1428fmla    za.s[w8, 5, vgx4], {z22.s - z25.s}, z14.s  // 11000001-00111110-00011010-11000101
1429// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z22.s - z25.s }, z14.s
1430// CHECK-ENCODING: [0xc5,0x1a,0x3e,0xc1]
1431// CHECK-ERROR: instruction requires: sme2
1432// CHECK-UNKNOWN: c13e1ac5 <unknown>
1433
1434fmla    za.s[w8, 5], {z22.s - z25.s}, z14.s  // 11000001-00111110-00011010-11000101
1435// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z22.s - z25.s }, z14.s
1436// CHECK-ENCODING: [0xc5,0x1a,0x3e,0xc1]
1437// CHECK-ERROR: instruction requires: sme2
1438// CHECK-UNKNOWN: c13e1ac5 <unknown>
1439
1440fmla    za.s[w11, 2, vgx4], {z9.s - z12.s}, z1.s  // 11000001-00110001-01111001-00100010
1441// CHECK-INST: fmla    za.s[w11, 2, vgx4], { z9.s - z12.s }, z1.s
1442// CHECK-ENCODING: [0x22,0x79,0x31,0xc1]
1443// CHECK-ERROR: instruction requires: sme2
1444// CHECK-UNKNOWN: c1317922 <unknown>
1445
1446fmla    za.s[w11, 2], {z9.s - z12.s}, z1.s  // 11000001-00110001-01111001-00100010
1447// CHECK-INST: fmla    za.s[w11, 2, vgx4], { z9.s - z12.s }, z1.s
1448// CHECK-ENCODING: [0x22,0x79,0x31,0xc1]
1449// CHECK-ERROR: instruction requires: sme2
1450// CHECK-UNKNOWN: c1317922 <unknown>
1451
1452fmla    za.s[w9, 7, vgx4], {z12.s - z15.s}, z11.s  // 11000001-00111011-00111001-10000111
1453// CHECK-INST: fmla    za.s[w9, 7, vgx4], { z12.s - z15.s }, z11.s
1454// CHECK-ENCODING: [0x87,0x39,0x3b,0xc1]
1455// CHECK-ERROR: instruction requires: sme2
1456// CHECK-UNKNOWN: c13b3987 <unknown>
1457
1458fmla    za.s[w9, 7], {z12.s - z15.s}, z11.s  // 11000001-00111011-00111001-10000111
1459// CHECK-INST: fmla    za.s[w9, 7, vgx4], { z12.s - z15.s }, z11.s
1460// CHECK-ENCODING: [0x87,0x39,0x3b,0xc1]
1461// CHECK-ERROR: instruction requires: sme2
1462// CHECK-UNKNOWN: c13b3987 <unknown>
1463
1464
1465fmla    za.s[w8, 0, vgx4], {z0.s - z3.s}, z0.s[0]  // 11000001-01010000-10000000-00000000
1466// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z0.s - z3.s }, z0.s[0]
1467// CHECK-ENCODING: [0x00,0x80,0x50,0xc1]
1468// CHECK-ERROR: instruction requires: sme2
1469// CHECK-UNKNOWN: c1508000 <unknown>
1470
1471fmla    za.s[w8, 0], {z0.s - z3.s}, z0.s[0]  // 11000001-01010000-10000000-00000000
1472// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z0.s - z3.s }, z0.s[0]
1473// CHECK-ENCODING: [0x00,0x80,0x50,0xc1]
1474// CHECK-ERROR: instruction requires: sme2
1475// CHECK-UNKNOWN: c1508000 <unknown>
1476
1477fmla    za.s[w10, 5, vgx4], {z8.s - z11.s}, z5.s[1]  // 11000001-01010101-11000101-00000101
1478// CHECK-INST: fmla    za.s[w10, 5, vgx4], { z8.s - z11.s }, z5.s[1]
1479// CHECK-ENCODING: [0x05,0xc5,0x55,0xc1]
1480// CHECK-ERROR: instruction requires: sme2
1481// CHECK-UNKNOWN: c155c505 <unknown>
1482
1483fmla    za.s[w10, 5], {z8.s - z11.s}, z5.s[1]  // 11000001-01010101-11000101-00000101
1484// CHECK-INST: fmla    za.s[w10, 5, vgx4], { z8.s - z11.s }, z5.s[1]
1485// CHECK-ENCODING: [0x05,0xc5,0x55,0xc1]
1486// CHECK-ERROR: instruction requires: sme2
1487// CHECK-UNKNOWN: c155c505 <unknown>
1488
1489fmla    za.s[w11, 7, vgx4], {z12.s - z15.s}, z8.s[3]  // 11000001-01011000-11101101-10000111
1490// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z12.s - z15.s }, z8.s[3]
1491// CHECK-ENCODING: [0x87,0xed,0x58,0xc1]
1492// CHECK-ERROR: instruction requires: sme2
1493// CHECK-UNKNOWN: c158ed87 <unknown>
1494
1495fmla    za.s[w11, 7], {z12.s - z15.s}, z8.s[3]  // 11000001-01011000-11101101-10000111
1496// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z12.s - z15.s }, z8.s[3]
1497// CHECK-ENCODING: [0x87,0xed,0x58,0xc1]
1498// CHECK-ERROR: instruction requires: sme2
1499// CHECK-UNKNOWN: c158ed87 <unknown>
1500
1501fmla    za.s[w11, 7, vgx4], {z28.s - z31.s}, z15.s[3]  // 11000001-01011111-11101111-10000111
1502// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z28.s - z31.s }, z15.s[3]
1503// CHECK-ENCODING: [0x87,0xef,0x5f,0xc1]
1504// CHECK-ERROR: instruction requires: sme2
1505// CHECK-UNKNOWN: c15fef87 <unknown>
1506
1507fmla    za.s[w11, 7], {z28.s - z31.s}, z15.s[3]  // 11000001-01011111-11101111-10000111
1508// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z28.s - z31.s }, z15.s[3]
1509// CHECK-ENCODING: [0x87,0xef,0x5f,0xc1]
1510// CHECK-ERROR: instruction requires: sme2
1511// CHECK-UNKNOWN: c15fef87 <unknown>
1512
1513fmla    za.s[w8, 5, vgx4], {z16.s - z19.s}, z0.s[3]  // 11000001-01010000-10001110-00000101
1514// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z16.s - z19.s }, z0.s[3]
1515// CHECK-ENCODING: [0x05,0x8e,0x50,0xc1]
1516// CHECK-ERROR: instruction requires: sme2
1517// CHECK-UNKNOWN: c1508e05 <unknown>
1518
1519fmla    za.s[w8, 5], {z16.s - z19.s}, z0.s[3]  // 11000001-01010000-10001110-00000101
1520// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z16.s - z19.s }, z0.s[3]
1521// CHECK-ENCODING: [0x05,0x8e,0x50,0xc1]
1522// CHECK-ERROR: instruction requires: sme2
1523// CHECK-UNKNOWN: c1508e05 <unknown>
1524
1525fmla    za.s[w8, 1, vgx4], {z0.s - z3.s}, z14.s[1]  // 11000001-01011110-10000100-00000001
1526// CHECK-INST: fmla    za.s[w8, 1, vgx4], { z0.s - z3.s }, z14.s[1]
1527// CHECK-ENCODING: [0x01,0x84,0x5e,0xc1]
1528// CHECK-ERROR: instruction requires: sme2
1529// CHECK-UNKNOWN: c15e8401 <unknown>
1530
1531fmla    za.s[w8, 1], {z0.s - z3.s}, z14.s[1]  // 11000001-01011110-10000100-00000001
1532// CHECK-INST: fmla    za.s[w8, 1, vgx4], { z0.s - z3.s }, z14.s[1]
1533// CHECK-ENCODING: [0x01,0x84,0x5e,0xc1]
1534// CHECK-ERROR: instruction requires: sme2
1535// CHECK-UNKNOWN: c15e8401 <unknown>
1536
1537fmla    za.s[w10, 0, vgx4], {z16.s - z19.s}, z4.s[1]  // 11000001-01010100-11000110-00000000
1538// CHECK-INST: fmla    za.s[w10, 0, vgx4], { z16.s - z19.s }, z4.s[1]
1539// CHECK-ENCODING: [0x00,0xc6,0x54,0xc1]
1540// CHECK-ERROR: instruction requires: sme2
1541// CHECK-UNKNOWN: c154c600 <unknown>
1542
1543fmla    za.s[w10, 0], {z16.s - z19.s}, z4.s[1]  // 11000001-01010100-11000110-00000000
1544// CHECK-INST: fmla    za.s[w10, 0, vgx4], { z16.s - z19.s }, z4.s[1]
1545// CHECK-ENCODING: [0x00,0xc6,0x54,0xc1]
1546// CHECK-ERROR: instruction requires: sme2
1547// CHECK-UNKNOWN: c154c600 <unknown>
1548
1549fmla    za.s[w8, 0, vgx4], {z12.s - z15.s}, z2.s[2]  // 11000001-01010010-10001001-10000000
1550// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z12.s - z15.s }, z2.s[2]
1551// CHECK-ENCODING: [0x80,0x89,0x52,0xc1]
1552// CHECK-ERROR: instruction requires: sme2
1553// CHECK-UNKNOWN: c1528980 <unknown>
1554
1555fmla    za.s[w8, 0], {z12.s - z15.s}, z2.s[2]  // 11000001-01010010-10001001-10000000
1556// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z12.s - z15.s }, z2.s[2]
1557// CHECK-ENCODING: [0x80,0x89,0x52,0xc1]
1558// CHECK-ERROR: instruction requires: sme2
1559// CHECK-UNKNOWN: c1528980 <unknown>
1560
1561fmla    za.s[w10, 1, vgx4], {z0.s - z3.s}, z10.s[2]  // 11000001-01011010-11001000-00000001
1562// CHECK-INST: fmla    za.s[w10, 1, vgx4], { z0.s - z3.s }, z10.s[2]
1563// CHECK-ENCODING: [0x01,0xc8,0x5a,0xc1]
1564// CHECK-ERROR: instruction requires: sme2
1565// CHECK-UNKNOWN: c15ac801 <unknown>
1566
1567fmla    za.s[w10, 1], {z0.s - z3.s}, z10.s[2]  // 11000001-01011010-11001000-00000001
1568// CHECK-INST: fmla    za.s[w10, 1, vgx4], { z0.s - z3.s }, z10.s[2]
1569// CHECK-ENCODING: [0x01,0xc8,0x5a,0xc1]
1570// CHECK-ERROR: instruction requires: sme2
1571// CHECK-UNKNOWN: c15ac801 <unknown>
1572
1573fmla    za.s[w8, 5, vgx4], {z20.s - z23.s}, z14.s[2]  // 11000001-01011110-10001010-10000101
1574// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z20.s - z23.s }, z14.s[2]
1575// CHECK-ENCODING: [0x85,0x8a,0x5e,0xc1]
1576// CHECK-ERROR: instruction requires: sme2
1577// CHECK-UNKNOWN: c15e8a85 <unknown>
1578
1579fmla    za.s[w8, 5], {z20.s - z23.s}, z14.s[2]  // 11000001-01011110-10001010-10000101
1580// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z20.s - z23.s }, z14.s[2]
1581// CHECK-ENCODING: [0x85,0x8a,0x5e,0xc1]
1582// CHECK-ERROR: instruction requires: sme2
1583// CHECK-UNKNOWN: c15e8a85 <unknown>
1584
1585fmla    za.s[w11, 2, vgx4], {z8.s - z11.s}, z1.s[1]  // 11000001-01010001-11100101-00000010
1586// CHECK-INST: fmla    za.s[w11, 2, vgx4], { z8.s - z11.s }, z1.s[1]
1587// CHECK-ENCODING: [0x02,0xe5,0x51,0xc1]
1588// CHECK-ERROR: instruction requires: sme2
1589// CHECK-UNKNOWN: c151e502 <unknown>
1590
1591fmla    za.s[w11, 2], {z8.s - z11.s}, z1.s[1]  // 11000001-01010001-11100101-00000010
1592// CHECK-INST: fmla    za.s[w11, 2, vgx4], { z8.s - z11.s }, z1.s[1]
1593// CHECK-ENCODING: [0x02,0xe5,0x51,0xc1]
1594// CHECK-ERROR: instruction requires: sme2
1595// CHECK-UNKNOWN: c151e502 <unknown>
1596
1597fmla    za.s[w9, 7, vgx4], {z12.s - z15.s}, z11.s[2]  // 11000001-01011011-10101001-10000111
1598// CHECK-INST: fmla    za.s[w9, 7, vgx4], { z12.s - z15.s }, z11.s[2]
1599// CHECK-ENCODING: [0x87,0xa9,0x5b,0xc1]
1600// CHECK-ERROR: instruction requires: sme2
1601// CHECK-UNKNOWN: c15ba987 <unknown>
1602
1603fmla    za.s[w9, 7], {z12.s - z15.s}, z11.s[2]  // 11000001-01011011-10101001-10000111
1604// CHECK-INST: fmla    za.s[w9, 7, vgx4], { z12.s - z15.s }, z11.s[2]
1605// CHECK-ENCODING: [0x87,0xa9,0x5b,0xc1]
1606// CHECK-ERROR: instruction requires: sme2
1607// CHECK-UNKNOWN: c15ba987 <unknown>
1608
1609
1610fmla    za.s[w8, 0, vgx4], {z0.s - z3.s}, {z0.s - z3.s}  // 11000001-10100001-00011000-00000000
1611// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z0.s - z3.s }, { z0.s - z3.s }
1612// CHECK-ENCODING: [0x00,0x18,0xa1,0xc1]
1613// CHECK-ERROR: instruction requires: sme2
1614// CHECK-UNKNOWN: c1a11800 <unknown>
1615
1616fmla    za.s[w8, 0], {z0.s - z3.s}, {z0.s - z3.s}  // 11000001-10100001-00011000-00000000
1617// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z0.s - z3.s }, { z0.s - z3.s }
1618// CHECK-ENCODING: [0x00,0x18,0xa1,0xc1]
1619// CHECK-ERROR: instruction requires: sme2
1620// CHECK-UNKNOWN: c1a11800 <unknown>
1621
1622fmla    za.s[w10, 5, vgx4], {z8.s - z11.s}, {z20.s - z23.s}  // 11000001-10110101-01011001-00000101
1623// CHECK-INST: fmla    za.s[w10, 5, vgx4], { z8.s - z11.s }, { z20.s - z23.s }
1624// CHECK-ENCODING: [0x05,0x59,0xb5,0xc1]
1625// CHECK-ERROR: instruction requires: sme2
1626// CHECK-UNKNOWN: c1b55905 <unknown>
1627
1628fmla    za.s[w10, 5], {z8.s - z11.s}, {z20.s - z23.s}  // 11000001-10110101-01011001-00000101
1629// CHECK-INST: fmla    za.s[w10, 5, vgx4], { z8.s - z11.s }, { z20.s - z23.s }
1630// CHECK-ENCODING: [0x05,0x59,0xb5,0xc1]
1631// CHECK-ERROR: instruction requires: sme2
1632// CHECK-UNKNOWN: c1b55905 <unknown>
1633
1634fmla    za.s[w11, 7, vgx4], {z12.s - z15.s}, {z8.s - z11.s}  // 11000001-10101001-01111001-10000111
1635// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z12.s - z15.s }, { z8.s - z11.s }
1636// CHECK-ENCODING: [0x87,0x79,0xa9,0xc1]
1637// CHECK-ERROR: instruction requires: sme2
1638// CHECK-UNKNOWN: c1a97987 <unknown>
1639
1640fmla    za.s[w11, 7], {z12.s - z15.s}, {z8.s - z11.s}  // 11000001-10101001-01111001-10000111
1641// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z12.s - z15.s }, { z8.s - z11.s }
1642// CHECK-ENCODING: [0x87,0x79,0xa9,0xc1]
1643// CHECK-ERROR: instruction requires: sme2
1644// CHECK-UNKNOWN: c1a97987 <unknown>
1645
1646fmla    za.s[w11, 7, vgx4], {z28.s - z31.s}, {z28.s - z31.s}  // 11000001-10111101-01111011-10000111
1647// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z28.s - z31.s }, { z28.s - z31.s }
1648// CHECK-ENCODING: [0x87,0x7b,0xbd,0xc1]
1649// CHECK-ERROR: instruction requires: sme2
1650// CHECK-UNKNOWN: c1bd7b87 <unknown>
1651
1652fmla    za.s[w11, 7], {z28.s - z31.s}, {z28.s - z31.s}  // 11000001-10111101-01111011-10000111
1653// CHECK-INST: fmla    za.s[w11, 7, vgx4], { z28.s - z31.s }, { z28.s - z31.s }
1654// CHECK-ENCODING: [0x87,0x7b,0xbd,0xc1]
1655// CHECK-ERROR: instruction requires: sme2
1656// CHECK-UNKNOWN: c1bd7b87 <unknown>
1657
1658fmla    za.s[w8, 5, vgx4], {z16.s - z19.s}, {z16.s - z19.s}  // 11000001-10110001-00011010-00000101
1659// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z16.s - z19.s }, { z16.s - z19.s }
1660// CHECK-ENCODING: [0x05,0x1a,0xb1,0xc1]
1661// CHECK-ERROR: instruction requires: sme2
1662// CHECK-UNKNOWN: c1b11a05 <unknown>
1663
1664fmla    za.s[w8, 5], {z16.s - z19.s}, {z16.s - z19.s}  // 11000001-10110001-00011010-00000101
1665// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z16.s - z19.s }, { z16.s - z19.s }
1666// CHECK-ENCODING: [0x05,0x1a,0xb1,0xc1]
1667// CHECK-ERROR: instruction requires: sme2
1668// CHECK-UNKNOWN: c1b11a05 <unknown>
1669
1670fmla    za.s[w8, 1, vgx4], {z0.s - z3.s}, {z28.s - z31.s}  // 11000001-10111101-00011000-00000001
1671// CHECK-INST: fmla    za.s[w8, 1, vgx4], { z0.s - z3.s }, { z28.s - z31.s }
1672// CHECK-ENCODING: [0x01,0x18,0xbd,0xc1]
1673// CHECK-ERROR: instruction requires: sme2
1674// CHECK-UNKNOWN: c1bd1801 <unknown>
1675
1676fmla    za.s[w8, 1], {z0.s - z3.s}, {z28.s - z31.s}  // 11000001-10111101-00011000-00000001
1677// CHECK-INST: fmla    za.s[w8, 1, vgx4], { z0.s - z3.s }, { z28.s - z31.s }
1678// CHECK-ENCODING: [0x01,0x18,0xbd,0xc1]
1679// CHECK-ERROR: instruction requires: sme2
1680// CHECK-UNKNOWN: c1bd1801 <unknown>
1681
1682fmla    za.s[w10, 0, vgx4], {z16.s - z19.s}, {z20.s - z23.s}  // 11000001-10110101-01011010-00000000
1683// CHECK-INST: fmla    za.s[w10, 0, vgx4], { z16.s - z19.s }, { z20.s - z23.s }
1684// CHECK-ENCODING: [0x00,0x5a,0xb5,0xc1]
1685// CHECK-ERROR: instruction requires: sme2
1686// CHECK-UNKNOWN: c1b55a00 <unknown>
1687
1688fmla    za.s[w10, 0], {z16.s - z19.s}, {z20.s - z23.s}  // 11000001-10110101-01011010-00000000
1689// CHECK-INST: fmla    za.s[w10, 0, vgx4], { z16.s - z19.s }, { z20.s - z23.s }
1690// CHECK-ENCODING: [0x00,0x5a,0xb5,0xc1]
1691// CHECK-ERROR: instruction requires: sme2
1692// CHECK-UNKNOWN: c1b55a00 <unknown>
1693
1694fmla    za.s[w8, 0, vgx4], {z12.s - z15.s}, {z0.s - z3.s}  // 11000001-10100001-00011001-10000000
1695// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z12.s - z15.s }, { z0.s - z3.s }
1696// CHECK-ENCODING: [0x80,0x19,0xa1,0xc1]
1697// CHECK-ERROR: instruction requires: sme2
1698// CHECK-UNKNOWN: c1a11980 <unknown>
1699
1700fmla    za.s[w8, 0], {z12.s - z15.s}, {z0.s - z3.s}  // 11000001-10100001-00011001-10000000
1701// CHECK-INST: fmla    za.s[w8, 0, vgx4], { z12.s - z15.s }, { z0.s - z3.s }
1702// CHECK-ENCODING: [0x80,0x19,0xa1,0xc1]
1703// CHECK-ERROR: instruction requires: sme2
1704// CHECK-UNKNOWN: c1a11980 <unknown>
1705
1706fmla    za.s[w10, 1, vgx4], {z0.s - z3.s}, {z24.s - z27.s}  // 11000001-10111001-01011000-00000001
1707// CHECK-INST: fmla    za.s[w10, 1, vgx4], { z0.s - z3.s }, { z24.s - z27.s }
1708// CHECK-ENCODING: [0x01,0x58,0xb9,0xc1]
1709// CHECK-ERROR: instruction requires: sme2
1710// CHECK-UNKNOWN: c1b95801 <unknown>
1711
1712fmla    za.s[w10, 1], {z0.s - z3.s}, {z24.s - z27.s}  // 11000001-10111001-01011000-00000001
1713// CHECK-INST: fmla    za.s[w10, 1, vgx4], { z0.s - z3.s }, { z24.s - z27.s }
1714// CHECK-ENCODING: [0x01,0x58,0xb9,0xc1]
1715// CHECK-ERROR: instruction requires: sme2
1716// CHECK-UNKNOWN: c1b95801 <unknown>
1717
1718fmla    za.s[w8, 5, vgx4], {z20.s - z23.s}, {z28.s - z31.s}  // 11000001-10111101-00011010-10000101
1719// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z20.s - z23.s }, { z28.s - z31.s }
1720// CHECK-ENCODING: [0x85,0x1a,0xbd,0xc1]
1721// CHECK-ERROR: instruction requires: sme2
1722// CHECK-UNKNOWN: c1bd1a85 <unknown>
1723
1724fmla    za.s[w8, 5], {z20.s - z23.s}, {z28.s - z31.s}  // 11000001-10111101-00011010-10000101
1725// CHECK-INST: fmla    za.s[w8, 5, vgx4], { z20.s - z23.s }, { z28.s - z31.s }
1726// CHECK-ENCODING: [0x85,0x1a,0xbd,0xc1]
1727// CHECK-ERROR: instruction requires: sme2
1728// CHECK-UNKNOWN: c1bd1a85 <unknown>
1729
1730fmla    za.s[w11, 2, vgx4], {z8.s - z11.s}, {z0.s - z3.s}  // 11000001-10100001-01111001-00000010
1731// CHECK-INST: fmla    za.s[w11, 2, vgx4], { z8.s - z11.s }, { z0.s - z3.s }
1732// CHECK-ENCODING: [0x02,0x79,0xa1,0xc1]
1733// CHECK-ERROR: instruction requires: sme2
1734// CHECK-UNKNOWN: c1a17902 <unknown>
1735
1736fmla    za.s[w11, 2], {z8.s - z11.s}, {z0.s - z3.s}  // 11000001-10100001-01111001-00000010
1737// CHECK-INST: fmla    za.s[w11, 2, vgx4], { z8.s - z11.s }, { z0.s - z3.s }
1738// CHECK-ENCODING: [0x02,0x79,0xa1,0xc1]
1739// CHECK-ERROR: instruction requires: sme2
1740// CHECK-UNKNOWN: c1a17902 <unknown>
1741
1742fmla    za.s[w9, 7, vgx4], {z12.s - z15.s}, {z8.s - z11.s}  // 11000001-10101001-00111001-10000111
1743// CHECK-INST: fmla    za.s[w9, 7, vgx4], { z12.s - z15.s }, { z8.s - z11.s }
1744// CHECK-ENCODING: [0x87,0x39,0xa9,0xc1]
1745// CHECK-ERROR: instruction requires: sme2
1746// CHECK-UNKNOWN: c1a93987 <unknown>
1747
1748fmla    za.s[w9, 7], {z12.s - z15.s}, {z8.s - z11.s}  // 11000001-10101001-00111001-10000111
1749// CHECK-INST: fmla    za.s[w9, 7, vgx4], { z12.s - z15.s }, { z8.s - z11.s }
1750// CHECK-ENCODING: [0x87,0x39,0xa9,0xc1]
1751// CHECK-ERROR: instruction requires: sme2
1752// CHECK-UNKNOWN: c1a93987 <unknown>
1753
1754