[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / FP8_SME2 / dot.s
blobe5c717462dce6eec42c8583cfd375b864e2bc4d0
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 // FDOT
17 // x2
19 fdot za.h[w8, 0, vgx2], {z0.b-z1.b}, z0.b // 11000001-00100000-00010000-00001000
20 // CHECK-INST: fdot za.h[w8, 0, vgx2], { z0.b, z1.b }, z0.b
21 // CHECK-ENCODING: [0x08,0x10,0x20,0xc1]
22 // CHECK-ERROR: instruction requires: sme-f8f16
23 // CHECK-UNKNOWN: c1201008 <unknown>
25 fdot za.h[w8, 0], {z0.b-z1.b}, z0.b // 11000001-00100000-00010000-00001000
26 // CHECK-INST: fdot za.h[w8, 0, vgx2], { z0.b, z1.b }, z0.b
27 // CHECK-ENCODING: [0x08,0x10,0x20,0xc1]
28 // CHECK-ERROR: instruction requires: sme-f8f16
29 // CHECK-UNKNOWN: c1201008 <unknown>
31 fdot za.h[w11, 7], {z13.b-z14.b}, z8.b // 11000001-00101000-01110001-10101111
32 // CHECK-INST: fdot za.h[w11, 7, vgx2], { z13.b, z14.b }, z8.b
33 // CHECK-ENCODING: [0xaf,0x71,0x28,0xc1]
34 // CHECK-ERROR: instruction requires: sme-f8f16
35 // CHECK-UNKNOWN: c12871af <unknown>
37 fdot za.h[w11, 7, vgx2], {z31.b-z0.b}, z15.b // 11000001-00101111-01110011-11101111
38 // CHECK-INST: fdot za.h[w11, 7, vgx2], { z31.b, z0.b }, z15.b
39 // CHECK-ENCODING: [0xef,0x73,0x2f,0xc1]
40 // CHECK-ERROR: instruction requires: sme-f8f16
41 // CHECK-UNKNOWN: c12f73ef <unknown>
43 fdot za.s[w8, 0, vgx2], {z0.b-z1.b}, z0.b // 11000001-00100000-00010000-00011000
44 // CHECK-INST: fdot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b
45 // CHECK-ENCODING: [0x18,0x10,0x20,0xc1]
46 // CHECK-ERROR: instruction requires: sme-f8f32
47 // CHECK-UNKNOWN: c1201018 <unknown>
49 fdot za.s[w8, 0], {z0.b-z1.b}, z0.b // 11000001-00100000-00010000-00011000
50 // CHECK-INST: fdot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b
51 // CHECK-ENCODING: [0x18,0x10,0x20,0xc1]
52 // CHECK-ERROR: instruction requires: sme-f8f32
53 // CHECK-UNKNOWN: c1201018 <unknown>
55 fdot za.s[w11, 7, vgx2], {z31.b-z0.b}, z15.b // 11000001-00101111-01110011-11111111
56 // CHECK-INST: fdot za.s[w11, 7, vgx2], { z31.b, z0.b }, z15.b
57 // CHECK-ENCODING: [0xff,0x73,0x2f,0xc1]
58 // CHECK-ERROR: instruction requires: sme-f8f32
59 // CHECK-UNKNOWN: c12f73ff <unknown>
61 fdot za.s[w11, 7], {z31.b-z0.b}, z15.b // 11000001-00101111-01110011-11111111
62 // CHECK-INST: fdot za.s[w11, 7, vgx2], { z31.b, z0.b }, z15.b
63 // CHECK-ENCODING: [0xff,0x73,0x2f,0xc1]
64 // CHECK-ERROR: instruction requires: sme-f8f32
65 // CHECK-UNKNOWN: c12f73ff <unknown>
67 fdot za.h[w8, 0, vgx2], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00010000-00100000
68 // CHECK-INST: fdot za.h[w8, 0, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
69 // CHECK-ENCODING: [0x20,0x10,0xa0,0xc1]
70 // CHECK-ERROR: instruction requires: sme-f8f16
71 // CHECK-UNKNOWN: c1a01020 <unknown>
73 fdot za.h[w8, 0], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00010000-00100000
74 // CHECK-INST: fdot za.h[w8, 0, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
75 // CHECK-ENCODING: [0x20,0x10,0xa0,0xc1]
76 // CHECK-ERROR: instruction requires: sme-f8f16
77 // CHECK-UNKNOWN: c1a01020 <unknown>
79 fdot za.h[w11, 7, vgx2], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01110011-11100111
80 // CHECK-INST: fdot za.h[w11, 7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
81 // CHECK-ENCODING: [0xe7,0x73,0xbe,0xc1]
82 // CHECK-ERROR: instruction requires: sme-f8f16
83 // CHECK-UNKNOWN: c1be73e7 <unknown>
85 fdot za.h[w11, 7], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01110011-11100111
86 // CHECK-INST: fdot za.h[w11, 7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
87 // CHECK-ENCODING: [0xe7,0x73,0xbe,0xc1]
88 // CHECK-ERROR: instruction requires: sme-f8f16
89 // CHECK-UNKNOWN: c1be73e7 <unknown>
91 fdot za.s[w8, 0, vgx2], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00010000-00110000
92 // CHECK-INST: fdot za.s[w8, 0, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
93 // CHECK-ENCODING: [0x30,0x10,0xa0,0xc1]
94 // CHECK-ERROR: instruction requires: sme-f8f32
95 // CHECK-UNKNOWN: c1a01030 <unknown>
97 fdot za.s[w8, 0], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00010000-00110000
98 // CHECK-INST: fdot za.s[w8, 0, vgx2], { z0.b, z1.b }, { z0.b, z1.b }
99 // CHECK-ENCODING: [0x30,0x10,0xa0,0xc1]
100 // CHECK-ERROR: instruction requires: sme-f8f32
101 // CHECK-UNKNOWN: c1a01030 <unknown>
103 fdot za.s[w11, 7, vgx2], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01110011-11110111
104 // CHECK-INST: fdot za.s[w11, 7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
105 // CHECK-ENCODING: [0xf7,0x73,0xbe,0xc1]
106 // CHECK-ERROR: instruction requires: sme-f8f32
107 // CHECK-UNKNOWN: c1be73f7 <unknown>
109 fdot za.s[w11, 7], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01110011-11110111
110 // CHECK-INST: fdot za.s[w11, 7, vgx2], { z30.b, z31.b }, { z30.b, z31.b }
111 // CHECK-ENCODING: [0xf7,0x73,0xbe,0xc1]
112 // CHECK-ERROR: instruction requires: sme-f8f32
113 // CHECK-UNKNOWN: c1be73f7 <unknown>
115 fdot za.h[w8, 0, vgx2], {z0.b-z1.b}, z0.b[0] // 11000001-11010000-00000000-00100000
116 // CHECK-INST: fdot za.h[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0]
117 // CHECK-ENCODING: [0x20,0x00,0xd0,0xc1]
118 // CHECK-ERROR: instruction requires: sme-f8f16
119 // CHECK-UNKNOWN: c1d00020 <unknown>
121 fdot za.h[w8, 0], {z0.b-z1.b}, z0.b[0] // 11000001-11010000-00000000-00100000
122 // CHECK-INST: fdot za.h[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0]
123 // CHECK-ENCODING: [0x20,0x00,0xd0,0xc1]
124 // CHECK-ERROR: instruction requires: sme-f8f16
125 // CHECK-UNKNOWN: c1d00020 <unknown>
127 fdot za.h[w11, 7, vgx2], {z30.b-z31.b}, z15.b[7] // 11000001-11011111-01101111-11101111
128 // CHECK-INST: fdot za.h[w11, 7, vgx2], { z30.b, z31.b }, z15.b[7]
129 // CHECK-ENCODING: [0xef,0x6f,0xdf,0xc1]
130 // CHECK-ERROR: instruction requires: sme-f8f16
131 // CHECK-UNKNOWN: c1df6fef <unknown>
133 fdot za.h[w11, 7], {z30.b-z31.b}, z15.b[7] // 11000001-11011111-01101111-11101111
134 // CHECK-INST: fdot za.h[w11, 7, vgx2], { z30.b, z31.b }, z15.b[7]
135 // CHECK-ENCODING: [0xef,0x6f,0xdf,0xc1]
136 // CHECK-ERROR: instruction requires: sme-f8f16
137 // CHECK-UNKNOWN: c1df6fef <unknown>
139 fdot za.s[w8, 0, vgx2], {z0.b-z1.b}, z0.b[0] // 11000001-01010000-00000000-00111000
140 // CHECK-INST: fdot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0]
141 // CHECK-ENCODING: [0x38,0x00,0x50,0xc1]
142 // CHECK-ERROR: instruction requires: sme-f8f32
143 // CHECK-UNKNOWN: c1500038 <unknown>
145 fdot za.s[w8, 0], {z0.b-z1.b}, z0.b[0] // 11000001-01010000-00000000-00111000
146 // CHECK-INST: fdot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0]
147 // CHECK-ENCODING: [0x38,0x00,0x50,0xc1]
148 // CHECK-ERROR: instruction requires: sme-f8f32
149 // CHECK-UNKNOWN: c1500038 <unknown>
151 fdot za.s[w11, 7, vgx2], {z30.b-z31.b}, z15.b[3] // 11000001-01011111-01101111-11111111
152 // CHECK-INST: fdot za.s[w11, 7, vgx2], { z30.b, z31.b }, z15.b[3]
153 // CHECK-ENCODING: [0xff,0x6f,0x5f,0xc1]
154 // CHECK-ERROR: instruction requires: sme-f8f32
155 // CHECK-UNKNOWN: c15f6fff <unknown>
157 fdot za.s[w11, 7], {z30.b-z31.b}, z15.b[3] // 11000001-01011111-01101111-11111111
158 // CHECK-INST: fdot za.s[w11, 7, vgx2], { z30.b, z31.b }, z15.b[3]
159 // CHECK-ENCODING: [0xff,0x6f,0x5f,0xc1]
160 // CHECK-ERROR: instruction requires: sme-f8f32
161 // CHECK-UNKNOWN: c15f6fff <unknown>
163 // x4
166 fdot za.h[w8, 0, vgx4], {z0.b-z3.b}, z0.b // 11000001-00110000-00010000-00001000
167 // CHECK-INST: fdot za.h[w8, 0, vgx4], { z0.b - z3.b }, z0.b
168 // CHECK-ENCODING: [0x08,0x10,0x30,0xc1]
169 // CHECK-ERROR: instruction requires: sme-f8f16
170 // CHECK-UNKNOWN: c1301008 <unknown>
172 fdot za.h[w8, 0], {z0.b-z3.b}, z0.b // 11000001-00110000-00010000-00001000
173 // CHECK-INST: fdot za.h[w8, 0, vgx4], { z0.b - z3.b }, z0.b
174 // CHECK-ENCODING: [0x08,0x10,0x30,0xc1]
175 // CHECK-ERROR: instruction requires: sme-f8f16
176 // CHECK-UNKNOWN: c1301008 <unknown>
178 fdot za.h[w11, 7, vgx4], {z31.b-z2.b}, z15.b // 11000001-00111111-01110011-11101111
179 // CHECK-INST: fdot za.h[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
180 // CHECK-ENCODING: [0xef,0x73,0x3f,0xc1]
181 // CHECK-ERROR: instruction requires: sme-f8f16
182 // CHECK-UNKNOWN: c13f73ef <unknown>
184 fdot za.h[w11, 7], {z31.b-z2.b}, z15.b // 11000001-00111111-01110011-11101111
185 // CHECK-INST: fdot za.h[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
186 // CHECK-ENCODING: [0xef,0x73,0x3f,0xc1]
187 // CHECK-ERROR: instruction requires: sme-f8f16
188 // CHECK-UNKNOWN: c13f73ef <unknown>
190 fdot za.s[w8, 0, vgx4], {z0.b-z3.b}, z0.b // 11000001-00110000-00010000-00011000
191 // CHECK-INST: fdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b
192 // CHECK-ENCODING: [0x18,0x10,0x30,0xc1]
193 // CHECK-ERROR: instruction requires: sme-f8f32
194 // CHECK-UNKNOWN: c1301018 <unknown>
196 fdot za.s[w8, 0], {z0.b-z3.b}, z0.b // 11000001-00110000-00010000-00011000
197 // CHECK-INST: fdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b
198 // CHECK-ENCODING: [0x18,0x10,0x30,0xc1]
199 // CHECK-ERROR: instruction requires: sme-f8f32
200 // CHECK-UNKNOWN: c1301018 <unknown>
202 fdot za.s[w11, 7, vgx4], {z31.b-z2.b}, z15.b // 11000001-00111111-01110011-11111111
203 // CHECK-INST: fdot za.s[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
204 // CHECK-ENCODING: [0xff,0x73,0x3f,0xc1]
205 // CHECK-ERROR: instruction requires: sme-f8f32
206 // CHECK-UNKNOWN: c13f73ff <unknown>
208 fdot za.s[w11, 7], {z31.b-z2.b}, z15.b // 11000001-00111111-01110011-11111111
209 // CHECK-INST: fdot za.s[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b
210 // CHECK-ENCODING: [0xff,0x73,0x3f,0xc1]
211 // CHECK-ERROR: instruction requires: sme-f8f32
212 // CHECK-UNKNOWN: c13f73ff <unknown>
214 fdot za.h[w8, 0, vgx4], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00010000-00100000
215 // CHECK-INST: fdot za.h[w8, 0, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
216 // CHECK-ENCODING: [0x20,0x10,0xa1,0xc1]
217 // CHECK-ERROR: instruction requires: sme-f8f16
218 // CHECK-UNKNOWN: c1a11020 <unknown>
220 fdot za.h[w8, 0], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00010000-00100000
221 // CHECK-INST: fdot za.h[w8, 0, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
222 // CHECK-ENCODING: [0x20,0x10,0xa1,0xc1]
223 // CHECK-ERROR: instruction requires: sme-f8f16
224 // CHECK-UNKNOWN: c1a11020 <unknown>
226 fdot za.h[w11, 7, vgx4], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01110011-10100111
227 // CHECK-INST: fdot za.h[w11, 7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
228 // CHECK-ENCODING: [0xa7,0x73,0xbd,0xc1]
229 // CHECK-ERROR: instruction requires: sme-f8f16
230 // CHECK-UNKNOWN: c1bd73a7 <unknown>
232 fdot za.h[w11, 7], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01110011-10100111
233 // CHECK-INST: fdot za.h[w11, 7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
234 // CHECK-ENCODING: [0xa7,0x73,0xbd,0xc1]
235 // CHECK-ERROR: instruction requires: sme-f8f16
236 // CHECK-UNKNOWN: c1bd73a7 <unknown>
237 fdot za.h[w8, 0, vgx4], {z0.b-z3.b}, z0.b[0] // 11000001-00010000-10010000-01000000
238 // CHECK-INST: fdot za.h[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0]
239 // CHECK-ENCODING: [0x40,0x90,0x10,0xc1]
240 // CHECK-ERROR: instruction requires: sme-f8f16
241 // CHECK-UNKNOWN: c1109040 <unknown>
243 fdot za.s[w8, 0, vgx4], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00010000-00110000
244 // CHECK-INST: fdot za.s[w8, 0, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
245 // CHECK-ENCODING: [0x30,0x10,0xa1,0xc1]
246 // CHECK-ERROR: instruction requires: sme-f8f32
247 // CHECK-UNKNOWN: c1a11030 <unknown>
249 fdot za.s[w8, 0], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00010000-00110000
250 // CHECK-INST: fdot za.s[w8, 0, vgx4], { z0.b - z3.b }, { z0.b - z3.b }
251 // CHECK-ENCODING: [0x30,0x10,0xa1,0xc1]
252 // CHECK-ERROR: instruction requires: sme-f8f32
253 // CHECK-UNKNOWN: c1a11030 <unknown>
255 fdot za.s[w11, 7, vgx4], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01110011-10110111
256 // CHECK-INST: fdot za.s[w11, 7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
257 // CHECK-ENCODING: [0xb7,0x73,0xbd,0xc1]
258 // CHECK-ERROR: instruction requires: sme-f8f32
259 // CHECK-UNKNOWN: c1bd73b7 <unknown>
261 fdot za.s[w11, 7], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01110011-10110111
262 // CHECK-INST: fdot za.s[w11, 7, vgx4], { z28.b - z31.b }, { z28.b - z31.b }
263 // CHECK-ENCODING: [0xb7,0x73,0xbd,0xc1]
264 // CHECK-ERROR: instruction requires: sme-f8f32
265 // CHECK-UNKNOWN: c1bd73b7 <unknown>
267 fdot za.h[w8, 0], {z0.b-z3.b}, z0.b[0] // 11000001-00010000-10010000-01000000
268 // CHECK-INST: fdot za.h[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0]
269 // CHECK-ENCODING: [0x40,0x90,0x10,0xc1]
270 // CHECK-ERROR: instruction requires: sme-f8f16
271 // CHECK-UNKNOWN: c1109040 <unknown>
273 fdot za.h[w11, 7, vgx4], {z28.b-z31.b}, z15.b[7] // 11000001-00011111-11111111-11001111
274 // CHECK-INST: fdot za.h[w11, 7, vgx4], { z28.b - z31.b }, z15.b[7]
275 // CHECK-ENCODING: [0xcf,0xff,0x1f,0xc1]
276 // CHECK-ERROR: instruction requires: sme-f8f16
277 // CHECK-UNKNOWN: c11fffcf <unknown>
279 fdot za.h[w11, 7], {z28.b-z31.b}, z15.b[7] // 11000001-00011111-11111111-11001111
280 // CHECK-INST: fdot za.h[w11, 7, vgx4], { z28.b - z31.b }, z15.b[7]
281 // CHECK-ENCODING: [0xcf,0xff,0x1f,0xc1]
282 // CHECK-ERROR: instruction requires: sme-f8f16
283 // CHECK-UNKNOWN: c11fffcf <unknown>
285 fdot za.s[w8, 0, vgx4], {z0.b-z3.b}, z0.b[0] // 11000001-01010000-10000000-00001000
286 // CHECK-INST: fdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0]
287 // CHECK-ENCODING: [0x08,0x80,0x50,0xc1]
288 // CHECK-ERROR: instruction requires: sme-f8f32
289 // CHECK-UNKNOWN: c1508008 <unknown>
291 fdot za.s[w8, 0], {z0.b-z3.b}, z0.b[0] // 11000001-01010000-10000000-00001000
292 // CHECK-INST: fdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0]
293 // CHECK-ENCODING: [0x08,0x80,0x50,0xc1]
294 // CHECK-ERROR: instruction requires: sme-f8f32
295 // CHECK-UNKNOWN: c1508008 <unknown>
297 fdot za.s[w11, 7, vgx4], {z28.b-z31.b}, z15.b[3] // 11000001-01011111-11101111-10001111
298 // CHECK-INST: fdot za.s[w11, 7, vgx4], { z28.b - z31.b }, z15.b[3]
299 // CHECK-ENCODING: [0x8f,0xef,0x5f,0xc1]
300 // CHECK-ERROR: instruction requires: sme-f8f32
301 // CHECK-UNKNOWN: c15fef8f <unknown>
303 fdot za.s[w11, 7], {z28.b-z31.b}, z15.b[3] // 11000001-01011111-11101111-10001111
304 // CHECK-INST: fdot za.s[w11, 7, vgx4], { z28.b - z31.b }, z15.b[3]
305 // CHECK-ENCODING: [0x8f,0xef,0x5f,0xc1]
306 // CHECK-ERROR: instruction requires: sme-f8f32
307 // CHECK-UNKNOWN: c15fef8f <unknown>
310 // FVDOT
312 fvdot za.h[w8, 0, vgx2], {z0.b-z1.b}, z0.b[0] // 11000001-11010000-00010000-00100000
313 // CHECK-INST: fvdot za.h[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0]
314 // CHECK-ENCODING: [0x20,0x10,0xd0,0xc1]
315 // CHECK-ERROR: instruction requires: sme-f8f16
316 // CHECK-UNKNOWN: c1d01020 <unknown>
318 fvdot za.h[w8, 0], {z0.b-z1.b}, z0.b[0] // 11000001-11010000-00010000-00100000
319 // CHECK-INST: fvdot za.h[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0]
320 // CHECK-ENCODING: [0x20,0x10,0xd0,0xc1]
321 // CHECK-ERROR: instruction requires: sme-f8f16
322 // CHECK-UNKNOWN: c1d01020 <unknown>
324 fvdot za.h[w11, 7, vgx2], {z30.b-z31.b}, z15.b[7] // 11000001-11011111-01111111-11101111
325 // CHECK-INST: fvdot za.h[w11, 7, vgx2], { z30.b, z31.b }, z15.b[7]
326 // CHECK-ENCODING: [0xef,0x7f,0xdf,0xc1]
327 // CHECK-ERROR: instruction requires: sme-f8f16
328 // CHECK-UNKNOWN: c1df7fef <unknown>
330 fvdot za.h[w11, 7], {z30.b-z31.b}, z15.b[7] // 11000001-11011111-01111111-11101111
331 // CHECK-INST: fvdot za.h[w11, 7, vgx2], { z30.b, z31.b }, z15.b[7]
332 // CHECK-ENCODING: [0xef,0x7f,0xdf,0xc1]
333 // CHECK-ERROR: instruction requires: sme-f8f16
334 // CHECK-UNKNOWN: c1df7fef <unknown>
336 // FVDOTB
338 fvdotb za.s[w8, 0, vgx4], {z0.b-z1.b}, z0.b[0] // 11000001-11010000-00001000-00000000
339 // CHECK-INST: fvdotb za.s[w8, 0, vgx4], { z0.b, z1.b }, z0.b[0]
340 // CHECK-ENCODING: [0x00,0x08,0xd0,0xc1]
341 // CHECK-ERROR: instruction requires: sme-f8f32
342 // CHECK-UNKNOWN: c1d00800 <unknown>
344 fvdotb za.s[w11, 7, vgx4], {z30.b-z31.b}, z15.b[3] // 11000001-11011111-01101111-11001111
345 // CHECK-INST: fvdotb za.s[w11, 7, vgx4], { z30.b, z31.b }, z15.b[3]
346 // CHECK-ENCODING: [0xcf,0x6f,0xdf,0xc1]
347 // CHECK-ERROR: instruction requires: sme-f8f32
348 // CHECK-UNKNOWN: c1df6fcf <unknown>
350 // FVDOTT
351 fvdott za.s[w8, 0, vgx4], {z0.b-z1.b}, z0.b[0] // 11000001-11010000-00001000-00010000
352 // CHECK-INST: fvdott za.s[w8, 0, vgx4], { z0.b, z1.b }, z0.b[0]
353 // CHECK-ENCODING: [0x10,0x08,0xd0,0xc1]
354 // CHECK-ERROR: instruction requires: sme-f8f32
355 // CHECK-UNKNOWN: c1d00810 <unknown>
357 fvdott za.s[w11, 7, vgx4], {z30.b-z31.b}, z15.b[3] // 11000001-11011111-01101111-11011111
358 // CHECK-INST: fvdott za.s[w11, 7, vgx4], { z30.b, z31.b }, z15.b[3]
359 // CHECK-ENCODING: [0xdf,0x6f,0xdf,0xc1]
360 // CHECK-ERROR: instruction requires: sme-f8f32
361 // CHECK-UNKNOWN: c1df6fdf <unknown>