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 13 14fmls 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> 19 20fmls 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> 25 26fmls 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> 31 32fmls 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> 37 38fmls 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> 43 44fmls 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> 49 50fmls 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> 55 56fmls 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> 61 62fmls 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> 67 68fmls 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> 73 74fmls 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> 79 80fmls 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> 85 86fmls 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> 91 92fmls 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> 97 98fmls 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> 103 104fmls 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> 109 110fmls 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> 115 116fmls 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> 121 122fmls 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> 127 128fmls 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> 133 134fmls 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> 139 140fmls 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> 145 146fmls 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> 151 152fmls 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> 157 158 159fmls 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> 164 165fmls 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> 170 171fmls 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> 176 177fmls 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> 182 183fmls 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> 188 189fmls 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> 194 195fmls 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> 200 201fmls 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> 206 207fmls 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> 212 213fmls 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> 218 219fmls 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> 224 225fmls 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> 230 231fmls 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> 236 237fmls 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> 242 243fmls 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> 248 249fmls 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> 254 255fmls 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> 260 261fmls 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> 266 267fmls 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> 272 273fmls 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> 278 279fmls 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> 284 285fmls 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> 290 291fmls 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> 296 297fmls 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> 302 303 304fmls 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> 309 310fmls 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> 315 316fmls 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> 321 322fmls 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> 327 328fmls 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> 333 334fmls 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> 339 340fmls 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> 345 346fmls 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> 351 352fmls 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> 357 358fmls 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> 363 364fmls 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> 369 370fmls 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> 375 376fmls 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> 381 382fmls 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> 387 388fmls 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> 393 394fmls 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> 399 400fmls 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> 405 406fmls 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> 411 412fmls 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> 417 418fmls 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> 423 424fmls 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> 429 430fmls 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> 435 436fmls 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> 441 442fmls 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> 447 448fmls 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> 453 454fmls 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> 459 460fmls 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> 465 466fmls 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> 471 472fmls 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> 477 478fmls 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> 483 484fmls 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> 489 490fmls 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> 495 496fmls 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> 501 502fmls 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> 507 508fmls 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> 513 514fmls 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> 519 520fmls 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> 525 526fmls 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> 531 532fmls 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> 537 538fmls 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> 543 544fmls 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> 549 550fmls 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> 555 556fmls 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> 561 562fmls 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> 567 568fmls 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> 573 574fmls 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> 579 580fmls 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> 585 586fmls 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> 591 592fmls 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> 597 598fmls 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> 603 604fmls 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> 609 610fmls 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> 615 616fmls 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> 621 622fmls 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> 627 628fmls 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> 633 634fmls 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> 639 640fmls 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> 645 646fmls 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> 651 652fmls 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> 657 658fmls 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> 663 664fmls 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> 669 670fmls 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> 675 676fmls 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> 681 682fmls 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> 687 688fmls 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> 693 694fmls 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> 699 700fmls 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> 705 706fmls 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> 711 712fmls 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> 717 718fmls 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> 723 724fmls 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> 729 730fmls 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> 735 736fmls 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> 741 742fmls 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> 747 748fmls 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> 753 754fmls 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> 759 760fmls 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> 765 766fmls 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> 771 772fmls 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> 777 778fmls 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> 783 784fmls 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> 789 790fmls 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> 795 796fmls 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> 801 802fmls 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> 807 808fmls 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> 813 814fmls 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> 819 820fmls 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> 825 826fmls 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> 831 832fmls 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> 837 838fmls 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> 843 844fmls 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> 849 850fmls 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> 855 856fmls 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> 861 862fmls 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> 867 868fmls 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> 873 874fmls 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> 879