[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / SME2p1 / fmls.s
blob67b1430240e8d99786127ccde3958acd01b0569e
1 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f16f16 < %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-f16f16 < %s \
6 // RUN: | llvm-objdump -d --mattr=+sme-f16f16 - | FileCheck %s --check-prefix=CHECK-INST
7 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f16f16 < %s \
8 // RUN: | llvm-objdump -d --mattr=-sme2p1 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f16f16 < %s \
10 // RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
11 // RUN: | llvm-mc -triple=aarch64 -mattr=+sme-f16f16 -disassemble -show-encoding \
12 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
14 fmls za.h[w8, 0, vgx2], {z0.h, z1.h}, z0.h // 11000001-00100000-00011100-00001000
15 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z0.h, z1.h }, z0.h
16 // CHECK-ENCODING: [0x08,0x1c,0x20,0xc1]
17 // CHECK-ERROR: instruction requires: sme-f16f16
18 // CHECK-UNKNOWN: c1201c08 <unknown>
20 fmls za.h[w8, 0], {z0.h - z1.h}, z0.h // 11000001-00100000-00011100-00001000
21 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z0.h, z1.h }, z0.h
22 // CHECK-ENCODING: [0x08,0x1c,0x20,0xc1]
23 // CHECK-ERROR: instruction requires: sme-f16f16
24 // CHECK-UNKNOWN: c1201c08 <unknown>
26 fmls za.h[w10, 5, vgx2], {z10.h, z11.h}, z5.h // 11000001-00100101-01011101-01001101
27 // CHECK-INST: fmls za.h[w10, 5, vgx2], { z10.h, z11.h }, z5.h
28 // CHECK-ENCODING: [0x4d,0x5d,0x25,0xc1]
29 // CHECK-ERROR: instruction requires: sme-f16f16
30 // CHECK-UNKNOWN: c1255d4d <unknown>
32 fmls za.h[w10, 5], {z10.h - z11.h}, z5.h // 11000001-00100101-01011101-01001101
33 // CHECK-INST: fmls za.h[w10, 5, vgx2], { z10.h, z11.h }, z5.h
34 // CHECK-ENCODING: [0x4d,0x5d,0x25,0xc1]
35 // CHECK-ERROR: instruction requires: sme-f16f16
36 // CHECK-UNKNOWN: c1255d4d <unknown>
38 fmls za.h[w11, 7, vgx2], {z13.h, z14.h}, z8.h // 11000001-00101000-01111101-10101111
39 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z13.h, z14.h }, z8.h
40 // CHECK-ENCODING: [0xaf,0x7d,0x28,0xc1]
41 // CHECK-ERROR: instruction requires: sme-f16f16
42 // CHECK-UNKNOWN: c1287daf <unknown>
44 fmls za.h[w11, 7], {z13.h - z14.h}, z8.h // 11000001-00101000-01111101-10101111
45 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z13.h, z14.h }, z8.h
46 // CHECK-ENCODING: [0xaf,0x7d,0x28,0xc1]
47 // CHECK-ERROR: instruction requires: sme-f16f16
48 // CHECK-UNKNOWN: c1287daf <unknown>
50 fmls za.h[w11, 7, vgx2], {z31.h, z0.h}, z15.h // 11000001-00101111-01111111-11101111
51 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z31.h, z0.h }, z15.h
52 // CHECK-ENCODING: [0xef,0x7f,0x2f,0xc1]
53 // CHECK-ERROR: instruction requires: sme-f16f16
54 // CHECK-UNKNOWN: c12f7fef <unknown>
56 fmls za.h[w11, 7], {z31.h - z0.h}, z15.h // 11000001-00101111-01111111-11101111
57 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z31.h, z0.h }, z15.h
58 // CHECK-ENCODING: [0xef,0x7f,0x2f,0xc1]
59 // CHECK-ERROR: instruction requires: sme-f16f16
60 // CHECK-UNKNOWN: c12f7fef <unknown>
62 fmls za.h[w8, 5, vgx2], {z17.h, z18.h}, z0.h // 11000001-00100000-00011110-00101101
63 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z17.h, z18.h }, z0.h
64 // CHECK-ENCODING: [0x2d,0x1e,0x20,0xc1]
65 // CHECK-ERROR: instruction requires: sme-f16f16
66 // CHECK-UNKNOWN: c1201e2d <unknown>
68 fmls za.h[w8, 5], {z17.h - z18.h}, z0.h // 11000001-00100000-00011110-00101101
69 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z17.h, z18.h }, z0.h
70 // CHECK-ENCODING: [0x2d,0x1e,0x20,0xc1]
71 // CHECK-ERROR: instruction requires: sme-f16f16
72 // CHECK-UNKNOWN: c1201e2d <unknown>
74 fmls za.h[w8, 1, vgx2], {z1.h, z2.h}, z14.h // 11000001-00101110-00011100-00101001
75 // CHECK-INST: fmls za.h[w8, 1, vgx2], { z1.h, z2.h }, z14.h
76 // CHECK-ENCODING: [0x29,0x1c,0x2e,0xc1]
77 // CHECK-ERROR: instruction requires: sme-f16f16
78 // CHECK-UNKNOWN: c12e1c29 <unknown>
80 fmls za.h[w8, 1], {z1.h - z2.h}, z14.h // 11000001-00101110-00011100-00101001
81 // CHECK-INST: fmls za.h[w8, 1, vgx2], { z1.h, z2.h }, z14.h
82 // CHECK-ENCODING: [0x29,0x1c,0x2e,0xc1]
83 // CHECK-ERROR: instruction requires: sme-f16f16
84 // CHECK-UNKNOWN: c12e1c29 <unknown>
86 fmls za.h[w10, 0, vgx2], {z19.h, z20.h}, z4.h // 11000001-00100100-01011110-01101000
87 // CHECK-INST: fmls za.h[w10, 0, vgx2], { z19.h, z20.h }, z4.h
88 // CHECK-ENCODING: [0x68,0x5e,0x24,0xc1]
89 // CHECK-ERROR: instruction requires: sme-f16f16
90 // CHECK-UNKNOWN: c1245e68 <unknown>
92 fmls za.h[w10, 0], {z19.h - z20.h}, z4.h // 11000001-00100100-01011110-01101000
93 // CHECK-INST: fmls za.h[w10, 0, vgx2], { z19.h, z20.h }, z4.h
94 // CHECK-ENCODING: [0x68,0x5e,0x24,0xc1]
95 // CHECK-ERROR: instruction requires: sme-f16f16
96 // CHECK-UNKNOWN: c1245e68 <unknown>
98 fmls za.h[w8, 0, vgx2], {z12.h, z13.h}, z2.h // 11000001-00100010-00011101-10001000
99 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z12.h, z13.h }, z2.h
100 // CHECK-ENCODING: [0x88,0x1d,0x22,0xc1]
101 // CHECK-ERROR: instruction requires: sme-f16f16
102 // CHECK-UNKNOWN: c1221d88 <unknown>
104 fmls za.h[w8, 0], {z12.h - z13.h}, z2.h // 11000001-00100010-00011101-10001000
105 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z12.h, z13.h }, z2.h
106 // CHECK-ENCODING: [0x88,0x1d,0x22,0xc1]
107 // CHECK-ERROR: instruction requires: sme-f16f16
108 // CHECK-UNKNOWN: c1221d88 <unknown>
110 fmls za.h[w10, 1, vgx2], {z1.h, z2.h}, z10.h // 11000001-00101010-01011100-00101001
111 // CHECK-INST: fmls za.h[w10, 1, vgx2], { z1.h, z2.h }, z10.h
112 // CHECK-ENCODING: [0x29,0x5c,0x2a,0xc1]
113 // CHECK-ERROR: instruction requires: sme-f16f16
114 // CHECK-UNKNOWN: c12a5c29 <unknown>
116 fmls za.h[w10, 1], {z1.h - z2.h}, z10.h // 11000001-00101010-01011100-00101001
117 // CHECK-INST: fmls za.h[w10, 1, vgx2], { z1.h, z2.h }, z10.h
118 // CHECK-ENCODING: [0x29,0x5c,0x2a,0xc1]
119 // CHECK-ERROR: instruction requires: sme-f16f16
120 // CHECK-UNKNOWN: c12a5c29 <unknown>
122 fmls za.h[w8, 5, vgx2], {z22.h, z23.h}, z14.h // 11000001-00101110-00011110-11001101
123 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z22.h, z23.h }, z14.h
124 // CHECK-ENCODING: [0xcd,0x1e,0x2e,0xc1]
125 // CHECK-ERROR: instruction requires: sme-f16f16
126 // CHECK-UNKNOWN: c12e1ecd <unknown>
128 fmls za.h[w8, 5], {z22.h - z23.h}, z14.h // 11000001-00101110-00011110-11001101
129 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z22.h, z23.h }, z14.h
130 // CHECK-ENCODING: [0xcd,0x1e,0x2e,0xc1]
131 // CHECK-ERROR: instruction requires: sme-f16f16
132 // CHECK-UNKNOWN: c12e1ecd <unknown>
134 fmls za.h[w11, 2, vgx2], {z9.h, z10.h}, z1.h // 11000001-00100001-01111101-00101010
135 // CHECK-INST: fmls za.h[w11, 2, vgx2], { z9.h, z10.h }, z1.h
136 // CHECK-ENCODING: [0x2a,0x7d,0x21,0xc1]
137 // CHECK-ERROR: instruction requires: sme-f16f16
138 // CHECK-UNKNOWN: c1217d2a <unknown>
140 fmls za.h[w11, 2], {z9.h - z10.h}, z1.h // 11000001-00100001-01111101-00101010
141 // CHECK-INST: fmls za.h[w11, 2, vgx2], { z9.h, z10.h }, z1.h
142 // CHECK-ENCODING: [0x2a,0x7d,0x21,0xc1]
143 // CHECK-ERROR: instruction requires: sme-f16f16
144 // CHECK-UNKNOWN: c1217d2a <unknown>
146 fmls za.h[w9, 7, vgx2], {z12.h, z13.h}, z11.h // 11000001-00101011-00111101-10001111
147 // CHECK-INST: fmls za.h[w9, 7, vgx2], { z12.h, z13.h }, z11.h
148 // CHECK-ENCODING: [0x8f,0x3d,0x2b,0xc1]
149 // CHECK-ERROR: instruction requires: sme-f16f16
150 // CHECK-UNKNOWN: c12b3d8f <unknown>
152 fmls za.h[w9, 7], {z12.h - z13.h}, z11.h // 11000001-00101011-00111101-10001111
153 // CHECK-INST: fmls za.h[w9, 7, vgx2], { z12.h, z13.h }, z11.h
154 // CHECK-ENCODING: [0x8f,0x3d,0x2b,0xc1]
155 // CHECK-ERROR: instruction requires: sme-f16f16
156 // CHECK-UNKNOWN: c12b3d8f <unknown>
159 fmls za.h[w8, 0, vgx2], {z0.h, z1.h}, z0.h[0] // 11000001-00010000-00010000-00010000
160 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z0.h, z1.h }, z0.h[0]
161 // CHECK-ENCODING: [0x10,0x10,0x10,0xc1]
162 // CHECK-ERROR: instruction requires: sme-f16f16
163 // CHECK-UNKNOWN: c1101010 <unknown>
165 fmls za.h[w8, 0], {z0.h - z1.h}, z0.h[0] // 11000001-00010000-00010000-00010000
166 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z0.h, z1.h }, z0.h[0]
167 // CHECK-ENCODING: [0x10,0x10,0x10,0xc1]
168 // CHECK-ERROR: instruction requires: sme-f16f16
169 // CHECK-UNKNOWN: c1101010 <unknown>
171 fmls za.h[w10, 5, vgx2], {z10.h, z11.h}, z5.h[2] // 11000001-00010101-01010101-01010101
172 // CHECK-INST: fmls za.h[w10, 5, vgx2], { z10.h, z11.h }, z5.h[2]
173 // CHECK-ENCODING: [0x55,0x55,0x15,0xc1]
174 // CHECK-ERROR: instruction requires: sme-f16f16
175 // CHECK-UNKNOWN: c1155555 <unknown>
177 fmls za.h[w10, 5], {z10.h - z11.h}, z5.h[2] // 11000001-00010101-01010101-01010101
178 // CHECK-INST: fmls za.h[w10, 5, vgx2], { z10.h, z11.h }, z5.h[2]
179 // CHECK-ENCODING: [0x55,0x55,0x15,0xc1]
180 // CHECK-ERROR: instruction requires: sme-f16f16
181 // CHECK-UNKNOWN: c1155555 <unknown>
183 fmls za.h[w11, 7, vgx2], {z12.h, z13.h}, z8.h[6] // 11000001-00011000-01111101-10010111
184 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z12.h, z13.h }, z8.h[6]
185 // CHECK-ENCODING: [0x97,0x7d,0x18,0xc1]
186 // CHECK-ERROR: instruction requires: sme-f16f16
187 // CHECK-UNKNOWN: c1187d97 <unknown>
189 fmls za.h[w11, 7], {z12.h - z13.h}, z8.h[6] // 11000001-00011000-01111101-10010111
190 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z12.h, z13.h }, z8.h[6]
191 // CHECK-ENCODING: [0x97,0x7d,0x18,0xc1]
192 // CHECK-ERROR: instruction requires: sme-f16f16
193 // CHECK-UNKNOWN: c1187d97 <unknown>
195 fmls za.h[w11, 7, vgx2], {z30.h, z31.h}, z15.h[7] // 11000001-00011111-01111111-11011111
196 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z30.h, z31.h }, z15.h[7]
197 // CHECK-ENCODING: [0xdf,0x7f,0x1f,0xc1]
198 // CHECK-ERROR: instruction requires: sme-f16f16
199 // CHECK-UNKNOWN: c11f7fdf <unknown>
201 fmls za.h[w11, 7], {z30.h - z31.h}, z15.h[7] // 11000001-00011111-01111111-11011111
202 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z30.h, z31.h }, z15.h[7]
203 // CHECK-ENCODING: [0xdf,0x7f,0x1f,0xc1]
204 // CHECK-ERROR: instruction requires: sme-f16f16
205 // CHECK-UNKNOWN: c11f7fdf <unknown>
207 fmls za.h[w8, 5, vgx2], {z16.h, z17.h}, z0.h[6] // 11000001-00010000-00011110-00010101
208 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z16.h, z17.h }, z0.h[6]
209 // CHECK-ENCODING: [0x15,0x1e,0x10,0xc1]
210 // CHECK-ERROR: instruction requires: sme-f16f16
211 // CHECK-UNKNOWN: c1101e15 <unknown>
213 fmls za.h[w8, 5], {z16.h - z17.h}, z0.h[6] // 11000001-00010000-00011110-00010101
214 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z16.h, z17.h }, z0.h[6]
215 // CHECK-ENCODING: [0x15,0x1e,0x10,0xc1]
216 // CHECK-ERROR: instruction requires: sme-f16f16
217 // CHECK-UNKNOWN: c1101e15 <unknown>
219 fmls za.h[w8, 1, vgx2], {z0.h, z1.h}, z14.h[2] // 11000001-00011110-00010100-00010001
220 // CHECK-INST: fmls za.h[w8, 1, vgx2], { z0.h, z1.h }, z14.h[2]
221 // CHECK-ENCODING: [0x11,0x14,0x1e,0xc1]
222 // CHECK-ERROR: instruction requires: sme-f16f16
223 // CHECK-UNKNOWN: c11e1411 <unknown>
225 fmls za.h[w8, 1], {z0.h - z1.h}, z14.h[2] // 11000001-00011110-00010100-00010001
226 // CHECK-INST: fmls za.h[w8, 1, vgx2], { z0.h, z1.h }, z14.h[2]
227 // CHECK-ENCODING: [0x11,0x14,0x1e,0xc1]
228 // CHECK-ERROR: instruction requires: sme-f16f16
229 // CHECK-UNKNOWN: c11e1411 <unknown>
231 fmls za.h[w10, 0, vgx2], {z18.h, z19.h}, z4.h[3] // 11000001-00010100-01010110-01011000
232 // CHECK-INST: fmls za.h[w10, 0, vgx2], { z18.h, z19.h }, z4.h[3]
233 // CHECK-ENCODING: [0x58,0x56,0x14,0xc1]
234 // CHECK-ERROR: instruction requires: sme-f16f16
235 // CHECK-UNKNOWN: c1145658 <unknown>
237 fmls za.h[w10, 0], {z18.h - z19.h}, z4.h[3] // 11000001-00010100-01010110-01011000
238 // CHECK-INST: fmls za.h[w10, 0, vgx2], { z18.h, z19.h }, z4.h[3]
239 // CHECK-ENCODING: [0x58,0x56,0x14,0xc1]
240 // CHECK-ERROR: instruction requires: sme-f16f16
241 // CHECK-UNKNOWN: c1145658 <unknown>
243 fmls za.h[w8, 0, vgx2], {z12.h, z13.h}, z2.h[4] // 11000001-00010010-00011001-10010000
244 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z12.h, z13.h }, z2.h[4]
245 // CHECK-ENCODING: [0x90,0x19,0x12,0xc1]
246 // CHECK-ERROR: instruction requires: sme-f16f16
247 // CHECK-UNKNOWN: c1121990 <unknown>
249 fmls za.h[w8, 0], {z12.h - z13.h}, z2.h[4] // 11000001-00010010-00011001-10010000
250 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z12.h, z13.h }, z2.h[4]
251 // CHECK-ENCODING: [0x90,0x19,0x12,0xc1]
252 // CHECK-ERROR: instruction requires: sme-f16f16
253 // CHECK-UNKNOWN: c1121990 <unknown>
255 fmls za.h[w10, 1, vgx2], {z0.h, z1.h}, z10.h[4] // 11000001-00011010-01011000-00010001
256 // CHECK-INST: fmls za.h[w10, 1, vgx2], { z0.h, z1.h }, z10.h[4]
257 // CHECK-ENCODING: [0x11,0x58,0x1a,0xc1]
258 // CHECK-ERROR: instruction requires: sme-f16f16
259 // CHECK-UNKNOWN: c11a5811 <unknown>
261 fmls za.h[w10, 1], {z0.h - z1.h}, z10.h[4] // 11000001-00011010-01011000-00010001
262 // CHECK-INST: fmls za.h[w10, 1, vgx2], { z0.h, z1.h }, z10.h[4]
263 // CHECK-ENCODING: [0x11,0x58,0x1a,0xc1]
264 // CHECK-ERROR: instruction requires: sme-f16f16
265 // CHECK-UNKNOWN: c11a5811 <unknown>
267 fmls za.h[w8, 5, vgx2], {z22.h, z23.h}, z14.h[5] // 11000001-00011110-00011010-11011101
268 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z22.h, z23.h }, z14.h[5]
269 // CHECK-ENCODING: [0xdd,0x1a,0x1e,0xc1]
270 // CHECK-ERROR: instruction requires: sme-f16f16
271 // CHECK-UNKNOWN: c11e1add <unknown>
273 fmls za.h[w8, 5], {z22.h - z23.h}, z14.h[5] // 11000001-00011110-00011010-11011101
274 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z22.h, z23.h }, z14.h[5]
275 // CHECK-ENCODING: [0xdd,0x1a,0x1e,0xc1]
276 // CHECK-ERROR: instruction requires: sme-f16f16
277 // CHECK-UNKNOWN: c11e1add <unknown>
279 fmls za.h[w11, 2, vgx2], {z8.h, z9.h}, z1.h[2] // 11000001-00010001-01110101-00010010
280 // CHECK-INST: fmls za.h[w11, 2, vgx2], { z8.h, z9.h }, z1.h[2]
281 // CHECK-ENCODING: [0x12,0x75,0x11,0xc1]
282 // CHECK-ERROR: instruction requires: sme-f16f16
283 // CHECK-UNKNOWN: c1117512 <unknown>
285 fmls za.h[w11, 2], {z8.h - z9.h}, z1.h[2] // 11000001-00010001-01110101-00010010
286 // CHECK-INST: fmls za.h[w11, 2, vgx2], { z8.h, z9.h }, z1.h[2]
287 // CHECK-ENCODING: [0x12,0x75,0x11,0xc1]
288 // CHECK-ERROR: instruction requires: sme-f16f16
289 // CHECK-UNKNOWN: c1117512 <unknown>
291 fmls za.h[w9, 7, vgx2], {z12.h, z13.h}, z11.h[4] // 11000001-00011011-00111001-10010111
292 // CHECK-INST: fmls za.h[w9, 7, vgx2], { z12.h, z13.h }, z11.h[4]
293 // CHECK-ENCODING: [0x97,0x39,0x1b,0xc1]
294 // CHECK-ERROR: instruction requires: sme-f16f16
295 // CHECK-UNKNOWN: c11b3997 <unknown>
297 fmls za.h[w9, 7], {z12.h - z13.h}, z11.h[4] // 11000001-00011011-00111001-10010111
298 // CHECK-INST: fmls za.h[w9, 7, vgx2], { z12.h, z13.h }, z11.h[4]
299 // CHECK-ENCODING: [0x97,0x39,0x1b,0xc1]
300 // CHECK-ERROR: instruction requires: sme-f16f16
301 // CHECK-UNKNOWN: c11b3997 <unknown>
304 fmls za.h[w8, 0, vgx2], {z0.h, z1.h}, {z0.h, z1.h} // 11000001-10100000-00010000-00011000
305 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
306 // CHECK-ENCODING: [0x18,0x10,0xa0,0xc1]
307 // CHECK-ERROR: instruction requires: sme-f16f16
308 // CHECK-UNKNOWN: c1a01018 <unknown>
310 fmls za.h[w8, 0], {z0.h - z1.h}, {z0.h - z1.h} // 11000001-10100000-00010000-00011000
311 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z0.h, z1.h }, { z0.h, z1.h }
312 // CHECK-ENCODING: [0x18,0x10,0xa0,0xc1]
313 // CHECK-ERROR: instruction requires: sme-f16f16
314 // CHECK-UNKNOWN: c1a01018 <unknown>
316 fmls za.h[w10, 5, vgx2], {z10.h, z11.h}, {z20.h, z21.h} // 11000001-10110100-01010001-01011101
317 // CHECK-INST: fmls za.h[w10, 5, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
318 // CHECK-ENCODING: [0x5d,0x51,0xb4,0xc1]
319 // CHECK-ERROR: instruction requires: sme-f16f16
320 // CHECK-UNKNOWN: c1b4515d <unknown>
322 fmls za.h[w10, 5], {z10.h - z11.h}, {z20.h - z21.h} // 11000001-10110100-01010001-01011101
323 // CHECK-INST: fmls za.h[w10, 5, vgx2], { z10.h, z11.h }, { z20.h, z21.h }
324 // CHECK-ENCODING: [0x5d,0x51,0xb4,0xc1]
325 // CHECK-ERROR: instruction requires: sme-f16f16
326 // CHECK-UNKNOWN: c1b4515d <unknown>
328 fmls za.h[w11, 7, vgx2], {z12.h, z13.h}, {z8.h, z9.h} // 11000001-10101000-01110001-10011111
329 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
330 // CHECK-ENCODING: [0x9f,0x71,0xa8,0xc1]
331 // CHECK-ERROR: instruction requires: sme-f16f16
332 // CHECK-UNKNOWN: c1a8719f <unknown>
334 fmls za.h[w11, 7], {z12.h - z13.h}, {z8.h - z9.h} // 11000001-10101000-01110001-10011111
335 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }
336 // CHECK-ENCODING: [0x9f,0x71,0xa8,0xc1]
337 // CHECK-ERROR: instruction requires: sme-f16f16
338 // CHECK-UNKNOWN: c1a8719f <unknown>
340 fmls za.h[w11, 7, vgx2], {z30.h, z31.h}, {z30.h, z31.h} // 11000001-10111110-01110011-11011111
341 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
342 // CHECK-ENCODING: [0xdf,0x73,0xbe,0xc1]
343 // CHECK-ERROR: instruction requires: sme-f16f16
344 // CHECK-UNKNOWN: c1be73df <unknown>
346 fmls za.h[w11, 7], {z30.h - z31.h}, {z30.h - z31.h} // 11000001-10111110-01110011-11011111
347 // CHECK-INST: fmls za.h[w11, 7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }
348 // CHECK-ENCODING: [0xdf,0x73,0xbe,0xc1]
349 // CHECK-ERROR: instruction requires: sme-f16f16
350 // CHECK-UNKNOWN: c1be73df <unknown>
352 fmls za.h[w8, 5, vgx2], {z16.h, z17.h}, {z16.h, z17.h} // 11000001-10110000-00010010-00011101
353 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
354 // CHECK-ENCODING: [0x1d,0x12,0xb0,0xc1]
355 // CHECK-ERROR: instruction requires: sme-f16f16
356 // CHECK-UNKNOWN: c1b0121d <unknown>
358 fmls za.h[w8, 5], {z16.h - z17.h}, {z16.h - z17.h} // 11000001-10110000-00010010-00011101
359 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z16.h, z17.h }, { z16.h, z17.h }
360 // CHECK-ENCODING: [0x1d,0x12,0xb0,0xc1]
361 // CHECK-ERROR: instruction requires: sme-f16f16
362 // CHECK-UNKNOWN: c1b0121d <unknown>
364 fmls za.h[w8, 1, vgx2], {z0.h, z1.h}, {z30.h, z31.h} // 11000001-10111110-00010000-00011001
365 // CHECK-INST: fmls za.h[w8, 1, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
366 // CHECK-ENCODING: [0x19,0x10,0xbe,0xc1]
367 // CHECK-ERROR: instruction requires: sme-f16f16
368 // CHECK-UNKNOWN: c1be1019 <unknown>
370 fmls za.h[w8, 1], {z0.h - z1.h}, {z30.h - z31.h} // 11000001-10111110-00010000-00011001
371 // CHECK-INST: fmls za.h[w8, 1, vgx2], { z0.h, z1.h }, { z30.h, z31.h }
372 // CHECK-ENCODING: [0x19,0x10,0xbe,0xc1]
373 // CHECK-ERROR: instruction requires: sme-f16f16
374 // CHECK-UNKNOWN: c1be1019 <unknown>
376 fmls za.h[w10, 0, vgx2], {z18.h, z19.h}, {z20.h, z21.h} // 11000001-10110100-01010010-01011000
377 // CHECK-INST: fmls za.h[w10, 0, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
378 // CHECK-ENCODING: [0x58,0x52,0xb4,0xc1]
379 // CHECK-ERROR: instruction requires: sme-f16f16
380 // CHECK-UNKNOWN: c1b45258 <unknown>
382 fmls za.h[w10, 0], {z18.h - z19.h}, {z20.h - z21.h} // 11000001-10110100-01010010-01011000
383 // CHECK-INST: fmls za.h[w10, 0, vgx2], { z18.h, z19.h }, { z20.h, z21.h }
384 // CHECK-ENCODING: [0x58,0x52,0xb4,0xc1]
385 // CHECK-ERROR: instruction requires: sme-f16f16
386 // CHECK-UNKNOWN: c1b45258 <unknown>
388 fmls za.h[w8, 0, vgx2], {z12.h, z13.h}, {z2.h, z3.h} // 11000001-10100010-00010001-10011000
389 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
390 // CHECK-ENCODING: [0x98,0x11,0xa2,0xc1]
391 // CHECK-ERROR: instruction requires: sme-f16f16
392 // CHECK-UNKNOWN: c1a21198 <unknown>
394 fmls za.h[w8, 0], {z12.h - z13.h}, {z2.h - z3.h} // 11000001-10100010-00010001-10011000
395 // CHECK-INST: fmls za.h[w8, 0, vgx2], { z12.h, z13.h }, { z2.h, z3.h }
396 // CHECK-ENCODING: [0x98,0x11,0xa2,0xc1]
397 // CHECK-ERROR: instruction requires: sme-f16f16
398 // CHECK-UNKNOWN: c1a21198 <unknown>
400 fmls za.h[w10, 1, vgx2], {z0.h, z1.h}, {z26.h, z27.h} // 11000001-10111010-01010000-00011001
401 // CHECK-INST: fmls za.h[w10, 1, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
402 // CHECK-ENCODING: [0x19,0x50,0xba,0xc1]
403 // CHECK-ERROR: instruction requires: sme-f16f16
404 // CHECK-UNKNOWN: c1ba5019 <unknown>
406 fmls za.h[w10, 1], {z0.h - z1.h}, {z26.h - z27.h} // 11000001-10111010-01010000-00011001
407 // CHECK-INST: fmls za.h[w10, 1, vgx2], { z0.h, z1.h }, { z26.h, z27.h }
408 // CHECK-ENCODING: [0x19,0x50,0xba,0xc1]
409 // CHECK-ERROR: instruction requires: sme-f16f16
410 // CHECK-UNKNOWN: c1ba5019 <unknown>
412 fmls za.h[w8, 5, vgx2], {z22.h, z23.h}, {z30.h, z31.h} // 11000001-10111110-00010010-11011101
413 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
414 // CHECK-ENCODING: [0xdd,0x12,0xbe,0xc1]
415 // CHECK-ERROR: instruction requires: sme-f16f16
416 // CHECK-UNKNOWN: c1be12dd <unknown>
418 fmls za.h[w8, 5], {z22.h - z23.h}, {z30.h - z31.h} // 11000001-10111110-00010010-11011101
419 // CHECK-INST: fmls za.h[w8, 5, vgx2], { z22.h, z23.h }, { z30.h, z31.h }
420 // CHECK-ENCODING: [0xdd,0x12,0xbe,0xc1]
421 // CHECK-ERROR: instruction requires: sme-f16f16
422 // CHECK-UNKNOWN: c1be12dd <unknown>
424 fmls za.h[w11, 2, vgx2], {z8.h, z9.h}, {z0.h, z1.h} // 11000001-10100000-01110001-00011010
425 // CHECK-INST: fmls za.h[w11, 2, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
426 // CHECK-ENCODING: [0x1a,0x71,0xa0,0xc1]
427 // CHECK-ERROR: instruction requires: sme-f16f16
428 // CHECK-UNKNOWN: c1a0711a <unknown>
430 fmls za.h[w11, 2], {z8.h - z9.h}, {z0.h - z1.h} // 11000001-10100000-01110001-00011010
431 // CHECK-INST: fmls za.h[w11, 2, vgx2], { z8.h, z9.h }, { z0.h, z1.h }
432 // CHECK-ENCODING: [0x1a,0x71,0xa0,0xc1]
433 // CHECK-ERROR: instruction requires: sme-f16f16
434 // CHECK-UNKNOWN: c1a0711a <unknown>
436 fmls za.h[w9, 7, vgx2], {z12.h, z13.h}, {z10.h, z11.h} // 11000001-10101010-00110001-10011111
437 // CHECK-INST: fmls za.h[w9, 7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
438 // CHECK-ENCODING: [0x9f,0x31,0xaa,0xc1]
439 // CHECK-ERROR: instruction requires: sme-f16f16
440 // CHECK-UNKNOWN: c1aa319f <unknown>
442 fmls za.h[w9, 7], {z12.h - z13.h}, {z10.h - z11.h} // 11000001-10101010-00110001-10011111
443 // CHECK-INST: fmls za.h[w9, 7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }
444 // CHECK-ENCODING: [0x9f,0x31,0xaa,0xc1]
445 // CHECK-ERROR: instruction requires: sme-f16f16
446 // CHECK-UNKNOWN: c1aa319f <unknown>
448 fmls za.h[w8, 0, vgx4], {z0.h - z3.h}, z0.h // 11000001-00110000-00011100-00001000
449 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z0.h - z3.h }, z0.h
450 // CHECK-ENCODING: [0x08,0x1c,0x30,0xc1]
451 // CHECK-ERROR: instruction requires: sme-f16f16
452 // CHECK-UNKNOWN: c1301c08 <unknown>
454 fmls za.h[w8, 0], {z0.h - z3.h}, z0.h // 11000001-00110000-00011100-00001000
455 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z0.h - z3.h }, z0.h
456 // CHECK-ENCODING: [0x08,0x1c,0x30,0xc1]
457 // CHECK-ERROR: instruction requires: sme-f16f16
458 // CHECK-UNKNOWN: c1301c08 <unknown>
460 fmls za.h[w10, 5, vgx4], {z10.h - z13.h}, z5.h // 11000001-00110101-01011101-01001101
461 // CHECK-INST: fmls za.h[w10, 5, vgx4], { z10.h - z13.h }, z5.h
462 // CHECK-ENCODING: [0x4d,0x5d,0x35,0xc1]
463 // CHECK-ERROR: instruction requires: sme-f16f16
464 // CHECK-UNKNOWN: c1355d4d <unknown>
466 fmls za.h[w10, 5], {z10.h - z13.h}, z5.h // 11000001-00110101-01011101-01001101
467 // CHECK-INST: fmls za.h[w10, 5, vgx4], { z10.h - z13.h }, z5.h
468 // CHECK-ENCODING: [0x4d,0x5d,0x35,0xc1]
469 // CHECK-ERROR: instruction requires: sme-f16f16
470 // CHECK-UNKNOWN: c1355d4d <unknown>
472 fmls za.h[w11, 7, vgx4], {z13.h - z16.h}, z8.h // 11000001-00111000-01111101-10101111
473 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z13.h - z16.h }, z8.h
474 // CHECK-ENCODING: [0xaf,0x7d,0x38,0xc1]
475 // CHECK-ERROR: instruction requires: sme-f16f16
476 // CHECK-UNKNOWN: c1387daf <unknown>
478 fmls za.h[w11, 7], {z13.h - z16.h}, z8.h // 11000001-00111000-01111101-10101111
479 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z13.h - z16.h }, z8.h
480 // CHECK-ENCODING: [0xaf,0x7d,0x38,0xc1]
481 // CHECK-ERROR: instruction requires: sme-f16f16
482 // CHECK-UNKNOWN: c1387daf <unknown>
484 fmls za.h[w11, 7, vgx4], {z31.h, z0.h, z1.h, z2.h}, z15.h // 11000001-00111111-01111111-11101111
485 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
486 // CHECK-ENCODING: [0xef,0x7f,0x3f,0xc1]
487 // CHECK-ERROR: instruction requires: sme-f16f16
488 // CHECK-UNKNOWN: c13f7fef <unknown>
490 fmls za.h[w11, 7], {z31.h, z0.h, z1.h, z2.h}, z15.h // 11000001-00111111-01111111-11101111
491 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h
492 // CHECK-ENCODING: [0xef,0x7f,0x3f,0xc1]
493 // CHECK-ERROR: instruction requires: sme-f16f16
494 // CHECK-UNKNOWN: c13f7fef <unknown>
496 fmls za.h[w8, 5, vgx4], {z17.h - z20.h}, z0.h // 11000001-00110000-00011110-00101101
497 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z17.h - z20.h }, z0.h
498 // CHECK-ENCODING: [0x2d,0x1e,0x30,0xc1]
499 // CHECK-ERROR: instruction requires: sme-f16f16
500 // CHECK-UNKNOWN: c1301e2d <unknown>
502 fmls za.h[w8, 5], {z17.h - z20.h}, z0.h // 11000001-00110000-00011110-00101101
503 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z17.h - z20.h }, z0.h
504 // CHECK-ENCODING: [0x2d,0x1e,0x30,0xc1]
505 // CHECK-ERROR: instruction requires: sme-f16f16
506 // CHECK-UNKNOWN: c1301e2d <unknown>
508 fmls za.h[w8, 1, vgx4], {z1.h - z4.h}, z14.h // 11000001-00111110-00011100-00101001
509 // CHECK-INST: fmls za.h[w8, 1, vgx4], { z1.h - z4.h }, z14.h
510 // CHECK-ENCODING: [0x29,0x1c,0x3e,0xc1]
511 // CHECK-ERROR: instruction requires: sme-f16f16
512 // CHECK-UNKNOWN: c13e1c29 <unknown>
514 fmls za.h[w8, 1], {z1.h - z4.h}, z14.h // 11000001-00111110-00011100-00101001
515 // CHECK-INST: fmls za.h[w8, 1, vgx4], { z1.h - z4.h }, z14.h
516 // CHECK-ENCODING: [0x29,0x1c,0x3e,0xc1]
517 // CHECK-ERROR: instruction requires: sme-f16f16
518 // CHECK-UNKNOWN: c13e1c29 <unknown>
520 fmls za.h[w10, 0, vgx4], {z19.h - z22.h}, z4.h // 11000001-00110100-01011110-01101000
521 // CHECK-INST: fmls za.h[w10, 0, vgx4], { z19.h - z22.h }, z4.h
522 // CHECK-ENCODING: [0x68,0x5e,0x34,0xc1]
523 // CHECK-ERROR: instruction requires: sme-f16f16
524 // CHECK-UNKNOWN: c1345e68 <unknown>
526 fmls za.h[w10, 0], {z19.h - z22.h}, z4.h // 11000001-00110100-01011110-01101000
527 // CHECK-INST: fmls za.h[w10, 0, vgx4], { z19.h - z22.h }, z4.h
528 // CHECK-ENCODING: [0x68,0x5e,0x34,0xc1]
529 // CHECK-ERROR: instruction requires: sme-f16f16
530 // CHECK-UNKNOWN: c1345e68 <unknown>
532 fmls za.h[w8, 0, vgx4], {z12.h - z15.h}, z2.h // 11000001-00110010-00011101-10001000
533 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z12.h - z15.h }, z2.h
534 // CHECK-ENCODING: [0x88,0x1d,0x32,0xc1]
535 // CHECK-ERROR: instruction requires: sme-f16f16
536 // CHECK-UNKNOWN: c1321d88 <unknown>
538 fmls za.h[w8, 0], {z12.h - z15.h}, z2.h // 11000001-00110010-00011101-10001000
539 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z12.h - z15.h }, z2.h
540 // CHECK-ENCODING: [0x88,0x1d,0x32,0xc1]
541 // CHECK-ERROR: instruction requires: sme-f16f16
542 // CHECK-UNKNOWN: c1321d88 <unknown>
544 fmls za.h[w10, 1, vgx4], {z1.h - z4.h}, z10.h // 11000001-00111010-01011100-00101001
545 // CHECK-INST: fmls za.h[w10, 1, vgx4], { z1.h - z4.h }, z10.h
546 // CHECK-ENCODING: [0x29,0x5c,0x3a,0xc1]
547 // CHECK-ERROR: instruction requires: sme-f16f16
548 // CHECK-UNKNOWN: c13a5c29 <unknown>
550 fmls za.h[w10, 1], {z1.h - z4.h}, z10.h // 11000001-00111010-01011100-00101001
551 // CHECK-INST: fmls za.h[w10, 1, vgx4], { z1.h - z4.h }, z10.h
552 // CHECK-ENCODING: [0x29,0x5c,0x3a,0xc1]
553 // CHECK-ERROR: instruction requires: sme-f16f16
554 // CHECK-UNKNOWN: c13a5c29 <unknown>
556 fmls za.h[w8, 5, vgx4], {z22.h - z25.h}, z14.h // 11000001-00111110-00011110-11001101
557 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z22.h - z25.h }, z14.h
558 // CHECK-ENCODING: [0xcd,0x1e,0x3e,0xc1]
559 // CHECK-ERROR: instruction requires: sme-f16f16
560 // CHECK-UNKNOWN: c13e1ecd <unknown>
562 fmls za.h[w8, 5], {z22.h - z25.h}, z14.h // 11000001-00111110-00011110-11001101
563 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z22.h - z25.h }, z14.h
564 // CHECK-ENCODING: [0xcd,0x1e,0x3e,0xc1]
565 // CHECK-ERROR: instruction requires: sme-f16f16
566 // CHECK-UNKNOWN: c13e1ecd <unknown>
568 fmls za.h[w11, 2, vgx4], {z9.h - z12.h}, z1.h // 11000001-00110001-01111101-00101010
569 // CHECK-INST: fmls za.h[w11, 2, vgx4], { z9.h - z12.h }, z1.h
570 // CHECK-ENCODING: [0x2a,0x7d,0x31,0xc1]
571 // CHECK-ERROR: instruction requires: sme-f16f16
572 // CHECK-UNKNOWN: c1317d2a <unknown>
574 fmls za.h[w11, 2], {z9.h - z12.h}, z1.h // 11000001-00110001-01111101-00101010
575 // CHECK-INST: fmls za.h[w11, 2, vgx4], { z9.h - z12.h }, z1.h
576 // CHECK-ENCODING: [0x2a,0x7d,0x31,0xc1]
577 // CHECK-ERROR: instruction requires: sme-f16f16
578 // CHECK-UNKNOWN: c1317d2a <unknown>
580 fmls za.h[w9, 7, vgx4], {z12.h - z15.h}, z11.h // 11000001-00111011-00111101-10001111
581 // CHECK-INST: fmls za.h[w9, 7, vgx4], { z12.h - z15.h }, z11.h
582 // CHECK-ENCODING: [0x8f,0x3d,0x3b,0xc1]
583 // CHECK-ERROR: instruction requires: sme-f16f16
584 // CHECK-UNKNOWN: c13b3d8f <unknown>
586 fmls za.h[w9, 7], {z12.h - z15.h}, z11.h // 11000001-00111011-00111101-10001111
587 // CHECK-INST: fmls za.h[w9, 7, vgx4], { z12.h - z15.h }, z11.h
588 // CHECK-ENCODING: [0x8f,0x3d,0x3b,0xc1]
589 // CHECK-ERROR: instruction requires: sme-f16f16
590 // CHECK-UNKNOWN: c13b3d8f <unknown>
592 fmls za.h[w8, 0, vgx4], {z0.h - z3.h}, z0.h[0] // 11000001-00010000-10010000-00010000
593 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0]
594 // CHECK-ENCODING: [0x10,0x90,0x10,0xc1]
595 // CHECK-ERROR: instruction requires: sme-f16f16
596 // CHECK-UNKNOWN: c1109010 <unknown>
598 fmls za.h[w8, 0], {z0.h - z3.h}, z0.h[0] // 11000001-00010000-10010000-00010000
599 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0]
600 // CHECK-ENCODING: [0x10,0x90,0x10,0xc1]
601 // CHECK-ERROR: instruction requires: sme-f16f16
602 // CHECK-UNKNOWN: c1109010 <unknown>
604 fmls za.h[w10, 5, vgx4], {z8.h - z11.h}, z5.h[2] // 11000001-00010101-11010101-00010101
605 // CHECK-INST: fmls za.h[w10, 5, vgx4], { z8.h - z11.h }, z5.h[2]
606 // CHECK-ENCODING: [0x15,0xd5,0x15,0xc1]
607 // CHECK-ERROR: instruction requires: sme-f16f16
608 // CHECK-UNKNOWN: c115d515 <unknown>
610 fmls za.h[w10, 5], {z8.h - z11.h}, z5.h[2] // 11000001-00010101-11010101-00010101
611 // CHECK-INST: fmls za.h[w10, 5, vgx4], { z8.h - z11.h }, z5.h[2]
612 // CHECK-ENCODING: [0x15,0xd5,0x15,0xc1]
613 // CHECK-ERROR: instruction requires: sme-f16f16
614 // CHECK-UNKNOWN: c115d515 <unknown>
616 fmls za.h[w11, 7, vgx4], {z12.h - z15.h}, z8.h[6] // 11000001-00011000-11111101-10010111
617 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z12.h - z15.h }, z8.h[6]
618 // CHECK-ENCODING: [0x97,0xfd,0x18,0xc1]
619 // CHECK-ERROR: instruction requires: sme-f16f16
620 // CHECK-UNKNOWN: c118fd97 <unknown>
622 fmls za.h[w11, 7], {z12.h - z15.h}, z8.h[6] // 11000001-00011000-11111101-10010111
623 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z12.h - z15.h }, z8.h[6]
624 // CHECK-ENCODING: [0x97,0xfd,0x18,0xc1]
625 // CHECK-ERROR: instruction requires: sme-f16f16
626 // CHECK-UNKNOWN: c118fd97 <unknown>
628 fmls za.h[w11, 7, vgx4], {z28.h - z31.h}, z15.h[7] // 11000001-00011111-11111111-10011111
629 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z28.h - z31.h }, z15.h[7]
630 // CHECK-ENCODING: [0x9f,0xff,0x1f,0xc1]
631 // CHECK-ERROR: instruction requires: sme-f16f16
632 // CHECK-UNKNOWN: c11fff9f <unknown>
634 fmls za.h[w11, 7], {z28.h - z31.h}, z15.h[7] // 11000001-00011111-11111111-10011111
635 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z28.h - z31.h }, z15.h[7]
636 // CHECK-ENCODING: [0x9f,0xff,0x1f,0xc1]
637 // CHECK-ERROR: instruction requires: sme-f16f16
638 // CHECK-UNKNOWN: c11fff9f <unknown>
640 fmls za.h[w8, 5, vgx4], {z16.h - z19.h}, z0.h[6] // 11000001-00010000-10011110-00010101
641 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z16.h - z19.h }, z0.h[6]
642 // CHECK-ENCODING: [0x15,0x9e,0x10,0xc1]
643 // CHECK-ERROR: instruction requires: sme-f16f16
644 // CHECK-UNKNOWN: c1109e15 <unknown>
646 fmls za.h[w8, 5], {z16.h - z19.h}, z0.h[6] // 11000001-00010000-10011110-00010101
647 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z16.h - z19.h }, z0.h[6]
648 // CHECK-ENCODING: [0x15,0x9e,0x10,0xc1]
649 // CHECK-ERROR: instruction requires: sme-f16f16
650 // CHECK-UNKNOWN: c1109e15 <unknown>
652 fmls za.h[w8, 1, vgx4], {z0.h - z3.h}, z14.h[2] // 11000001-00011110-10010100-00010001
653 // CHECK-INST: fmls za.h[w8, 1, vgx4], { z0.h - z3.h }, z14.h[2]
654 // CHECK-ENCODING: [0x11,0x94,0x1e,0xc1]
655 // CHECK-ERROR: instruction requires: sme-f16f16
656 // CHECK-UNKNOWN: c11e9411 <unknown>
658 fmls za.h[w8, 1], {z0.h - z3.h}, z14.h[2] // 11000001-00011110-10010100-00010001
659 // CHECK-INST: fmls za.h[w8, 1, vgx4], { z0.h - z3.h }, z14.h[2]
660 // CHECK-ENCODING: [0x11,0x94,0x1e,0xc1]
661 // CHECK-ERROR: instruction requires: sme-f16f16
662 // CHECK-UNKNOWN: c11e9411 <unknown>
664 fmls za.h[w10, 0, vgx4], {z16.h - z19.h}, z4.h[3] // 11000001-00010100-11010110-00011000
665 // CHECK-INST: fmls za.h[w10, 0, vgx4], { z16.h - z19.h }, z4.h[3]
666 // CHECK-ENCODING: [0x18,0xd6,0x14,0xc1]
667 // CHECK-ERROR: instruction requires: sme-f16f16
668 // CHECK-UNKNOWN: c114d618 <unknown>
670 fmls za.h[w10, 0], {z16.h - z19.h}, z4.h[3] // 11000001-00010100-11010110-00011000
671 // CHECK-INST: fmls za.h[w10, 0, vgx4], { z16.h - z19.h }, z4.h[3]
672 // CHECK-ENCODING: [0x18,0xd6,0x14,0xc1]
673 // CHECK-ERROR: instruction requires: sme-f16f16
674 // CHECK-UNKNOWN: c114d618 <unknown>
676 fmls za.h[w8, 0, vgx4], {z12.h - z15.h}, z2.h[4] // 11000001-00010010-10011001-10010000
677 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z12.h - z15.h }, z2.h[4]
678 // CHECK-ENCODING: [0x90,0x99,0x12,0xc1]
679 // CHECK-ERROR: instruction requires: sme-f16f16
680 // CHECK-UNKNOWN: c1129990 <unknown>
682 fmls za.h[w8, 0], {z12.h - z15.h}, z2.h[4] // 11000001-00010010-10011001-10010000
683 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z12.h - z15.h }, z2.h[4]
684 // CHECK-ENCODING: [0x90,0x99,0x12,0xc1]
685 // CHECK-ERROR: instruction requires: sme-f16f16
686 // CHECK-UNKNOWN: c1129990 <unknown>
688 fmls za.h[w10, 1, vgx4], {z0.h - z3.h}, z10.h[4] // 11000001-00011010-11011000-00010001
689 // CHECK-INST: fmls za.h[w10, 1, vgx4], { z0.h - z3.h }, z10.h[4]
690 // CHECK-ENCODING: [0x11,0xd8,0x1a,0xc1]
691 // CHECK-ERROR: instruction requires: sme-f16f16
692 // CHECK-UNKNOWN: c11ad811 <unknown>
694 fmls za.h[w10, 1], {z0.h - z3.h}, z10.h[4] // 11000001-00011010-11011000-00010001
695 // CHECK-INST: fmls za.h[w10, 1, vgx4], { z0.h - z3.h }, z10.h[4]
696 // CHECK-ENCODING: [0x11,0xd8,0x1a,0xc1]
697 // CHECK-ERROR: instruction requires: sme-f16f16
698 // CHECK-UNKNOWN: c11ad811 <unknown>
700 fmls za.h[w8, 5, vgx4], {z20.h - z23.h}, z14.h[5] // 11000001-00011110-10011010-10011101
701 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z20.h - z23.h }, z14.h[5]
702 // CHECK-ENCODING: [0x9d,0x9a,0x1e,0xc1]
703 // CHECK-ERROR: instruction requires: sme-f16f16
704 // CHECK-UNKNOWN: c11e9a9d <unknown>
706 fmls za.h[w8, 5], {z20.h - z23.h}, z14.h[5] // 11000001-00011110-10011010-10011101
707 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z20.h - z23.h }, z14.h[5]
708 // CHECK-ENCODING: [0x9d,0x9a,0x1e,0xc1]
709 // CHECK-ERROR: instruction requires: sme-f16f16
710 // CHECK-UNKNOWN: c11e9a9d <unknown>
712 fmls za.h[w11, 2, vgx4], {z8.h - z11.h}, z1.h[2] // 11000001-00010001-11110101-00010010
713 // CHECK-INST: fmls za.h[w11, 2, vgx4], { z8.h - z11.h }, z1.h[2]
714 // CHECK-ENCODING: [0x12,0xf5,0x11,0xc1]
715 // CHECK-ERROR: instruction requires: sme-f16f16
716 // CHECK-UNKNOWN: c111f512 <unknown>
718 fmls za.h[w11, 2], {z8.h - z11.h}, z1.h[2] // 11000001-00010001-11110101-00010010
719 // CHECK-INST: fmls za.h[w11, 2, vgx4], { z8.h - z11.h }, z1.h[2]
720 // CHECK-ENCODING: [0x12,0xf5,0x11,0xc1]
721 // CHECK-ERROR: instruction requires: sme-f16f16
722 // CHECK-UNKNOWN: c111f512 <unknown>
724 fmls za.h[w9, 7, vgx4], {z12.h - z15.h}, z11.h[4] // 11000001-00011011-10111001-10010111
725 // CHECK-INST: fmls za.h[w9, 7, vgx4], { z12.h - z15.h }, z11.h[4]
726 // CHECK-ENCODING: [0x97,0xb9,0x1b,0xc1]
727 // CHECK-ERROR: instruction requires: sme-f16f16
728 // CHECK-UNKNOWN: c11bb997 <unknown>
730 fmls za.h[w9, 7], {z12.h - z15.h}, z11.h[4] // 11000001-00011011-10111001-10010111
731 // CHECK-INST: fmls za.h[w9, 7, vgx4], { z12.h - z15.h }, z11.h[4]
732 // CHECK-ENCODING: [0x97,0xb9,0x1b,0xc1]
733 // CHECK-ERROR: instruction requires: sme-f16f16
734 // CHECK-UNKNOWN: c11bb997 <unknown>
736 fmls za.h[w8, 0, vgx4], {z0.h - z3.h}, {z0.h - z3.h} // 11000001-10100001-00010000-00011000
737 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
738 // CHECK-ENCODING: [0x18,0x10,0xa1,0xc1]
739 // CHECK-ERROR: instruction requires: sme-f16f16
740 // CHECK-UNKNOWN: c1a11018 <unknown>
742 fmls za.h[w8, 0], {z0.h - z3.h}, {z0.h - z3.h} // 11000001-10100001-00010000-00011000
743 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z0.h - z3.h }, { z0.h - z3.h }
744 // CHECK-ENCODING: [0x18,0x10,0xa1,0xc1]
745 // CHECK-ERROR: instruction requires: sme-f16f16
746 // CHECK-UNKNOWN: c1a11018 <unknown>
748 fmls za.h[w10, 5, vgx4], {z8.h - z11.h}, {z20.h - z23.h} // 11000001-10110101-01010001-00011101
749 // CHECK-INST: fmls za.h[w10, 5, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
750 // CHECK-ENCODING: [0x1d,0x51,0xb5,0xc1]
751 // CHECK-ERROR: instruction requires: sme-f16f16
752 // CHECK-UNKNOWN: c1b5511d <unknown>
754 fmls za.h[w10, 5], {z8.h - z11.h}, {z20.h - z23.h} // 11000001-10110101-01010001-00011101
755 // CHECK-INST: fmls za.h[w10, 5, vgx4], { z8.h - z11.h }, { z20.h - z23.h }
756 // CHECK-ENCODING: [0x1d,0x51,0xb5,0xc1]
757 // CHECK-ERROR: instruction requires: sme-f16f16
758 // CHECK-UNKNOWN: c1b5511d <unknown>
760 fmls za.h[w11, 7, vgx4], {z12.h - z15.h}, {z8.h - z11.h} // 11000001-10101001-01110001-10011111
761 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
762 // CHECK-ENCODING: [0x9f,0x71,0xa9,0xc1]
763 // CHECK-ERROR: instruction requires: sme-f16f16
764 // CHECK-UNKNOWN: c1a9719f <unknown>
766 fmls za.h[w11, 7], {z12.h - z15.h}, {z8.h - z11.h} // 11000001-10101001-01110001-10011111
767 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
768 // CHECK-ENCODING: [0x9f,0x71,0xa9,0xc1]
769 // CHECK-ERROR: instruction requires: sme-f16f16
770 // CHECK-UNKNOWN: c1a9719f <unknown>
772 fmls za.h[w11, 7, vgx4], {z28.h - z31.h}, {z28.h - z31.h} // 11000001-10111101-01110011-10011111
773 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
774 // CHECK-ENCODING: [0x9f,0x73,0xbd,0xc1]
775 // CHECK-ERROR: instruction requires: sme-f16f16
776 // CHECK-UNKNOWN: c1bd739f <unknown>
778 fmls za.h[w11, 7], {z28.h - z31.h}, {z28.h - z31.h} // 11000001-10111101-01110011-10011111
779 // CHECK-INST: fmls za.h[w11, 7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }
780 // CHECK-ENCODING: [0x9f,0x73,0xbd,0xc1]
781 // CHECK-ERROR: instruction requires: sme-f16f16
782 // CHECK-UNKNOWN: c1bd739f <unknown>
784 fmls za.h[w8, 5, vgx4], {z16.h - z19.h}, {z16.h - z19.h} // 11000001-10110001-00010010-00011101
785 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
786 // CHECK-ENCODING: [0x1d,0x12,0xb1,0xc1]
787 // CHECK-ERROR: instruction requires: sme-f16f16
788 // CHECK-UNKNOWN: c1b1121d <unknown>
790 fmls za.h[w8, 5], {z16.h - z19.h}, {z16.h - z19.h} // 11000001-10110001-00010010-00011101
791 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z16.h - z19.h }, { z16.h - z19.h }
792 // CHECK-ENCODING: [0x1d,0x12,0xb1,0xc1]
793 // CHECK-ERROR: instruction requires: sme-f16f16
794 // CHECK-UNKNOWN: c1b1121d <unknown>
796 fmls za.h[w8, 1, vgx4], {z0.h - z3.h}, {z28.h - z31.h} // 11000001-10111101-00010000-00011001
797 // CHECK-INST: fmls za.h[w8, 1, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
798 // CHECK-ENCODING: [0x19,0x10,0xbd,0xc1]
799 // CHECK-ERROR: instruction requires: sme-f16f16
800 // CHECK-UNKNOWN: c1bd1019 <unknown>
802 fmls za.h[w8, 1], {z0.h - z3.h}, {z28.h - z31.h} // 11000001-10111101-00010000-00011001
803 // CHECK-INST: fmls za.h[w8, 1, vgx4], { z0.h - z3.h }, { z28.h - z31.h }
804 // CHECK-ENCODING: [0x19,0x10,0xbd,0xc1]
805 // CHECK-ERROR: instruction requires: sme-f16f16
806 // CHECK-UNKNOWN: c1bd1019 <unknown>
808 fmls za.h[w10, 0, vgx4], {z16.h - z19.h}, {z20.h - z23.h} // 11000001-10110101-01010010-00011000
809 // CHECK-INST: fmls za.h[w10, 0, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
810 // CHECK-ENCODING: [0x18,0x52,0xb5,0xc1]
811 // CHECK-ERROR: instruction requires: sme-f16f16
812 // CHECK-UNKNOWN: c1b55218 <unknown>
814 fmls za.h[w10, 0], {z16.h - z19.h}, {z20.h - z23.h} // 11000001-10110101-01010010-00011000
815 // CHECK-INST: fmls za.h[w10, 0, vgx4], { z16.h - z19.h }, { z20.h - z23.h }
816 // CHECK-ENCODING: [0x18,0x52,0xb5,0xc1]
817 // CHECK-ERROR: instruction requires: sme-f16f16
818 // CHECK-UNKNOWN: c1b55218 <unknown>
820 fmls za.h[w8, 0, vgx4], {z12.h - z15.h}, {z0.h - z3.h} // 11000001-10100001-00010001-10011000
821 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
822 // CHECK-ENCODING: [0x98,0x11,0xa1,0xc1]
823 // CHECK-ERROR: instruction requires: sme-f16f16
824 // CHECK-UNKNOWN: c1a11198 <unknown>
826 fmls za.h[w8, 0], {z12.h - z15.h}, {z0.h - z3.h} // 11000001-10100001-00010001-10011000
827 // CHECK-INST: fmls za.h[w8, 0, vgx4], { z12.h - z15.h }, { z0.h - z3.h }
828 // CHECK-ENCODING: [0x98,0x11,0xa1,0xc1]
829 // CHECK-ERROR: instruction requires: sme-f16f16
830 // CHECK-UNKNOWN: c1a11198 <unknown>
832 fmls za.h[w10, 1, vgx4], {z0.h - z3.h}, {z24.h - z27.h} // 11000001-10111001-01010000-00011001
833 // CHECK-INST: fmls za.h[w10, 1, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
834 // CHECK-ENCODING: [0x19,0x50,0xb9,0xc1]
835 // CHECK-ERROR: instruction requires: sme-f16f16
836 // CHECK-UNKNOWN: c1b95019 <unknown>
838 fmls za.h[w10, 1], {z0.h - z3.h}, {z24.h - z27.h} // 11000001-10111001-01010000-00011001
839 // CHECK-INST: fmls za.h[w10, 1, vgx4], { z0.h - z3.h }, { z24.h - z27.h }
840 // CHECK-ENCODING: [0x19,0x50,0xb9,0xc1]
841 // CHECK-ERROR: instruction requires: sme-f16f16
842 // CHECK-UNKNOWN: c1b95019 <unknown>
844 fmls za.h[w8, 5, vgx4], {z20.h - z23.h}, {z28.h - z31.h} // 11000001-10111101-00010010-10011101
845 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
846 // CHECK-ENCODING: [0x9d,0x12,0xbd,0xc1]
847 // CHECK-ERROR: instruction requires: sme-f16f16
848 // CHECK-UNKNOWN: c1bd129d <unknown>
850 fmls za.h[w8, 5], {z20.h - z23.h}, {z28.h - z31.h} // 11000001-10111101-00010010-10011101
851 // CHECK-INST: fmls za.h[w8, 5, vgx4], { z20.h - z23.h }, { z28.h - z31.h }
852 // CHECK-ENCODING: [0x9d,0x12,0xbd,0xc1]
853 // CHECK-ERROR: instruction requires: sme-f16f16
854 // CHECK-UNKNOWN: c1bd129d <unknown>
856 fmls za.h[w11, 2, vgx4], {z8.h - z11.h}, {z0.h - z3.h} // 11000001-10100001-01110001-00011010
857 // CHECK-INST: fmls za.h[w11, 2, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
858 // CHECK-ENCODING: [0x1a,0x71,0xa1,0xc1]
859 // CHECK-ERROR: instruction requires: sme-f16f16
860 // CHECK-UNKNOWN: c1a1711a <unknown>
862 fmls za.h[w11, 2], {z8.h - z11.h}, {z0.h - z3.h} // 11000001-10100001-01110001-00011010
863 // CHECK-INST: fmls za.h[w11, 2, vgx4], { z8.h - z11.h }, { z0.h - z3.h }
864 // CHECK-ENCODING: [0x1a,0x71,0xa1,0xc1]
865 // CHECK-ERROR: instruction requires: sme-f16f16
866 // CHECK-UNKNOWN: c1a1711a <unknown>
868 fmls za.h[w9, 7, vgx4], {z12.h - z15.h}, {z8.h - z11.h} // 11000001-10101001-00110001-10011111
869 // CHECK-INST: fmls za.h[w9, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
870 // CHECK-ENCODING: [0x9f,0x31,0xa9,0xc1]
871 // CHECK-ERROR: instruction requires: sme-f16f16
872 // CHECK-UNKNOWN: c1a9319f <unknown>
874 fmls za.h[w9, 7], {z12.h - z15.h}, {z8.h - z11.h} // 11000001-10101001-00110001-10011111
875 // CHECK-INST: fmls za.h[w9, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }
876 // CHECK-ENCODING: [0x9f,0x31,0xa9,0xc1]
877 // CHECK-ERROR: instruction requires: sme-f16f16
878 // CHECK-UNKNOWN: c1a9319f <unknown>