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 14 15 16fmlal za.h[w8, 0:1], z0.b, z0.b // 11000001-00110000-00001100-00000000 17// CHECK-INST: fmlal za.h[w8, 0:1], z0.b, z0.b 18// CHECK-ENCODING: [0x00,0x0c,0x30,0xc1] 19// CHECK-ERROR: instruction requires: sme-f8f16 20// CHECK-UNKNOWN: c1300c00 <unknown> 21 22fmlal za.h[w11, 14:15], z31.b, z15.b // 11000001-00111111-01101111-11100111 23// CHECK-INST: fmlal za.h[w11, 14:15], z31.b, z15.b 24// CHECK-ENCODING: [0xe7,0x6f,0x3f,0xc1] 25// CHECK-ERROR: instruction requires: sme-f8f16 26// CHECK-UNKNOWN: c13f6fe7 <unknown> 27 28fmlal za.h[w8, 0:1], z0.b, z0.b[0] // 11000001-11000000-00000000-00000000 29// CHECK-INST: fmlal za.h[w8, 0:1], z0.b, z0.b[0] 30// CHECK-ENCODING: [0x00,0x00,0xc0,0xc1] 31// CHECK-ERROR: instruction requires: sme-f8f16 32// CHECK-UNKNOWN: c1c00000 <unknown> 33 34fmlal za.h[w11, 14:15], z31.b, z15.b[15] // 11000001-11001111-11101111-11101111 35// CHECK-INST: fmlal za.h[w11, 14:15], z31.b, z15.b[15] 36// CHECK-ENCODING: [0xef,0xef,0xcf,0xc1] 37// CHECK-ERROR: instruction requires: sme-f8f16 38// CHECK-UNKNOWN: c1cfefef <unknown> 39 40// x2 41 42fmlal za.h[w8, 0:1, vgx2], {z0.b-z1.b}, z0.b // 11000001-00100000-00001000-00000100 43// CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, z0.b 44// CHECK-ENCODING: [0x04,0x08,0x20,0xc1] 45// CHECK-ERROR: instruction requires: sme-f8f16 46// CHECK-UNKNOWN: c1200804 <unknown> 47 48fmlal za.h[w8, 0:1], {z0.b-z1.b}, z0.b // 11000001-00100000-00001000-00000100 49// CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, z0.b 50// CHECK-ENCODING: [0x04,0x08,0x20,0xc1] 51// CHECK-ERROR: instruction requires: sme-f8f16 52// CHECK-UNKNOWN: c1200804 <unknown> 53 54fmlal za.h[w11, 6:7, vgx2], {z31.b-z0.b}, z15.b // 11000001-00101111-01101011-11100111 55// CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z31.b, z0.b }, z15.b 56// CHECK-ENCODING: [0xe7,0x6b,0x2f,0xc1] 57// CHECK-ERROR: instruction requires: sme-f8f16 58// CHECK-UNKNOWN: c12f6be7 <unknown> 59 60fmlal za.h[w11, 6:7], {z31.b-z0.b}, z15.b // 11000001-00101111-01101011-11100111 61// CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z31.b, z0.b }, z15.b 62// CHECK-ENCODING: [0xe7,0x6b,0x2f,0xc1] 63// CHECK-ERROR: instruction requires: sme-f8f16 64// CHECK-UNKNOWN: c12f6be7 <unknown> 65 66fmlal za.h[w8, 0:1, vgx2], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00001000-00100000 67// CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, { z0.b, z1.b } 68// CHECK-ENCODING: [0x20,0x08,0xa0,0xc1] 69// CHECK-ERROR: instruction requires: sme-f8f16 70// CHECK-UNKNOWN: c1a00820 <unknown> 71 72fmlal za.h[w8, 0:1], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00001000-00100000 73// CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, { z0.b, z1.b } 74// CHECK-ENCODING: [0x20,0x08,0xa0,0xc1] 75// CHECK-ERROR: instruction requires: sme-f8f16 76// CHECK-UNKNOWN: c1a00820 <unknown> 77 78fmlal za.h[w11, 6:7, vgx2], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01101011-11100011 79// CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z30.b, z31.b }, { z30.b, z31.b } 80// CHECK-ENCODING: [0xe3,0x6b,0xbe,0xc1] 81// CHECK-ERROR: instruction requires: sme-f8f16 82// CHECK-UNKNOWN: c1be6be3 <unknown> 83 84fmlal za.h[w11, 6:7], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01101011-11100011 85// CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z30.b, z31.b }, { z30.b, z31.b } 86// CHECK-ENCODING: [0xe3,0x6b,0xbe,0xc1] 87// CHECK-ERROR: instruction requires: sme-f8f16 88// CHECK-UNKNOWN: c1be6be3 <unknown> 89 90fmlal za.h[w8, 0:1, vgx2], {z0.b-z1.b}, z0.b[0] // 11000001-10010000-00010000-00110000 91// CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, z0.b[0] 92// CHECK-ENCODING: [0x30,0x10,0x90,0xc1] 93// CHECK-ERROR: instruction requires: sme-f8f16 94// CHECK-UNKNOWN: c1901030 <unknown> 95 96fmlal za.h[w8, 0:1], {z0.b-z1.b}, z0.b[0] // 11000001-10010000-00010000-00110000 97// CHECK-INST: fmlal za.h[w8, 0:1, vgx2], { z0.b, z1.b }, z0.b[0] 98// CHECK-ENCODING: [0x30,0x10,0x90,0xc1] 99// CHECK-ERROR: instruction requires: sme-f8f16 100// CHECK-UNKNOWN: c1901030 <unknown> 101 102fmlal za.h[w11, 6:7, vgx2], {z30.b-z31.b}, z15.b[15] // 11000001-10011111-01111111-11111111 103// CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z30.b, z31.b }, z15.b[15] 104// CHECK-ENCODING: [0xff,0x7f,0x9f,0xc1] 105// CHECK-ERROR: instruction requires: sme-f8f16 106// CHECK-UNKNOWN: c19f7fff <unknown> 107 108fmlal za.h[w11, 6:7], {z30.b-z31.b}, z15.b[15] // 11000001-10011111-01111111-11111111 109// CHECK-INST: fmlal za.h[w11, 6:7, vgx2], { z30.b, z31.b }, z15.b[15] 110// CHECK-ENCODING: [0xff,0x7f,0x9f,0xc1] 111// CHECK-ERROR: instruction requires: sme-f8f16 112// CHECK-UNKNOWN: c19f7fff <unknown> 113 114// x4 115 116fmlal za.h[w8, 0:1, vgx4], {z0.b-z3.b}, z0.b // 11000001-00110000-00001000-00000100 117// CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, z0.b 118// CHECK-ENCODING: [0x04,0x08,0x30,0xc1] 119// CHECK-ERROR: instruction requires: sme-f8f16 120// CHECK-UNKNOWN: c1300804 <unknown> 121 122fmlal za.h[w8, 0:1], {z0.b-z3.b}, z0.b // 11000001-00110000-00001000-00000100 123// CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, z0.b 124// CHECK-ENCODING: [0x04,0x08,0x30,0xc1] 125// CHECK-ERROR: instruction requires: sme-f8f16 126// CHECK-UNKNOWN: c1300804 <unknown> 127 128fmlal za.h[w11, 6:7, vgx4], {z31.b-z2.b}, z15.b // 11000001-00111111-01101011-11100111 129// CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b 130// CHECK-ENCODING: [0xe7,0x6b,0x3f,0xc1] 131// CHECK-ERROR: instruction requires: sme-f8f16 132// CHECK-UNKNOWN: c13f6be7 <unknown> 133 134fmlal za.h[w11, 6:7], {z31.b-z2.b}, z15.b // 11000001-00111111-01101011-11100111 135// CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b 136// CHECK-ENCODING: [0xe7,0x6b,0x3f,0xc1] 137// CHECK-ERROR: instruction requires: sme-f8f16 138// CHECK-UNKNOWN: c13f6be7 <unknown> 139 140fmlal za.h[w8, 0:1, vgx4], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00001000-00100000 141// CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, { z0.b - z3.b } 142// CHECK-ENCODING: [0x20,0x08,0xa1,0xc1] 143// CHECK-ERROR: instruction requires: sme-f8f16 144// CHECK-UNKNOWN: c1a10820 <unknown> 145 146fmlal za.h[w8, 0:1], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00001000-00100000 147// CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, { z0.b - z3.b } 148// CHECK-ENCODING: [0x20,0x08,0xa1,0xc1] 149// CHECK-ERROR: instruction requires: sme-f8f16 150// CHECK-UNKNOWN: c1a10820 <unknown> 151 152fmlal za.h[w11, 6:7, vgx4], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01101011-10100011 153// CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z28.b - z31.b }, { z28.b - z31.b } 154// CHECK-ENCODING: [0xa3,0x6b,0xbd,0xc1] 155// CHECK-ERROR: instruction requires: sme-f8f16 156// CHECK-UNKNOWN: c1bd6ba3 <unknown> 157 158fmlal za.h[w11, 6:7], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01101011-10100011 159// CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z28.b - z31.b }, { z28.b - z31.b } 160// CHECK-ENCODING: [0xa3,0x6b,0xbd,0xc1] 161// CHECK-ERROR: instruction requires: sme-f8f16 162// CHECK-UNKNOWN: c1bd6ba3 <unknown> 163 164fmlal za.h[w8, 0:1, vgx4], {z0.b-z3.b}, z0.b[0] // 11000001-10010000-10010000-00100000 165// CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, z0.b[0] 166// CHECK-ENCODING: [0x20,0x90,0x90,0xc1] 167// CHECK-ERROR: instruction requires: sme-f8f16 168// CHECK-UNKNOWN: c1909020 <unknown> 169 170fmlal za.h[w8, 0:1], {z0.b-z3.b}, z0.b[0] // 11000001-10010000-10010000-00100000 171// CHECK-INST: fmlal za.h[w8, 0:1, vgx4], { z0.b - z3.b }, z0.b[0] 172// CHECK-ENCODING: [0x20,0x90,0x90,0xc1] 173// CHECK-ERROR: instruction requires: sme-f8f16 174// CHECK-UNKNOWN: c1909020 <unknown> 175 176fmlal za.h[w11, 6:7, vgx4], {z28.b-z31.b}, z15.b[15] // 11000001-10011111-11111111-10101111 177// CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z28.b - z31.b }, z15.b[15] 178// CHECK-ENCODING: [0xaf,0xff,0x9f,0xc1] 179// CHECK-ERROR: instruction requires: sme-f8f16 180// CHECK-UNKNOWN: c19fffaf <unknown> 181 182fmlal za.h[w11, 6:7], {z28.b-z31.b}, z15.b[15] // 11000001-10011111-11111111-10101111 183// CHECK-INST: fmlal za.h[w11, 6:7, vgx4], { z28.b - z31.b }, z15.b[15] 184// CHECK-ENCODING: [0xaf,0xff,0x9f,0xc1] 185// CHECK-ERROR: instruction requires: sme-f8f16 186// CHECK-UNKNOWN: c19fffaf <unknown> 187 188 189//FMLALL 190 191fmlall za.s[w8, 0:3], z0.b, z0.b // 11000001-00110000-00000100-00000000 192// CHECK-INST: fmlall za.s[w8, 0:3], z0.b, z0.b 193// CHECK-ENCODING: [0x00,0x04,0x30,0xc1] 194// CHECK-ERROR: instruction requires: sme-f8f32 195// CHECK-UNKNOWN: c1300400 <unknown> 196 197fmlall za.s[w11, 12:15], z31.b, z15.b // 11000001-00111111-01100111-11100011 198// CHECK-INST: fmlall za.s[w11, 12:15], z31.b, z15.b 199// CHECK-ENCODING: [0xe3,0x67,0x3f,0xc1] 200// CHECK-ERROR: instruction requires: sme-f8f32 201// CHECK-UNKNOWN: c13f67e3 <unknown> 202 203fmlall za.s[w8, 0:3], z0.b, z0.b[0] // 11000001-01000000-00000000-00000000 204// CHECK-INST: fmlall za.s[w8, 0:3], z0.b, z0.b[0] 205// CHECK-ENCODING: [0x00,0x00,0x40,0xc1] 206// CHECK-ERROR: instruction requires: sme-f8f32 207// CHECK-UNKNOWN: c1400000 <unknown> 208 209fmlall za.s[w11, 12:15], z31.b, z15.b[15] // 11000001-01001111-11111111-11100011 210// CHECK-INST: fmlall za.s[w11, 12:15], z31.b, z15.b[15] 211// CHECK-ENCODING: [0xe3,0xff,0x4f,0xc1] 212// CHECK-ERROR: instruction requires: sme-f8f32 213// CHECK-UNKNOWN: c14fffe3 <unknown> 214 215// x2 216 217fmlall za.s[w8, 0:3, vgx2], {z0.b-z1.b}, z0.b // 11000001-00100000-00000000-00000010 218// CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, z0.b 219// CHECK-ENCODING: [0x02,0x00,0x20,0xc1] 220// CHECK-ERROR: instruction requires: sme-f8f32 221// CHECK-UNKNOWN: c1200002 <unknown> 222 223fmlall za.s[w8, 0:3], {z0.b-z1.b}, z0.b // 11000001-00100000-00000000-00000010 224// CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, z0.b 225// CHECK-ENCODING: [0x02,0x00,0x20,0xc1] 226// CHECK-ERROR: instruction requires: sme-f8f32 227// CHECK-UNKNOWN: c1200002 <unknown> 228 229fmlall za.s[w11, 4:7, vgx2], {z31.b-z0.b}, z15.b // 11000001-00101111-01100011-11100011 230// CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z31.b, z0.b }, z15.b 231// CHECK-ENCODING: [0xe3,0x63,0x2f,0xc1] 232// CHECK-ERROR: instruction requires: sme-f8f32 233// CHECK-UNKNOWN: c12f63e3 <unknown> 234 235fmlall za.s[w11, 4:7], {z31.b-z0.b}, z15.b // 11000001-00101111-01100011-11100011 236// CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z31.b, z0.b }, z15.b 237// CHECK-ENCODING: [0xe3,0x63,0x2f,0xc1] 238// CHECK-ERROR: instruction requires: sme-f8f32 239// CHECK-UNKNOWN: c12f63e3 <unknown> 240 241fmlall za.s[w8, 0:3, vgx2], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00000000-00100000 242// CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, { z0.b, z1.b } 243// CHECK-ENCODING: [0x20,0x00,0xa0,0xc1] 244// CHECK-ERROR: instruction requires: sme-f8f32 245// CHECK-UNKNOWN: c1a00020 <unknown> 246 247fmlall za.s[w8, 0:3], {z0.b-z1.b}, {z0.b-z1.b} // 11000001-10100000-00000000-00100000 248// CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, { z0.b, z1.b } 249// CHECK-ENCODING: [0x20,0x00,0xa0,0xc1] 250// CHECK-ERROR: instruction requires: sme-f8f32 251// CHECK-UNKNOWN: c1a00020 <unknown> 252 253fmlall za.s[w11, 4:7, vgx2], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01100011-11100001 254// CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z30.b, z31.b }, { z30.b, z31.b } 255// CHECK-ENCODING: [0xe1,0x63,0xbe,0xc1] 256// CHECK-ERROR: instruction requires: sme-f8f32 257// CHECK-UNKNOWN: c1be63e1 <unknown> 258 259fmlall za.s[w11, 4:7], {z30.b-z31.b}, {z30.b-z31.b} // 11000001-10111110-01100011-11100001 260// CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z30.b, z31.b }, { z30.b, z31.b } 261// CHECK-ENCODING: [0xe1,0x63,0xbe,0xc1] 262// CHECK-ERROR: instruction requires: sme-f8f32 263// CHECK-UNKNOWN: c1be63e1 <unknown> 264 265fmlall za.s[w8, 0:3, vgx2], {z0.b-z1.b}, z0.b[0] // 11000001-10010000-00000000-00100000 266// CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, z0.b[0] 267// CHECK-ENCODING: [0x20,0x00,0x90,0xc1] 268// CHECK-ERROR: instruction requires: sme-f8f32 269// CHECK-UNKNOWN: c1900020 <unknown> 270 271fmlall za.s[w8, 0:3], {z0.b-z1.b}, z0.b[0] // 11000001-10010000-00000000-00100000 272// CHECK-INST: fmlall za.s[w8, 0:3, vgx2], { z0.b, z1.b }, z0.b[0] 273// CHECK-ENCODING: [0x20,0x00,0x90,0xc1] 274// CHECK-ERROR: instruction requires: sme-f8f32 275// CHECK-UNKNOWN: c1900020 <unknown> 276 277fmlall za.s[w11, 4:7, vgx2], {z30.b-z31.b}, z15.b[15] // 11000001-10011111-01101111-11100111 278// CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z30.b, z31.b }, z15.b[15] 279// CHECK-ENCODING: [0xe7,0x6f,0x9f,0xc1] 280// CHECK-ERROR: instruction requires: sme-f8f32 281// CHECK-UNKNOWN: c19f6fe7 <unknown> 282 283fmlall za.s[w11, 4:7], {z30.b-z31.b}, z15.b[15] // 11000001-10011111-01101111-11100111 284// CHECK-INST: fmlall za.s[w11, 4:7, vgx2], { z30.b, z31.b }, z15.b[15] 285// CHECK-ENCODING: [0xe7,0x6f,0x9f,0xc1] 286// CHECK-ERROR: instruction requires: sme-f8f32 287// CHECK-UNKNOWN: c19f6fe7 <unknown> 288 289// x4 290 291fmlall za.s[w8, 0:3, vgx4], {z0.b-z3.b}, z0.b // 11000001-00110000-00000000-00000010 292// CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, z0.b 293// CHECK-ENCODING: [0x02,0x00,0x30,0xc1] 294// CHECK-ERROR: instruction requires: sme-f8f32 295// CHECK-UNKNOWN: c1300002 <unknown> 296 297fmlall za.s[w8, 0:3], {z0.b-z3.b}, z0.b // 11000001-00110000-00000000-00000010 298// CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, z0.b 299// CHECK-ENCODING: [0x02,0x00,0x30,0xc1] 300// CHECK-ERROR: instruction requires: sme-f8f32 301// CHECK-UNKNOWN: c1300002 <unknown> 302 303fmlall za.s[w11, 4:7, vgx4], {z31.b-z2.b}, z15.b // 11000001-00111111-01100011-11100011 304// CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b 305// CHECK-ENCODING: [0xe3,0x63,0x3f,0xc1] 306// CHECK-ERROR: instruction requires: sme-f8f32 307// CHECK-UNKNOWN: c13f63e3 <unknown> 308 309fmlall za.s[w11, 4:7], {z31.b-z2.b}, z15.b // 11000001-00111111-01100011-11100011 310// CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b 311// CHECK-ENCODING: [0xe3,0x63,0x3f,0xc1] 312// CHECK-ERROR: instruction requires: sme-f8f32 313// CHECK-UNKNOWN: c13f63e3 <unknown> 314 315fmlall za.s[w8, 0:3, vgx4], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00000000-00100000 316// CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, { z0.b - z3.b } 317// CHECK-ENCODING: [0x20,0x00,0xa1,0xc1] 318// CHECK-ERROR: instruction requires: sme-f8f32 319// CHECK-UNKNOWN: c1a10020 <unknown> 320 321fmlall za.s[w8, 0:3], {z0.b-z3.b}, {z0.b-z3.b} // 11000001-10100001-00000000-00100000 322// CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, { z0.b - z3.b } 323// CHECK-ENCODING: [0x20,0x00,0xa1,0xc1] 324// CHECK-ERROR: instruction requires: sme-f8f32 325// CHECK-UNKNOWN: c1a10020 <unknown> 326 327fmlall za.s[w11, 4:7, vgx4], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01100011-10100001 328// CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z28.b - z31.b }, { z28.b - z31.b } 329// CHECK-ENCODING: [0xa1,0x63,0xbd,0xc1] 330// CHECK-ERROR: instruction requires: sme-f8f32 331// CHECK-UNKNOWN: c1bd63a1 <unknown> 332 333fmlall za.s[w11, 4:7], {z28.b-z31.b}, {z28.b-z31.b} // 11000001-10111101-01100011-10100001 334// CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z28.b - z31.b }, { z28.b - z31.b } 335// CHECK-ENCODING: [0xa1,0x63,0xbd,0xc1] 336// CHECK-ERROR: instruction requires: sme-f8f32 337// CHECK-UNKNOWN: c1bd63a1 <unknown> 338 339fmlall za.s[w8, 0:3, vgx4], {z0.b-z3.b}, z0.b[0] // 11000001-00010000-10000000-01000000 340// CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, z0.b[0] 341// CHECK-ENCODING: [0x40,0x80,0x10,0xc1] 342// CHECK-ERROR: instruction requires: sme-f8f32 343// CHECK-UNKNOWN: c1108040 <unknown> 344 345fmlall za.s[w8, 0:3], {z0.b-z3.b}, z0.b[0] // 11000001-00010000-10000000-01000000 346// CHECK-INST: fmlall za.s[w8, 0:3, vgx4], { z0.b - z3.b }, z0.b[0] 347// CHECK-ENCODING: [0x40,0x80,0x10,0xc1] 348// CHECK-ERROR: instruction requires: sme-f8f32 349// CHECK-UNKNOWN: c1108040 <unknown> 350 351fmlall za.s[w11, 4:7, vgx4], {z28.b-z31.b}, z15.b[15] // 11000001-00011111-11101111-11000111 352// CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z28.b - z31.b }, z15.b[15] 353// CHECK-ENCODING: [0xc7,0xef,0x1f,0xc1] 354// CHECK-ERROR: instruction requires: sme-f8f32 355// CHECK-UNKNOWN: c11fefc7 <unknown> 356 357fmlall za.s[w11, 4:7], {z28.b-z31.b}, z15.b[15] // 11000001-00011111-11101111-11000111 358// CHECK-INST: fmlall za.s[w11, 4:7, vgx4], { z28.b - z31.b }, z15.b[15] 359// CHECK-ENCODING: [0xc7,0xef,0x1f,0xc1] 360// CHECK-ERROR: instruction requires: sme-f8f32 361// CHECK-UNKNOWN: c11fefc7 <unknown> 362