[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / FP8_SME2 / mla.s
bloba9a54860dc6c99af4a3adc8f8533a4f2e9e377a7
1 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f8f16,+sme-f8f32 < %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=+sme-f8f16,+sme-f8f32 < %s \
6 // RUN: | llvm-objdump -d --mattr=+sme-f8f16,+sme-f8f32 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST
7 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f8f16,+sme-f8f32 < %s \
8 // RUN: | llvm-objdump -d --mattr=-sme-f8f16,-sme-f8f32 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
10 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f8f16,+sme-f8f32 < %s \
11 // RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
12 // RUN: | llvm-mc -triple=aarch64 -mattr=+sme-f8f16,+sme-f8f32 -disassemble -show-encoding \
13 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
16 fmlal za.h[w8, 0:1], z0.b, z0.b // 11000001-00110000-00001100-00000000
17 // CHECK-INST: fmlal za.h[w8, 0:1], z0.b, z0.b
18 // CHECK-ENCODING: [0x00,0x0c,0x30,0xc1]
19 // CHECK-ERROR: instruction requires: sme-f8f16
20 // CHECK-UNKNOWN: c1300c00 <unknown>
22 fmlal za.h[w11, 14:15], z31.b, z15.b // 11000001-00111111-01101111-11100111
23 // CHECK-INST: fmlal za.h[w11, 14:15], z31.b, z15.b
24 // CHECK-ENCODING: [0xe7,0x6f,0x3f,0xc1]
25 // CHECK-ERROR: instruction requires: sme-f8f16
26 // CHECK-UNKNOWN: c13f6fe7 <unknown>
28 fmlal za.h[w8, 0:1], z0.b, z0.b[0] // 11000001-11000000-00000000-00000000
29 // CHECK-INST: fmlal za.h[w8, 0:1], z0.b, z0.b[0]
30 // CHECK-ENCODING: [0x00,0x00,0xc0,0xc1]
31 // CHECK-ERROR: instruction requires: sme-f8f16
32 // CHECK-UNKNOWN: c1c00000 <unknown>
34 fmlal za.h[w11, 14:15], z31.b, z15.b[15] // 11000001-11001111-11101111-11101111
35 // CHECK-INST: fmlal za.h[w11, 14:15], z31.b, z15.b[15]
36 // CHECK-ENCODING: [0xef,0xef,0xcf,0xc1]
37 // CHECK-ERROR: instruction requires: sme-f8f16
38 // CHECK-UNKNOWN: c1cfefef <unknown>
40 // x2
42 fmlal za.h[w8, 0:1, vgx2], {z0.b-z1.b}, z0.b // 11000001-00100000-00001000-00000100
43 // CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, z0.b
44 // CHECK-ENCODING: [0x04,0x08,0x20,0xc1]
45 // CHECK-ERROR: instruction requires: sme-f8f16
46 // CHECK-UNKNOWN: c1200804 <unknown>
48 fmlal za.h[w8, 0:1], {z0.b-z1.b}, z0.b // 11000001-00100000-00001000-00000100
49 // CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, z0.b
50 // CHECK-ENCODING: [0x04,0x08,0x20,0xc1]
51 // CHECK-ERROR: instruction requires: sme-f8f16
52 // CHECK-UNKNOWN: c1200804 <unknown>
54 fmlal za.h[w11, 6:7, vgx2], {z31.b-z0.b}, z15.b // 11000001-00101111-01101011-11100111
55 // CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z31.b, z0.b }, z15.b
56 // CHECK-ENCODING: [0xe7,0x6b,0x2f,0xc1]
57 // CHECK-ERROR: instruction requires: sme-f8f16
58 // CHECK-UNKNOWN: c12f6be7 <unknown>
60 fmlal za.h[w11, 6:7], {z31.b-z0.b}, z15.b // 11000001-00101111-01101011-11100111
61 // CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z31.b, z0.b }, z15.b
62 // CHECK-ENCODING: [0xe7,0x6b,0x2f,0xc1]
63 // CHECK-ERROR: instruction requires: sme-f8f16
64 // CHECK-UNKNOWN: c12f6be7 <unknown>
66 fmlal za.h[w8, 0:1, vgx2], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00001000-00100000
67 // CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
68 // CHECK-ENCODING: [0x20,0x08,0xa0,0xc1]
69 // CHECK-ERROR: instruction requires: sme-f8f16
70 // CHECK-UNKNOWN: c1a00820 <unknown>
72 fmlal za.h[w8, 0:1], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00001000-00100000
73 // CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
74 // CHECK-ENCODING: [0x20,0x08,0xa0,0xc1]
75 // CHECK-ERROR: instruction requires: sme-f8f16
76 // CHECK-UNKNOWN: c1a00820 <unknown>
78 fmlal za.h[w11, 6:7, vgx2], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01101011-11100011
79 // CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
80 // CHECK-ENCODING: [0xe3,0x6b,0xbe,0xc1]
81 // CHECK-ERROR: instruction requires: sme-f8f16
82 // CHECK-UNKNOWN: c1be6be3 <unknown>
84 fmlal za.h[w11, 6:7], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01101011-11100011
85 // CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
86 // CHECK-ENCODING: [0xe3,0x6b,0xbe,0xc1]
87 // CHECK-ERROR: instruction requires: sme-f8f16
88 // CHECK-UNKNOWN: c1be6be3 <unknown>
90 fmlal za.h[w8, 0:1, vgx2], {z0.b-z1.b}, z0.b[0] // 11000001-10010000-00010000-00110000
91 // CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, z0.b[0]
92 // CHECK-ENCODING: [0x30,0x10,0x90,0xc1]
93 // CHECK-ERROR: instruction requires: sme-f8f16
94 // CHECK-UNKNOWN: c1901030 <unknown>
96 fmlal za.h[w8, 0:1], {z0.b-z1.b}, z0.b[0] // 11000001-10010000-00010000-00110000
97 // CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, z0.b[0]
98 // CHECK-ENCODING: [0x30,0x10,0x90,0xc1]
99 // CHECK-ERROR: instruction requires: sme-f8f16
100 // CHECK-UNKNOWN: c1901030 <unknown>
102 fmlal za.h[w11, 6:7, vgx2], {z30.b-z31.b}, z15.b[15] // 11000001-10011111-01111111-11111111
103 // CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z30.b, z31.b }, z15.b[15]
104 // CHECK-ENCODING: [0xff,0x7f,0x9f,0xc1]
105 // CHECK-ERROR: instruction requires: sme-f8f16
106 // CHECK-UNKNOWN: c19f7fff <unknown>
108 fmlal za.h[w11, 6:7], {z30.b-z31.b}, z15.b[15] // 11000001-10011111-01111111-11111111
109 // CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z30.b, z31.b }, z15.b[15]
110 // CHECK-ENCODING: [0xff,0x7f,0x9f,0xc1]
111 // CHECK-ERROR: instruction requires: sme-f8f16
112 // CHECK-UNKNOWN: c19f7fff <unknown>
114 // x4
116 fmlal za.h[w8, 0:1, vgx4], {z0.b-z3.b}, z0.b // 11000001-00110000-00001000-00000100
117 // CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, z0.b
118 // CHECK-ENCODING: [0x04,0x08,0x30,0xc1]
119 // CHECK-ERROR: instruction requires: sme-f8f16
120 // CHECK-UNKNOWN: c1300804 <unknown>
122 fmlal za.h[w8, 0:1], {z0.b-z3.b}, z0.b // 11000001-00110000-00001000-00000100
123 // CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, z0.b
124 // CHECK-ENCODING: [0x04,0x08,0x30,0xc1]
125 // CHECK-ERROR: instruction requires: sme-f8f16
126 // CHECK-UNKNOWN: c1300804 <unknown>
128 fmlal za.h[w11, 6:7, vgx4], {z31.b-z2.b}, z15.b // 11000001-00111111-01101011-11100111
129 // CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
130 // CHECK-ENCODING: [0xe7,0x6b,0x3f,0xc1]
131 // CHECK-ERROR: instruction requires: sme-f8f16
132 // CHECK-UNKNOWN: c13f6be7 <unknown>
134 fmlal za.h[w11, 6:7], {z31.b-z2.b}, z15.b // 11000001-00111111-01101011-11100111
135 // CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
136 // CHECK-ENCODING: [0xe7,0x6b,0x3f,0xc1]
137 // CHECK-ERROR: instruction requires: sme-f8f16
138 // CHECK-UNKNOWN: c13f6be7 <unknown>
140 fmlal za.h[w8, 0:1, vgx4], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00001000-00100000
141 // CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
142 // CHECK-ENCODING: [0x20,0x08,0xa1,0xc1]
143 // CHECK-ERROR: instruction requires: sme-f8f16
144 // CHECK-UNKNOWN: c1a10820 <unknown>
146 fmlal za.h[w8, 0:1], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00001000-00100000
147 // CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
148 // CHECK-ENCODING: [0x20,0x08,0xa1,0xc1]
149 // CHECK-ERROR: instruction requires: sme-f8f16
150 // CHECK-UNKNOWN: c1a10820 <unknown>
152 fmlal za.h[w11, 6:7, vgx4], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01101011-10100011
153 // CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
154 // CHECK-ENCODING: [0xa3,0x6b,0xbd,0xc1]
155 // CHECK-ERROR: instruction requires: sme-f8f16
156 // CHECK-UNKNOWN: c1bd6ba3 <unknown>
158 fmlal za.h[w11, 6:7], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01101011-10100011
159 // CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
160 // CHECK-ENCODING: [0xa3,0x6b,0xbd,0xc1]
161 // CHECK-ERROR: instruction requires: sme-f8f16
162 // CHECK-UNKNOWN: c1bd6ba3 <unknown>
164 fmlal za.h[w8, 0:1, vgx4], {z0.b-z3.b}, z0.b[0] // 11000001-10010000-10010000-00100000
165 // CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, z0.b[0]
166 // CHECK-ENCODING: [0x20,0x90,0x90,0xc1]
167 // CHECK-ERROR: instruction requires: sme-f8f16
168 // CHECK-UNKNOWN: c1909020 <unknown>
170 fmlal za.h[w8, 0:1], {z0.b-z3.b}, z0.b[0] // 11000001-10010000-10010000-00100000
171 // CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, z0.b[0]
172 // CHECK-ENCODING: [0x20,0x90,0x90,0xc1]
173 // CHECK-ERROR: instruction requires: sme-f8f16
174 // CHECK-UNKNOWN: c1909020 <unknown>
176 fmlal za.h[w11, 6:7, vgx4], {z28.b-z31.b}, z15.b[15] // 11000001-10011111-11111111-10101111
177 // CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z28.b - z31.b }, z15.b[15]
178 // CHECK-ENCODING: [0xaf,0xff,0x9f,0xc1]
179 // CHECK-ERROR: instruction requires: sme-f8f16
180 // CHECK-UNKNOWN: c19fffaf <unknown>
182 fmlal za.h[w11, 6:7], {z28.b-z31.b}, z15.b[15] // 11000001-10011111-11111111-10101111
183 // CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z28.b - z31.b }, z15.b[15]
184 // CHECK-ENCODING: [0xaf,0xff,0x9f,0xc1]
185 // CHECK-ERROR: instruction requires: sme-f8f16
186 // CHECK-UNKNOWN: c19fffaf <unknown>
189 //FMLALL
191 fmlall za.s[w8, 0:3], z0.b, z0.b // 11000001-00110000-00000100-00000000
192 // CHECK-INST: fmlall za.s[w8, 0:3], z0.b, z0.b
193 // CHECK-ENCODING: [0x00,0x04,0x30,0xc1]
194 // CHECK-ERROR: instruction requires: sme-f8f32
195 // CHECK-UNKNOWN: c1300400 <unknown>
197 fmlall za.s[w11, 12:15], z31.b, z15.b // 11000001-00111111-01100111-11100011
198 // CHECK-INST: fmlall za.s[w11, 12:15], z31.b, z15.b
199 // CHECK-ENCODING: [0xe3,0x67,0x3f,0xc1]
200 // CHECK-ERROR: instruction requires: sme-f8f32
201 // CHECK-UNKNOWN: c13f67e3 <unknown>
203 fmlall za.s[w8, 0:3], z0.b, z0.b[0] // 11000001-01000000-00000000-00000000
204 // CHECK-INST: fmlall za.s[w8, 0:3], z0.b, z0.b[0]
205 // CHECK-ENCODING: [0x00,0x00,0x40,0xc1]
206 // CHECK-ERROR: instruction requires: sme-f8f32
207 // CHECK-UNKNOWN: c1400000 <unknown>
209 fmlall za.s[w11, 12:15], z31.b, z15.b[15] // 11000001-01001111-11111111-11100011
210 // CHECK-INST: fmlall za.s[w11, 12:15], z31.b, z15.b[15]
211 // CHECK-ENCODING: [0xe3,0xff,0x4f,0xc1]
212 // CHECK-ERROR: instruction requires: sme-f8f32
213 // CHECK-UNKNOWN: c14fffe3 <unknown>
215 // x2
217 fmlall za.s[w8, 0:3, vgx2], {z0.b-z1.b}, z0.b // 11000001-00100000-00000000-00000010
218 // CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, z0.b
219 // CHECK-ENCODING: [0x02,0x00,0x20,0xc1]
220 // CHECK-ERROR: instruction requires: sme-f8f32
221 // CHECK-UNKNOWN: c1200002 <unknown>
223 fmlall za.s[w8, 0:3], {z0.b-z1.b}, z0.b // 11000001-00100000-00000000-00000010
224 // CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, z0.b
225 // CHECK-ENCODING: [0x02,0x00,0x20,0xc1]
226 // CHECK-ERROR: instruction requires: sme-f8f32
227 // CHECK-UNKNOWN: c1200002 <unknown>
229 fmlall za.s[w11, 4:7, vgx2], {z31.b-z0.b}, z15.b // 11000001-00101111-01100011-11100011
230 // CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z31.b, z0.b }, z15.b
231 // CHECK-ENCODING: [0xe3,0x63,0x2f,0xc1]
232 // CHECK-ERROR: instruction requires: sme-f8f32
233 // CHECK-UNKNOWN: c12f63e3 <unknown>
235 fmlall za.s[w11, 4:7], {z31.b-z0.b}, z15.b // 11000001-00101111-01100011-11100011
236 // CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z31.b, z0.b }, z15.b
237 // CHECK-ENCODING: [0xe3,0x63,0x2f,0xc1]
238 // CHECK-ERROR: instruction requires: sme-f8f32
239 // CHECK-UNKNOWN: c12f63e3 <unknown>
241 fmlall za.s[w8, 0:3, vgx2], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00000000-00100000
242 // CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
243 // CHECK-ENCODING: [0x20,0x00,0xa0,0xc1]
244 // CHECK-ERROR: instruction requires: sme-f8f32
245 // CHECK-UNKNOWN: c1a00020 <unknown>
247 fmlall za.s[w8, 0:3], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00000000-00100000
248 // CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
249 // CHECK-ENCODING: [0x20,0x00,0xa0,0xc1]
250 // CHECK-ERROR: instruction requires: sme-f8f32
251 // CHECK-UNKNOWN: c1a00020 <unknown>
253 fmlall za.s[w11, 4:7, vgx2], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01100011-11100001
254 // CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
255 // CHECK-ENCODING: [0xe1,0x63,0xbe,0xc1]
256 // CHECK-ERROR: instruction requires: sme-f8f32
257 // CHECK-UNKNOWN: c1be63e1 <unknown>
259 fmlall za.s[w11, 4:7], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01100011-11100001
260 // CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
261 // CHECK-ENCODING: [0xe1,0x63,0xbe,0xc1]
262 // CHECK-ERROR: instruction requires: sme-f8f32
263 // CHECK-UNKNOWN: c1be63e1 <unknown>
265 fmlall za.s[w8, 0:3, vgx2], {z0.b-z1.b}, z0.b[0] // 11000001-10010000-00000000-00100000
266 // CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, z0.b[0]
267 // CHECK-ENCODING: [0x20,0x00,0x90,0xc1]
268 // CHECK-ERROR: instruction requires: sme-f8f32
269 // CHECK-UNKNOWN: c1900020 <unknown>
271 fmlall za.s[w8, 0:3], {z0.b-z1.b}, z0.b[0] // 11000001-10010000-00000000-00100000
272 // CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, z0.b[0]
273 // CHECK-ENCODING: [0x20,0x00,0x90,0xc1]
274 // CHECK-ERROR: instruction requires: sme-f8f32
275 // CHECK-UNKNOWN: c1900020 <unknown>
277 fmlall za.s[w11, 4:7, vgx2], {z30.b-z31.b}, z15.b[15] // 11000001-10011111-01101111-11100111
278 // CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z30.b, z31.b }, z15.b[15]
279 // CHECK-ENCODING: [0xe7,0x6f,0x9f,0xc1]
280 // CHECK-ERROR: instruction requires: sme-f8f32
281 // CHECK-UNKNOWN: c19f6fe7 <unknown>
283 fmlall za.s[w11, 4:7], {z30.b-z31.b}, z15.b[15] // 11000001-10011111-01101111-11100111
284 // CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z30.b, z31.b }, z15.b[15]
285 // CHECK-ENCODING: [0xe7,0x6f,0x9f,0xc1]
286 // CHECK-ERROR: instruction requires: sme-f8f32
287 // CHECK-UNKNOWN: c19f6fe7 <unknown>
289 // x4
291 fmlall za.s[w8, 0:3, vgx4], {z0.b-z3.b}, z0.b // 11000001-00110000-00000000-00000010
292 // CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, z0.b
293 // CHECK-ENCODING: [0x02,0x00,0x30,0xc1]
294 // CHECK-ERROR: instruction requires: sme-f8f32
295 // CHECK-UNKNOWN: c1300002 <unknown>
297 fmlall za.s[w8, 0:3], {z0.b-z3.b}, z0.b // 11000001-00110000-00000000-00000010
298 // CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, z0.b
299 // CHECK-ENCODING: [0x02,0x00,0x30,0xc1]
300 // CHECK-ERROR: instruction requires: sme-f8f32
301 // CHECK-UNKNOWN: c1300002 <unknown>
303 fmlall za.s[w11, 4:7, vgx4], {z31.b-z2.b}, z15.b // 11000001-00111111-01100011-11100011
304 // CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
305 // CHECK-ENCODING: [0xe3,0x63,0x3f,0xc1]
306 // CHECK-ERROR: instruction requires: sme-f8f32
307 // CHECK-UNKNOWN: c13f63e3 <unknown>
309 fmlall za.s[w11, 4:7], {z31.b-z2.b}, z15.b // 11000001-00111111-01100011-11100011
310 // CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
311 // CHECK-ENCODING: [0xe3,0x63,0x3f,0xc1]
312 // CHECK-ERROR: instruction requires: sme-f8f32
313 // CHECK-UNKNOWN: c13f63e3 <unknown>
315 fmlall za.s[w8, 0:3, vgx4], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00000000-00100000
316 // CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
317 // CHECK-ENCODING: [0x20,0x00,0xa1,0xc1]
318 // CHECK-ERROR: instruction requires: sme-f8f32
319 // CHECK-UNKNOWN: c1a10020 <unknown>
321 fmlall za.s[w8, 0:3], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00000000-00100000
322 // CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
323 // CHECK-ENCODING: [0x20,0x00,0xa1,0xc1]
324 // CHECK-ERROR: instruction requires: sme-f8f32
325 // CHECK-UNKNOWN: c1a10020 <unknown>
327 fmlall za.s[w11, 4:7, vgx4], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01100011-10100001
328 // CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
329 // CHECK-ENCODING: [0xa1,0x63,0xbd,0xc1]
330 // CHECK-ERROR: instruction requires: sme-f8f32
331 // CHECK-UNKNOWN: c1bd63a1 <unknown>
333 fmlall za.s[w11, 4:7], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01100011-10100001
334 // CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
335 // CHECK-ENCODING: [0xa1,0x63,0xbd,0xc1]
336 // CHECK-ERROR: instruction requires: sme-f8f32
337 // CHECK-UNKNOWN: c1bd63a1 <unknown>
339 fmlall za.s[w8, 0:3, vgx4], {z0.b-z3.b}, z0.b[0] // 11000001-00010000-10000000-01000000
340 // CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, z0.b[0]
341 // CHECK-ENCODING: [0x40,0x80,0x10,0xc1]
342 // CHECK-ERROR: instruction requires: sme-f8f32
343 // CHECK-UNKNOWN: c1108040 <unknown>
345 fmlall za.s[w8, 0:3], {z0.b-z3.b}, z0.b[0] // 11000001-00010000-10000000-01000000
346 // CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, z0.b[0]
347 // CHECK-ENCODING: [0x40,0x80,0x10,0xc1]
348 // CHECK-ERROR: instruction requires: sme-f8f32
349 // CHECK-UNKNOWN: c1108040 <unknown>
351 fmlall za.s[w11, 4:7, vgx4], {z28.b-z31.b}, z15.b[15] // 11000001-00011111-11101111-11000111
352 // CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z28.b - z31.b }, z15.b[15]
353 // CHECK-ENCODING: [0xc7,0xef,0x1f,0xc1]
354 // CHECK-ERROR: instruction requires: sme-f8f32
355 // CHECK-UNKNOWN: c11fefc7 <unknown>
357 fmlall za.s[w11, 4:7], {z28.b-z31.b}, z15.b[15] // 11000001-00011111-11101111-11000111
358 // CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z28.b - z31.b }, z15.b[15]
359 // CHECK-ENCODING: [0xc7,0xef,0x1f,0xc1]
360 // CHECK-ERROR: instruction requires: sme-f8f32
361 // CHECK-UNKNOWN: c11fefc7 <unknown>