xref: /llvm-project/llvm/test/MC/AArch64/SME2/fadd.s (revision 5d67b051e29c2bde42a5004634296b88542c096a)
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
15fadd    za.d[w8, 0, vgx2], {z0.d, z1.d}  // 11000001-11100000-00011100-00000000
16// CHECK-INST: fadd    za.d[w8, 0, vgx2], { z0.d, z1.d }
17// CHECK-ENCODING: [0x00,0x1c,0xe0,0xc1]
18// CHECK-ERROR: instruction requires: sme2 sme-f64f64
19// CHECK-UNKNOWN: c1e01c00 <unknown>
20
21fadd    za.d[w8, 0], {z0.d, z1.d}  // 11000001-11100000-00011100-00000000
22// CHECK-INST: fadd    za.d[w8, 0, vgx2], { z0.d, z1.d }
23// CHECK-ENCODING: [0x00,0x1c,0xe0,0xc1]
24// CHECK-ERROR: instruction requires: sme2 sme-f64f64
25// CHECK-UNKNOWN: c1e01c00 <unknown>
26
27fadd    za.d[w10, 5, vgx2], {z10.d, z11.d}  // 11000001-11100000-01011101-01000101
28// CHECK-INST: fadd    za.d[w10, 5, vgx2], { z10.d, z11.d }
29// CHECK-ENCODING: [0x45,0x5d,0xe0,0xc1]
30// CHECK-ERROR: instruction requires: sme2 sme-f64f64
31// CHECK-UNKNOWN: c1e05d45 <unknown>
32
33fadd    za.d[w10, 5], {z10.d, z11.d}  // 11000001-11100000-01011101-01000101
34// CHECK-INST: fadd    za.d[w10, 5, vgx2], { z10.d, z11.d }
35// CHECK-ENCODING: [0x45,0x5d,0xe0,0xc1]
36// CHECK-ERROR: instruction requires: sme2 sme-f64f64
37// CHECK-UNKNOWN: c1e05d45 <unknown>
38
39fadd    za.d[w11, 7, vgx2], {z12.d, z13.d}  // 11000001-11100000-01111101-10000111
40// CHECK-INST: fadd    za.d[w11, 7, vgx2], { z12.d, z13.d }
41// CHECK-ENCODING: [0x87,0x7d,0xe0,0xc1]
42// CHECK-ERROR: instruction requires: sme2 sme-f64f64
43// CHECK-UNKNOWN: c1e07d87 <unknown>
44
45fadd    za.d[w11, 7], {z12.d, z13.d}  // 11000001-11100000-01111101-10000111
46// CHECK-INST: fadd    za.d[w11, 7, vgx2], { z12.d, z13.d }
47// CHECK-ENCODING: [0x87,0x7d,0xe0,0xc1]
48// CHECK-ERROR: instruction requires: sme2 sme-f64f64
49// CHECK-UNKNOWN: c1e07d87 <unknown>
50
51fadd    za.d[w11, 7, vgx2], {z30.d, z31.d}  // 11000001-11100000-01111111-11000111
52// CHECK-INST: fadd    za.d[w11, 7, vgx2], { z30.d, z31.d }
53// CHECK-ENCODING: [0xc7,0x7f,0xe0,0xc1]
54// CHECK-ERROR: instruction requires: sme2 sme-f64f64
55// CHECK-UNKNOWN: c1e07fc7 <unknown>
56
57fadd    za.d[w11, 7], {z30.d, z31.d}  // 11000001-11100000-01111111-11000111
58// CHECK-INST: fadd    za.d[w11, 7, vgx2], { z30.d, z31.d }
59// CHECK-ENCODING: [0xc7,0x7f,0xe0,0xc1]
60// CHECK-ERROR: instruction requires: sme2 sme-f64f64
61// CHECK-UNKNOWN: c1e07fc7 <unknown>
62
63fadd    za.d[w8, 5, vgx2], {z16.d, z17.d}  // 11000001-11100000-00011110-00000101
64// CHECK-INST: fadd    za.d[w8, 5, vgx2], { z16.d, z17.d }
65// CHECK-ENCODING: [0x05,0x1e,0xe0,0xc1]
66// CHECK-ERROR: instruction requires: sme2 sme-f64f64
67// CHECK-UNKNOWN: c1e01e05 <unknown>
68
69fadd    za.d[w8, 5], {z16.d, z17.d}  // 11000001-11100000-00011110-00000101
70// CHECK-INST: fadd    za.d[w8, 5, vgx2], { z16.d, z17.d }
71// CHECK-ENCODING: [0x05,0x1e,0xe0,0xc1]
72// CHECK-ERROR: instruction requires: sme2 sme-f64f64
73// CHECK-UNKNOWN: c1e01e05 <unknown>
74
75fadd    za.d[w8, 1, vgx2], {z0.d, z1.d}  // 11000001-11100000-00011100-00000001
76// CHECK-INST: fadd    za.d[w8, 1, vgx2], { z0.d, z1.d }
77// CHECK-ENCODING: [0x01,0x1c,0xe0,0xc1]
78// CHECK-ERROR: instruction requires: sme2 sme-f64f64
79// CHECK-UNKNOWN: c1e01c01 <unknown>
80
81fadd    za.d[w8, 1], {z0.d, z1.d}  // 11000001-11100000-00011100-00000001
82// CHECK-INST: fadd    za.d[w8, 1, vgx2], { z0.d, z1.d }
83// CHECK-ENCODING: [0x01,0x1c,0xe0,0xc1]
84// CHECK-ERROR: instruction requires: sme2 sme-f64f64
85// CHECK-UNKNOWN: c1e01c01 <unknown>
86
87fadd    za.d[w10, 0, vgx2], {z18.d, z19.d}  // 11000001-11100000-01011110-01000000
88// CHECK-INST: fadd    za.d[w10, 0, vgx2], { z18.d, z19.d }
89// CHECK-ENCODING: [0x40,0x5e,0xe0,0xc1]
90// CHECK-ERROR: instruction requires: sme2 sme-f64f64
91// CHECK-UNKNOWN: c1e05e40 <unknown>
92
93fadd    za.d[w10, 0], {z18.d, z19.d}  // 11000001-11100000-01011110-01000000
94// CHECK-INST: fadd    za.d[w10, 0, vgx2], { z18.d, z19.d }
95// CHECK-ENCODING: [0x40,0x5e,0xe0,0xc1]
96// CHECK-ERROR: instruction requires: sme2 sme-f64f64
97// CHECK-UNKNOWN: c1e05e40 <unknown>
98
99fadd    za.d[w8, 0, vgx2], {z12.d, z13.d}  // 11000001-11100000-00011101-10000000
100// CHECK-INST: fadd    za.d[w8, 0, vgx2], { z12.d, z13.d }
101// CHECK-ENCODING: [0x80,0x1d,0xe0,0xc1]
102// CHECK-ERROR: instruction requires: sme2 sme-f64f64
103// CHECK-UNKNOWN: c1e01d80 <unknown>
104
105fadd    za.d[w8, 0], {z12.d, z13.d}  // 11000001-11100000-00011101-10000000
106// CHECK-INST: fadd    za.d[w8, 0, vgx2], { z12.d, z13.d }
107// CHECK-ENCODING: [0x80,0x1d,0xe0,0xc1]
108// CHECK-ERROR: instruction requires: sme2 sme-f64f64
109// CHECK-UNKNOWN: c1e01d80 <unknown>
110
111fadd    za.d[w10, 1, vgx2], {z0.d, z1.d}  // 11000001-11100000-01011100-00000001
112// CHECK-INST: fadd    za.d[w10, 1, vgx2], { z0.d, z1.d }
113// CHECK-ENCODING: [0x01,0x5c,0xe0,0xc1]
114// CHECK-ERROR: instruction requires: sme2 sme-f64f64
115// CHECK-UNKNOWN: c1e05c01 <unknown>
116
117fadd    za.d[w10, 1], {z0.d, z1.d}  // 11000001-11100000-01011100-00000001
118// CHECK-INST: fadd    za.d[w10, 1, vgx2], { z0.d, z1.d }
119// CHECK-ENCODING: [0x01,0x5c,0xe0,0xc1]
120// CHECK-ERROR: instruction requires: sme2 sme-f64f64
121// CHECK-UNKNOWN: c1e05c01 <unknown>
122
123fadd    za.d[w8, 5, vgx2], {z22.d, z23.d}  // 11000001-11100000-00011110-11000101
124// CHECK-INST: fadd    za.d[w8, 5, vgx2], { z22.d, z23.d }
125// CHECK-ENCODING: [0xc5,0x1e,0xe0,0xc1]
126// CHECK-ERROR: instruction requires: sme2 sme-f64f64
127// CHECK-UNKNOWN: c1e01ec5 <unknown>
128
129fadd    za.d[w8, 5], {z22.d, z23.d}  // 11000001-11100000-00011110-11000101
130// CHECK-INST: fadd    za.d[w8, 5, vgx2], { z22.d, z23.d }
131// CHECK-ENCODING: [0xc5,0x1e,0xe0,0xc1]
132// CHECK-ERROR: instruction requires: sme2 sme-f64f64
133// CHECK-UNKNOWN: c1e01ec5 <unknown>
134
135fadd    za.d[w11, 2, vgx2], {z8.d, z9.d}  // 11000001-11100000-01111101-00000010
136// CHECK-INST: fadd    za.d[w11, 2, vgx2], { z8.d, z9.d }
137// CHECK-ENCODING: [0x02,0x7d,0xe0,0xc1]
138// CHECK-ERROR: instruction requires: sme2 sme-f64f64
139// CHECK-UNKNOWN: c1e07d02 <unknown>
140
141fadd    za.d[w11, 2], {z8.d, z9.d}  // 11000001-11100000-01111101-00000010
142// CHECK-INST: fadd    za.d[w11, 2, vgx2], { z8.d, z9.d }
143// CHECK-ENCODING: [0x02,0x7d,0xe0,0xc1]
144// CHECK-ERROR: instruction requires: sme2 sme-f64f64
145// CHECK-UNKNOWN: c1e07d02 <unknown>
146
147fadd    za.d[w9, 7, vgx2], {z12.d, z13.d}  // 11000001-11100000-00111101-10000111
148// CHECK-INST: fadd    za.d[w9, 7, vgx2], { z12.d, z13.d }
149// CHECK-ENCODING: [0x87,0x3d,0xe0,0xc1]
150// CHECK-ERROR: instruction requires: sme2 sme-f64f64
151// CHECK-UNKNOWN: c1e03d87 <unknown>
152
153fadd    za.d[w9, 7], {z12.d, z13.d}  // 11000001-11100000-00111101-10000111
154// CHECK-INST: fadd    za.d[w9, 7, vgx2], { z12.d, z13.d }
155// CHECK-ENCODING: [0x87,0x3d,0xe0,0xc1]
156// CHECK-ERROR: instruction requires: sme2 sme-f64f64
157// CHECK-UNKNOWN: c1e03d87 <unknown>
158
159
160fadd    za.s[w8, 0, vgx2], {z0.s, z1.s}  // 11000001-10100000-00011100-00000000
161// CHECK-INST: fadd    za.s[w8, 0, vgx2], { z0.s, z1.s }
162// CHECK-ENCODING: [0x00,0x1c,0xa0,0xc1]
163// CHECK-ERROR: instruction requires: sme2
164// CHECK-UNKNOWN: c1a01c00 <unknown>
165
166fadd    za.s[w8, 0], {z0.s, z1.s}  // 11000001-10100000-00011100-00000000
167// CHECK-INST: fadd    za.s[w8, 0, vgx2], { z0.s, z1.s }
168// CHECK-ENCODING: [0x00,0x1c,0xa0,0xc1]
169// CHECK-ERROR: instruction requires: sme2
170// CHECK-UNKNOWN: c1a01c00 <unknown>
171
172fadd    za.s[w10, 5, vgx2], {z10.s, z11.s}  // 11000001-10100000-01011101-01000101
173// CHECK-INST: fadd    za.s[w10, 5, vgx2], { z10.s, z11.s }
174// CHECK-ENCODING: [0x45,0x5d,0xa0,0xc1]
175// CHECK-ERROR: instruction requires: sme2
176// CHECK-UNKNOWN: c1a05d45 <unknown>
177
178fadd    za.s[w10, 5], {z10.s, z11.s}  // 11000001-10100000-01011101-01000101
179// CHECK-INST: fadd    za.s[w10, 5, vgx2], { z10.s, z11.s }
180// CHECK-ENCODING: [0x45,0x5d,0xa0,0xc1]
181// CHECK-ERROR: instruction requires: sme2
182// CHECK-UNKNOWN: c1a05d45 <unknown>
183
184fadd    za.s[w11, 7, vgx2], {z12.s, z13.s}  // 11000001-10100000-01111101-10000111
185// CHECK-INST: fadd    za.s[w11, 7, vgx2], { z12.s, z13.s }
186// CHECK-ENCODING: [0x87,0x7d,0xa0,0xc1]
187// CHECK-ERROR: instruction requires: sme2
188// CHECK-UNKNOWN: c1a07d87 <unknown>
189
190fadd    za.s[w11, 7], {z12.s, z13.s}  // 11000001-10100000-01111101-10000111
191// CHECK-INST: fadd    za.s[w11, 7, vgx2], { z12.s, z13.s }
192// CHECK-ENCODING: [0x87,0x7d,0xa0,0xc1]
193// CHECK-ERROR: instruction requires: sme2
194// CHECK-UNKNOWN: c1a07d87 <unknown>
195
196fadd    za.s[w11, 7, vgx2], {z30.s, z31.s}  // 11000001-10100000-01111111-11000111
197// CHECK-INST: fadd    za.s[w11, 7, vgx2], { z30.s, z31.s }
198// CHECK-ENCODING: [0xc7,0x7f,0xa0,0xc1]
199// CHECK-ERROR: instruction requires: sme2
200// CHECK-UNKNOWN: c1a07fc7 <unknown>
201
202fadd    za.s[w11, 7], {z30.s, z31.s}  // 11000001-10100000-01111111-11000111
203// CHECK-INST: fadd    za.s[w11, 7, vgx2], { z30.s, z31.s }
204// CHECK-ENCODING: [0xc7,0x7f,0xa0,0xc1]
205// CHECK-ERROR: instruction requires: sme2
206// CHECK-UNKNOWN: c1a07fc7 <unknown>
207
208fadd    za.s[w8, 5, vgx2], {z16.s, z17.s}  // 11000001-10100000-00011110-00000101
209// CHECK-INST: fadd    za.s[w8, 5, vgx2], { z16.s, z17.s }
210// CHECK-ENCODING: [0x05,0x1e,0xa0,0xc1]
211// CHECK-ERROR: instruction requires: sme2
212// CHECK-UNKNOWN: c1a01e05 <unknown>
213
214fadd    za.s[w8, 5], {z16.s, z17.s}  // 11000001-10100000-00011110-00000101
215// CHECK-INST: fadd    za.s[w8, 5, vgx2], { z16.s, z17.s }
216// CHECK-ENCODING: [0x05,0x1e,0xa0,0xc1]
217// CHECK-ERROR: instruction requires: sme2
218// CHECK-UNKNOWN: c1a01e05 <unknown>
219
220fadd    za.s[w8, 1, vgx2], {z0.s, z1.s}  // 11000001-10100000-00011100-00000001
221// CHECK-INST: fadd    za.s[w8, 1, vgx2], { z0.s, z1.s }
222// CHECK-ENCODING: [0x01,0x1c,0xa0,0xc1]
223// CHECK-ERROR: instruction requires: sme2
224// CHECK-UNKNOWN: c1a01c01 <unknown>
225
226fadd    za.s[w8, 1], {z0.s, z1.s}  // 11000001-10100000-00011100-00000001
227// CHECK-INST: fadd    za.s[w8, 1, vgx2], { z0.s, z1.s }
228// CHECK-ENCODING: [0x01,0x1c,0xa0,0xc1]
229// CHECK-ERROR: instruction requires: sme2
230// CHECK-UNKNOWN: c1a01c01 <unknown>
231
232fadd    za.s[w10, 0, vgx2], {z18.s, z19.s}  // 11000001-10100000-01011110-01000000
233// CHECK-INST: fadd    za.s[w10, 0, vgx2], { z18.s, z19.s }
234// CHECK-ENCODING: [0x40,0x5e,0xa0,0xc1]
235// CHECK-ERROR: instruction requires: sme2
236// CHECK-UNKNOWN: c1a05e40 <unknown>
237
238fadd    za.s[w10, 0], {z18.s, z19.s}  // 11000001-10100000-01011110-01000000
239// CHECK-INST: fadd    za.s[w10, 0, vgx2], { z18.s, z19.s }
240// CHECK-ENCODING: [0x40,0x5e,0xa0,0xc1]
241// CHECK-ERROR: instruction requires: sme2
242// CHECK-UNKNOWN: c1a05e40 <unknown>
243
244fadd    za.s[w8, 0, vgx2], {z12.s, z13.s}  // 11000001-10100000-00011101-10000000
245// CHECK-INST: fadd    za.s[w8, 0, vgx2], { z12.s, z13.s }
246// CHECK-ENCODING: [0x80,0x1d,0xa0,0xc1]
247// CHECK-ERROR: instruction requires: sme2
248// CHECK-UNKNOWN: c1a01d80 <unknown>
249
250fadd    za.s[w8, 0], {z12.s, z13.s}  // 11000001-10100000-00011101-10000000
251// CHECK-INST: fadd    za.s[w8, 0, vgx2], { z12.s, z13.s }
252// CHECK-ENCODING: [0x80,0x1d,0xa0,0xc1]
253// CHECK-ERROR: instruction requires: sme2
254// CHECK-UNKNOWN: c1a01d80 <unknown>
255
256fadd    za.s[w10, 1, vgx2], {z0.s, z1.s}  // 11000001-10100000-01011100-00000001
257// CHECK-INST: fadd    za.s[w10, 1, vgx2], { z0.s, z1.s }
258// CHECK-ENCODING: [0x01,0x5c,0xa0,0xc1]
259// CHECK-ERROR: instruction requires: sme2
260// CHECK-UNKNOWN: c1a05c01 <unknown>
261
262fadd    za.s[w10, 1], {z0.s, z1.s}  // 11000001-10100000-01011100-00000001
263// CHECK-INST: fadd    za.s[w10, 1, vgx2], { z0.s, z1.s }
264// CHECK-ENCODING: [0x01,0x5c,0xa0,0xc1]
265// CHECK-ERROR: instruction requires: sme2
266// CHECK-UNKNOWN: c1a05c01 <unknown>
267
268fadd    za.s[w8, 5, vgx2], {z22.s, z23.s}  // 11000001-10100000-00011110-11000101
269// CHECK-INST: fadd    za.s[w8, 5, vgx2], { z22.s, z23.s }
270// CHECK-ENCODING: [0xc5,0x1e,0xa0,0xc1]
271// CHECK-ERROR: instruction requires: sme2
272// CHECK-UNKNOWN: c1a01ec5 <unknown>
273
274fadd    za.s[w8, 5], {z22.s, z23.s}  // 11000001-10100000-00011110-11000101
275// CHECK-INST: fadd    za.s[w8, 5, vgx2], { z22.s, z23.s }
276// CHECK-ENCODING: [0xc5,0x1e,0xa0,0xc1]
277// CHECK-ERROR: instruction requires: sme2
278// CHECK-UNKNOWN: c1a01ec5 <unknown>
279
280fadd    za.s[w11, 2, vgx2], {z8.s, z9.s}  // 11000001-10100000-01111101-00000010
281// CHECK-INST: fadd    za.s[w11, 2, vgx2], { z8.s, z9.s }
282// CHECK-ENCODING: [0x02,0x7d,0xa0,0xc1]
283// CHECK-ERROR: instruction requires: sme2
284// CHECK-UNKNOWN: c1a07d02 <unknown>
285
286fadd    za.s[w11, 2], {z8.s, z9.s}  // 11000001-10100000-01111101-00000010
287// CHECK-INST: fadd    za.s[w11, 2, vgx2], { z8.s, z9.s }
288// CHECK-ENCODING: [0x02,0x7d,0xa0,0xc1]
289// CHECK-ERROR: instruction requires: sme2
290// CHECK-UNKNOWN: c1a07d02 <unknown>
291
292fadd    za.s[w9, 7, vgx2], {z12.s, z13.s}  // 11000001-10100000-00111101-10000111
293// CHECK-INST: fadd    za.s[w9, 7, vgx2], { z12.s, z13.s }
294// CHECK-ENCODING: [0x87,0x3d,0xa0,0xc1]
295// CHECK-ERROR: instruction requires: sme2
296// CHECK-UNKNOWN: c1a03d87 <unknown>
297
298fadd    za.s[w9, 7], {z12.s, z13.s}  // 11000001-10100000-00111101-10000111
299// CHECK-INST: fadd    za.s[w9, 7, vgx2], { z12.s, z13.s }
300// CHECK-ENCODING: [0x87,0x3d,0xa0,0xc1]
301// CHECK-ERROR: instruction requires: sme2
302// CHECK-UNKNOWN: c1a03d87 <unknown>
303
304
305fadd    za.d[w8, 0, vgx4], {z0.d - z3.d}  // 11000001-11100001-00011100-00000000
306// CHECK-INST: fadd    za.d[w8, 0, vgx4], { z0.d - z3.d }
307// CHECK-ENCODING: [0x00,0x1c,0xe1,0xc1]
308// CHECK-ERROR: instruction requires: sme2 sme-f64f64
309// CHECK-UNKNOWN: c1e11c00 <unknown>
310
311fadd    za.d[w8, 0], {z0.d - z3.d}  // 11000001-11100001-00011100-00000000
312// CHECK-INST: fadd    za.d[w8, 0, vgx4], { z0.d - z3.d }
313// CHECK-ENCODING: [0x00,0x1c,0xe1,0xc1]
314// CHECK-ERROR: instruction requires: sme2 sme-f64f64
315// CHECK-UNKNOWN: c1e11c00 <unknown>
316
317fadd    za.d[w10, 5, vgx4], {z8.d - z11.d}  // 11000001-11100001-01011101-00000101
318// CHECK-INST: fadd    za.d[w10, 5, vgx4], { z8.d - z11.d }
319// CHECK-ENCODING: [0x05,0x5d,0xe1,0xc1]
320// CHECK-ERROR: instruction requires: sme2 sme-f64f64
321// CHECK-UNKNOWN: c1e15d05 <unknown>
322
323fadd    za.d[w10, 5], {z8.d - z11.d}  // 11000001-11100001-01011101-00000101
324// CHECK-INST: fadd    za.d[w10, 5, vgx4], { z8.d - z11.d }
325// CHECK-ENCODING: [0x05,0x5d,0xe1,0xc1]
326// CHECK-ERROR: instruction requires: sme2 sme-f64f64
327// CHECK-UNKNOWN: c1e15d05 <unknown>
328
329fadd    za.d[w11, 7, vgx4], {z12.d - z15.d}  // 11000001-11100001-01111101-10000111
330// CHECK-INST: fadd    za.d[w11, 7, vgx4], { z12.d - z15.d }
331// CHECK-ENCODING: [0x87,0x7d,0xe1,0xc1]
332// CHECK-ERROR: instruction requires: sme2 sme-f64f64
333// CHECK-UNKNOWN: c1e17d87 <unknown>
334
335fadd    za.d[w11, 7], {z12.d - z15.d}  // 11000001-11100001-01111101-10000111
336// CHECK-INST: fadd    za.d[w11, 7, vgx4], { z12.d - z15.d }
337// CHECK-ENCODING: [0x87,0x7d,0xe1,0xc1]
338// CHECK-ERROR: instruction requires: sme2 sme-f64f64
339// CHECK-UNKNOWN: c1e17d87 <unknown>
340
341fadd    za.d[w11, 7, vgx4], {z28.d - z31.d}  // 11000001-11100001-01111111-10000111
342// CHECK-INST: fadd    za.d[w11, 7, vgx4], { z28.d - z31.d }
343// CHECK-ENCODING: [0x87,0x7f,0xe1,0xc1]
344// CHECK-ERROR: instruction requires: sme2 sme-f64f64
345// CHECK-UNKNOWN: c1e17f87 <unknown>
346
347fadd    za.d[w11, 7], {z28.d - z31.d}  // 11000001-11100001-01111111-10000111
348// CHECK-INST: fadd    za.d[w11, 7, vgx4], { z28.d - z31.d }
349// CHECK-ENCODING: [0x87,0x7f,0xe1,0xc1]
350// CHECK-ERROR: instruction requires: sme2 sme-f64f64
351// CHECK-UNKNOWN: c1e17f87 <unknown>
352
353fadd    za.d[w8, 5, vgx4], {z16.d - z19.d}  // 11000001-11100001-00011110-00000101
354// CHECK-INST: fadd    za.d[w8, 5, vgx4], { z16.d - z19.d }
355// CHECK-ENCODING: [0x05,0x1e,0xe1,0xc1]
356// CHECK-ERROR: instruction requires: sme2 sme-f64f64
357// CHECK-UNKNOWN: c1e11e05 <unknown>
358
359fadd    za.d[w8, 5], {z16.d - z19.d}  // 11000001-11100001-00011110-00000101
360// CHECK-INST: fadd    za.d[w8, 5, vgx4], { z16.d - z19.d }
361// CHECK-ENCODING: [0x05,0x1e,0xe1,0xc1]
362// CHECK-ERROR: instruction requires: sme2 sme-f64f64
363// CHECK-UNKNOWN: c1e11e05 <unknown>
364
365fadd    za.d[w8, 1, vgx4], {z0.d - z3.d}  // 11000001-11100001-00011100-00000001
366// CHECK-INST: fadd    za.d[w8, 1, vgx4], { z0.d - z3.d }
367// CHECK-ENCODING: [0x01,0x1c,0xe1,0xc1]
368// CHECK-ERROR: instruction requires: sme2 sme-f64f64
369// CHECK-UNKNOWN: c1e11c01 <unknown>
370
371fadd    za.d[w8, 1], {z0.d - z3.d}  // 11000001-11100001-00011100-00000001
372// CHECK-INST: fadd    za.d[w8, 1, vgx4], { z0.d - z3.d }
373// CHECK-ENCODING: [0x01,0x1c,0xe1,0xc1]
374// CHECK-ERROR: instruction requires: sme2 sme-f64f64
375// CHECK-UNKNOWN: c1e11c01 <unknown>
376
377fadd    za.d[w10, 0, vgx4], {z16.d - z19.d}  // 11000001-11100001-01011110-00000000
378// CHECK-INST: fadd    za.d[w10, 0, vgx4], { z16.d - z19.d }
379// CHECK-ENCODING: [0x00,0x5e,0xe1,0xc1]
380// CHECK-ERROR: instruction requires: sme2 sme-f64f64
381// CHECK-UNKNOWN: c1e15e00 <unknown>
382
383fadd    za.d[w10, 0], {z16.d - z19.d}  // 11000001-11100001-01011110-00000000
384// CHECK-INST: fadd    za.d[w10, 0, vgx4], { z16.d - z19.d }
385// CHECK-ENCODING: [0x00,0x5e,0xe1,0xc1]
386// CHECK-ERROR: instruction requires: sme2 sme-f64f64
387// CHECK-UNKNOWN: c1e15e00 <unknown>
388
389fadd    za.d[w8, 0, vgx4], {z12.d - z15.d}  // 11000001-11100001-00011101-10000000
390// CHECK-INST: fadd    za.d[w8, 0, vgx4], { z12.d - z15.d }
391// CHECK-ENCODING: [0x80,0x1d,0xe1,0xc1]
392// CHECK-ERROR: instruction requires: sme2 sme-f64f64
393// CHECK-UNKNOWN: c1e11d80 <unknown>
394
395fadd    za.d[w8, 0], {z12.d - z15.d}  // 11000001-11100001-00011101-10000000
396// CHECK-INST: fadd    za.d[w8, 0, vgx4], { z12.d - z15.d }
397// CHECK-ENCODING: [0x80,0x1d,0xe1,0xc1]
398// CHECK-ERROR: instruction requires: sme2 sme-f64f64
399// CHECK-UNKNOWN: c1e11d80 <unknown>
400
401fadd    za.d[w10, 1, vgx4], {z0.d - z3.d}  // 11000001-11100001-01011100-00000001
402// CHECK-INST: fadd    za.d[w10, 1, vgx4], { z0.d - z3.d }
403// CHECK-ENCODING: [0x01,0x5c,0xe1,0xc1]
404// CHECK-ERROR: instruction requires: sme2 sme-f64f64
405// CHECK-UNKNOWN: c1e15c01 <unknown>
406
407fadd    za.d[w10, 1], {z0.d - z3.d}  // 11000001-11100001-01011100-00000001
408// CHECK-INST: fadd    za.d[w10, 1, vgx4], { z0.d - z3.d }
409// CHECK-ENCODING: [0x01,0x5c,0xe1,0xc1]
410// CHECK-ERROR: instruction requires: sme2 sme-f64f64
411// CHECK-UNKNOWN: c1e15c01 <unknown>
412
413fadd    za.d[w8, 5, vgx4], {z20.d - z23.d}  // 11000001-11100001-00011110-10000101
414// CHECK-INST: fadd    za.d[w8, 5, vgx4], { z20.d - z23.d }
415// CHECK-ENCODING: [0x85,0x1e,0xe1,0xc1]
416// CHECK-ERROR: instruction requires: sme2 sme-f64f64
417// CHECK-UNKNOWN: c1e11e85 <unknown>
418
419fadd    za.d[w8, 5], {z20.d - z23.d}  // 11000001-11100001-00011110-10000101
420// CHECK-INST: fadd    za.d[w8, 5, vgx4], { z20.d - z23.d }
421// CHECK-ENCODING: [0x85,0x1e,0xe1,0xc1]
422// CHECK-ERROR: instruction requires: sme2 sme-f64f64
423// CHECK-UNKNOWN: c1e11e85 <unknown>
424
425fadd    za.d[w11, 2, vgx4], {z8.d - z11.d}  // 11000001-11100001-01111101-00000010
426// CHECK-INST: fadd    za.d[w11, 2, vgx4], { z8.d - z11.d }
427// CHECK-ENCODING: [0x02,0x7d,0xe1,0xc1]
428// CHECK-ERROR: instruction requires: sme2 sme-f64f64
429// CHECK-UNKNOWN: c1e17d02 <unknown>
430
431fadd    za.d[w11, 2], {z8.d - z11.d}  // 11000001-11100001-01111101-00000010
432// CHECK-INST: fadd    za.d[w11, 2, vgx4], { z8.d - z11.d }
433// CHECK-ENCODING: [0x02,0x7d,0xe1,0xc1]
434// CHECK-ERROR: instruction requires: sme2 sme-f64f64
435// CHECK-UNKNOWN: c1e17d02 <unknown>
436
437fadd    za.d[w9, 7, vgx4], {z12.d - z15.d}  // 11000001-11100001-00111101-10000111
438// CHECK-INST: fadd    za.d[w9, 7, vgx4], { z12.d - z15.d }
439// CHECK-ENCODING: [0x87,0x3d,0xe1,0xc1]
440// CHECK-ERROR: instruction requires: sme2 sme-f64f64
441// CHECK-UNKNOWN: c1e13d87 <unknown>
442
443fadd    za.d[w9, 7], {z12.d - z15.d}  // 11000001-11100001-00111101-10000111
444// CHECK-INST: fadd    za.d[w9, 7, vgx4], { z12.d - z15.d }
445// CHECK-ENCODING: [0x87,0x3d,0xe1,0xc1]
446// CHECK-ERROR: instruction requires: sme2 sme-f64f64
447// CHECK-UNKNOWN: c1e13d87 <unknown>
448
449
450fadd    za.s[w8, 0, vgx4], {z0.s - z3.s}  // 11000001-10100001-00011100-00000000
451// CHECK-INST: fadd    za.s[w8, 0, vgx4], { z0.s - z3.s }
452// CHECK-ENCODING: [0x00,0x1c,0xa1,0xc1]
453// CHECK-ERROR: instruction requires: sme2
454// CHECK-UNKNOWN: c1a11c00 <unknown>
455
456fadd    za.s[w8, 0], {z0.s - z3.s}  // 11000001-10100001-00011100-00000000
457// CHECK-INST: fadd    za.s[w8, 0, vgx4], { z0.s - z3.s }
458// CHECK-ENCODING: [0x00,0x1c,0xa1,0xc1]
459// CHECK-ERROR: instruction requires: sme2
460// CHECK-UNKNOWN: c1a11c00 <unknown>
461
462fadd    za.s[w10, 5, vgx4], {z8.s - z11.s}  // 11000001-10100001-01011101-00000101
463// CHECK-INST: fadd    za.s[w10, 5, vgx4], { z8.s - z11.s }
464// CHECK-ENCODING: [0x05,0x5d,0xa1,0xc1]
465// CHECK-ERROR: instruction requires: sme2
466// CHECK-UNKNOWN: c1a15d05 <unknown>
467
468fadd    za.s[w10, 5], {z8.s - z11.s}  // 11000001-10100001-01011101-00000101
469// CHECK-INST: fadd    za.s[w10, 5, vgx4], { z8.s - z11.s }
470// CHECK-ENCODING: [0x05,0x5d,0xa1,0xc1]
471// CHECK-ERROR: instruction requires: sme2
472// CHECK-UNKNOWN: c1a15d05 <unknown>
473
474fadd    za.s[w11, 7, vgx4], {z12.s - z15.s}  // 11000001-10100001-01111101-10000111
475// CHECK-INST: fadd    za.s[w11, 7, vgx4], { z12.s - z15.s }
476// CHECK-ENCODING: [0x87,0x7d,0xa1,0xc1]
477// CHECK-ERROR: instruction requires: sme2
478// CHECK-UNKNOWN: c1a17d87 <unknown>
479
480fadd    za.s[w11, 7], {z12.s - z15.s}  // 11000001-10100001-01111101-10000111
481// CHECK-INST: fadd    za.s[w11, 7, vgx4], { z12.s - z15.s }
482// CHECK-ENCODING: [0x87,0x7d,0xa1,0xc1]
483// CHECK-ERROR: instruction requires: sme2
484// CHECK-UNKNOWN: c1a17d87 <unknown>
485
486fadd    za.s[w11, 7, vgx4], {z28.s - z31.s}  // 11000001-10100001-01111111-10000111
487// CHECK-INST: fadd    za.s[w11, 7, vgx4], { z28.s - z31.s }
488// CHECK-ENCODING: [0x87,0x7f,0xa1,0xc1]
489// CHECK-ERROR: instruction requires: sme2
490// CHECK-UNKNOWN: c1a17f87 <unknown>
491
492fadd    za.s[w11, 7], {z28.s - z31.s}  // 11000001-10100001-01111111-10000111
493// CHECK-INST: fadd    za.s[w11, 7, vgx4], { z28.s - z31.s }
494// CHECK-ENCODING: [0x87,0x7f,0xa1,0xc1]
495// CHECK-ERROR: instruction requires: sme2
496// CHECK-UNKNOWN: c1a17f87 <unknown>
497
498fadd    za.s[w8, 5, vgx4], {z16.s - z19.s}  // 11000001-10100001-00011110-00000101
499// CHECK-INST: fadd    za.s[w8, 5, vgx4], { z16.s - z19.s }
500// CHECK-ENCODING: [0x05,0x1e,0xa1,0xc1]
501// CHECK-ERROR: instruction requires: sme2
502// CHECK-UNKNOWN: c1a11e05 <unknown>
503
504fadd    za.s[w8, 5], {z16.s - z19.s}  // 11000001-10100001-00011110-00000101
505// CHECK-INST: fadd    za.s[w8, 5, vgx4], { z16.s - z19.s }
506// CHECK-ENCODING: [0x05,0x1e,0xa1,0xc1]
507// CHECK-ERROR: instruction requires: sme2
508// CHECK-UNKNOWN: c1a11e05 <unknown>
509
510fadd    za.s[w8, 1, vgx4], {z0.s - z3.s}  // 11000001-10100001-00011100-00000001
511// CHECK-INST: fadd    za.s[w8, 1, vgx4], { z0.s - z3.s }
512// CHECK-ENCODING: [0x01,0x1c,0xa1,0xc1]
513// CHECK-ERROR: instruction requires: sme2
514// CHECK-UNKNOWN: c1a11c01 <unknown>
515
516fadd    za.s[w8, 1], {z0.s - z3.s}  // 11000001-10100001-00011100-00000001
517// CHECK-INST: fadd    za.s[w8, 1, vgx4], { z0.s - z3.s }
518// CHECK-ENCODING: [0x01,0x1c,0xa1,0xc1]
519// CHECK-ERROR: instruction requires: sme2
520// CHECK-UNKNOWN: c1a11c01 <unknown>
521
522fadd    za.s[w10, 0, vgx4], {z16.s - z19.s}  // 11000001-10100001-01011110-00000000
523// CHECK-INST: fadd    za.s[w10, 0, vgx4], { z16.s - z19.s }
524// CHECK-ENCODING: [0x00,0x5e,0xa1,0xc1]
525// CHECK-ERROR: instruction requires: sme2
526// CHECK-UNKNOWN: c1a15e00 <unknown>
527
528fadd    za.s[w10, 0], {z16.s - z19.s}  // 11000001-10100001-01011110-00000000
529// CHECK-INST: fadd    za.s[w10, 0, vgx4], { z16.s - z19.s }
530// CHECK-ENCODING: [0x00,0x5e,0xa1,0xc1]
531// CHECK-ERROR: instruction requires: sme2
532// CHECK-UNKNOWN: c1a15e00 <unknown>
533
534fadd    za.s[w8, 0, vgx4], {z12.s - z15.s}  // 11000001-10100001-00011101-10000000
535// CHECK-INST: fadd    za.s[w8, 0, vgx4], { z12.s - z15.s }
536// CHECK-ENCODING: [0x80,0x1d,0xa1,0xc1]
537// CHECK-ERROR: instruction requires: sme2
538// CHECK-UNKNOWN: c1a11d80 <unknown>
539
540fadd    za.s[w8, 0], {z12.s - z15.s}  // 11000001-10100001-00011101-10000000
541// CHECK-INST: fadd    za.s[w8, 0, vgx4], { z12.s - z15.s }
542// CHECK-ENCODING: [0x80,0x1d,0xa1,0xc1]
543// CHECK-ERROR: instruction requires: sme2
544// CHECK-UNKNOWN: c1a11d80 <unknown>
545
546fadd    za.s[w10, 1, vgx4], {z0.s - z3.s}  // 11000001-10100001-01011100-00000001
547// CHECK-INST: fadd    za.s[w10, 1, vgx4], { z0.s - z3.s }
548// CHECK-ENCODING: [0x01,0x5c,0xa1,0xc1]
549// CHECK-ERROR: instruction requires: sme2
550// CHECK-UNKNOWN: c1a15c01 <unknown>
551
552fadd    za.s[w10, 1], {z0.s - z3.s}  // 11000001-10100001-01011100-00000001
553// CHECK-INST: fadd    za.s[w10, 1, vgx4], { z0.s - z3.s }
554// CHECK-ENCODING: [0x01,0x5c,0xa1,0xc1]
555// CHECK-ERROR: instruction requires: sme2
556// CHECK-UNKNOWN: c1a15c01 <unknown>
557
558fadd    za.s[w8, 5, vgx4], {z20.s - z23.s}  // 11000001-10100001-00011110-10000101
559// CHECK-INST: fadd    za.s[w8, 5, vgx4], { z20.s - z23.s }
560// CHECK-ENCODING: [0x85,0x1e,0xa1,0xc1]
561// CHECK-ERROR: instruction requires: sme2
562// CHECK-UNKNOWN: c1a11e85 <unknown>
563
564fadd    za.s[w8, 5], {z20.s - z23.s}  // 11000001-10100001-00011110-10000101
565// CHECK-INST: fadd    za.s[w8, 5, vgx4], { z20.s - z23.s }
566// CHECK-ENCODING: [0x85,0x1e,0xa1,0xc1]
567// CHECK-ERROR: instruction requires: sme2
568// CHECK-UNKNOWN: c1a11e85 <unknown>
569
570fadd    za.s[w11, 2, vgx4], {z8.s - z11.s}  // 11000001-10100001-01111101-00000010
571// CHECK-INST: fadd    za.s[w11, 2, vgx4], { z8.s - z11.s }
572// CHECK-ENCODING: [0x02,0x7d,0xa1,0xc1]
573// CHECK-ERROR: instruction requires: sme2
574// CHECK-UNKNOWN: c1a17d02 <unknown>
575
576fadd    za.s[w11, 2], {z8.s - z11.s}  // 11000001-10100001-01111101-00000010
577// CHECK-INST: fadd    za.s[w11, 2, vgx4], { z8.s - z11.s }
578// CHECK-ENCODING: [0x02,0x7d,0xa1,0xc1]
579// CHECK-ERROR: instruction requires: sme2
580// CHECK-UNKNOWN: c1a17d02 <unknown>
581
582fadd    za.s[w9, 7, vgx4], {z12.s - z15.s}  // 11000001-10100001-00111101-10000111
583// CHECK-INST: fadd    za.s[w9, 7, vgx4], { z12.s - z15.s }
584// CHECK-ENCODING: [0x87,0x3d,0xa1,0xc1]
585// CHECK-ERROR: instruction requires: sme2
586// CHECK-UNKNOWN: c1a13d87 <unknown>
587
588fadd    za.s[w9, 7], {z12.s - z15.s}  // 11000001-10100001-00111101-10000111
589// CHECK-INST: fadd    za.s[w9, 7, vgx4], { z12.s - z15.s }
590// CHECK-ENCODING: [0x87,0x3d,0xa1,0xc1]
591// CHECK-ERROR: instruction requires: sme2
592// CHECK-UNKNOWN: c1a13d87 <unknown>
593
594