1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2 < %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=+sme2 < %s \ 6// RUN: | llvm-objdump -d --mattr=+sme2 - | FileCheck %s --check-prefix=CHECK-INST 7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2 < %s \ 8// RUN: | llvm-objdump -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN 9// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2 < %s \ 10// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ 11// RUN: | llvm-mc -triple=aarch64 -mattr=+sme2 -disassemble -show-encoding \ 12// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST 13 14 15usdot za.s[w8, 0, vgx2], {z0.b, z1.b}, z0.b // 11000001-00100000-00010100-00001000 16// CHECK-INST: usdot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b 17// CHECK-ENCODING: [0x08,0x14,0x20,0xc1] 18// CHECK-ERROR: instruction requires: sme2 19// CHECK-UNKNOWN: c1201408 <unknown> 20 21usdot za.s[w8, 0], {z0.b, z1.b}, z0.b // 11000001-00100000-00010100-00001000 22// CHECK-INST: usdot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b 23// CHECK-ENCODING: [0x08,0x14,0x20,0xc1] 24// CHECK-ERROR: instruction requires: sme2 25// CHECK-UNKNOWN: c1201408 <unknown> 26 27usdot za.s[w10, 5, vgx2], {z10.b, z11.b}, z5.b // 11000001-00100101-01010101-01001101 28// CHECK-INST: usdot za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b 29// CHECK-ENCODING: [0x4d,0x55,0x25,0xc1] 30// CHECK-ERROR: instruction requires: sme2 31// CHECK-UNKNOWN: c125554d <unknown> 32 33usdot za.s[w10, 5], {z10.b, z11.b}, z5.b // 11000001-00100101-01010101-01001101 34// CHECK-INST: usdot za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b 35// CHECK-ENCODING: [0x4d,0x55,0x25,0xc1] 36// CHECK-ERROR: instruction requires: sme2 37// CHECK-UNKNOWN: c125554d <unknown> 38 39usdot za.s[w11, 7, vgx2], {z13.b, z14.b}, z8.b // 11000001-00101000-01110101-10101111 40// CHECK-INST: usdot za.s[w11, 7, vgx2], { z13.b, z14.b }, z8.b 41// CHECK-ENCODING: [0xaf,0x75,0x28,0xc1] 42// CHECK-ERROR: instruction requires: sme2 43// CHECK-UNKNOWN: c12875af <unknown> 44 45usdot za.s[w11, 7], {z13.b, z14.b}, z8.b // 11000001-00101000-01110101-10101111 46// CHECK-INST: usdot za.s[w11, 7, vgx2], { z13.b, z14.b }, z8.b 47// CHECK-ENCODING: [0xaf,0x75,0x28,0xc1] 48// CHECK-ERROR: instruction requires: sme2 49// CHECK-UNKNOWN: c12875af <unknown> 50 51usdot za.s[w11, 7, vgx2], {z31.b, z0.b}, z15.b // 11000001-00101111-01110111-11101111 52// CHECK-INST: usdot za.s[w11, 7, vgx2], { z31.b, z0.b }, z15.b 53// CHECK-ENCODING: [0xef,0x77,0x2f,0xc1] 54// CHECK-ERROR: instruction requires: sme2 55// CHECK-UNKNOWN: c12f77ef <unknown> 56 57usdot za.s[w11, 7], {z31.b, z0.b}, z15.b // 11000001-00101111-01110111-11101111 58// CHECK-INST: usdot za.s[w11, 7, vgx2], { z31.b, z0.b }, z15.b 59// CHECK-ENCODING: [0xef,0x77,0x2f,0xc1] 60// CHECK-ERROR: instruction requires: sme2 61// CHECK-UNKNOWN: c12f77ef <unknown> 62 63usdot za.s[w8, 5, vgx2], {z17.b, z18.b}, z0.b // 11000001-00100000-00010110-00101101 64// CHECK-INST: usdot za.s[w8, 5, vgx2], { z17.b, z18.b }, z0.b 65// CHECK-ENCODING: [0x2d,0x16,0x20,0xc1] 66// CHECK-ERROR: instruction requires: sme2 67// CHECK-UNKNOWN: c120162d <unknown> 68 69usdot za.s[w8, 5], {z17.b, z18.b}, z0.b // 11000001-00100000-00010110-00101101 70// CHECK-INST: usdot za.s[w8, 5, vgx2], { z17.b, z18.b }, z0.b 71// CHECK-ENCODING: [0x2d,0x16,0x20,0xc1] 72// CHECK-ERROR: instruction requires: sme2 73// CHECK-UNKNOWN: c120162d <unknown> 74 75usdot za.s[w8, 1, vgx2], {z1.b, z2.b}, z14.b // 11000001-00101110-00010100-00101001 76// CHECK-INST: usdot za.s[w8, 1, vgx2], { z1.b, z2.b }, z14.b 77// CHECK-ENCODING: [0x29,0x14,0x2e,0xc1] 78// CHECK-ERROR: instruction requires: sme2 79// CHECK-UNKNOWN: c12e1429 <unknown> 80 81usdot za.s[w8, 1], {z1.b, z2.b}, z14.b // 11000001-00101110-00010100-00101001 82// CHECK-INST: usdot za.s[w8, 1, vgx2], { z1.b, z2.b }, z14.b 83// CHECK-ENCODING: [0x29,0x14,0x2e,0xc1] 84// CHECK-ERROR: instruction requires: sme2 85// CHECK-UNKNOWN: c12e1429 <unknown> 86 87usdot za.s[w10, 0, vgx2], {z19.b, z20.b}, z4.b // 11000001-00100100-01010110-01101000 88// CHECK-INST: usdot za.s[w10, 0, vgx2], { z19.b, z20.b }, z4.b 89// CHECK-ENCODING: [0x68,0x56,0x24,0xc1] 90// CHECK-ERROR: instruction requires: sme2 91// CHECK-UNKNOWN: c1245668 <unknown> 92 93usdot za.s[w10, 0], {z19.b, z20.b}, z4.b // 11000001-00100100-01010110-01101000 94// CHECK-INST: usdot za.s[w10, 0, vgx2], { z19.b, z20.b }, z4.b 95// CHECK-ENCODING: [0x68,0x56,0x24,0xc1] 96// CHECK-ERROR: instruction requires: sme2 97// CHECK-UNKNOWN: c1245668 <unknown> 98 99usdot za.s[w8, 0, vgx2], {z12.b, z13.b}, z2.b // 11000001-00100010-00010101-10001000 100// CHECK-INST: usdot za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b 101// CHECK-ENCODING: [0x88,0x15,0x22,0xc1] 102// CHECK-ERROR: instruction requires: sme2 103// CHECK-UNKNOWN: c1221588 <unknown> 104 105usdot za.s[w8, 0], {z12.b, z13.b}, z2.b // 11000001-00100010-00010101-10001000 106// CHECK-INST: usdot za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b 107// CHECK-ENCODING: [0x88,0x15,0x22,0xc1] 108// CHECK-ERROR: instruction requires: sme2 109// CHECK-UNKNOWN: c1221588 <unknown> 110 111usdot za.s[w10, 1, vgx2], {z1.b, z2.b}, z10.b // 11000001-00101010-01010100-00101001 112// CHECK-INST: usdot za.s[w10, 1, vgx2], { z1.b, z2.b }, z10.b 113// CHECK-ENCODING: [0x29,0x54,0x2a,0xc1] 114// CHECK-ERROR: instruction requires: sme2 115// CHECK-UNKNOWN: c12a5429 <unknown> 116 117usdot za.s[w10, 1], {z1.b, z2.b}, z10.b // 11000001-00101010-01010100-00101001 118// CHECK-INST: usdot za.s[w10, 1, vgx2], { z1.b, z2.b }, z10.b 119// CHECK-ENCODING: [0x29,0x54,0x2a,0xc1] 120// CHECK-ERROR: instruction requires: sme2 121// CHECK-UNKNOWN: c12a5429 <unknown> 122 123usdot za.s[w8, 5, vgx2], {z22.b, z23.b}, z14.b // 11000001-00101110-00010110-11001101 124// CHECK-INST: usdot za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b 125// CHECK-ENCODING: [0xcd,0x16,0x2e,0xc1] 126// CHECK-ERROR: instruction requires: sme2 127// CHECK-UNKNOWN: c12e16cd <unknown> 128 129usdot za.s[w8, 5], {z22.b, z23.b}, z14.b // 11000001-00101110-00010110-11001101 130// CHECK-INST: usdot za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b 131// CHECK-ENCODING: [0xcd,0x16,0x2e,0xc1] 132// CHECK-ERROR: instruction requires: sme2 133// CHECK-UNKNOWN: c12e16cd <unknown> 134 135usdot za.s[w11, 2, vgx2], {z9.b, z10.b}, z1.b // 11000001-00100001-01110101-00101010 136// CHECK-INST: usdot za.s[w11, 2, vgx2], { z9.b, z10.b }, z1.b 137// CHECK-ENCODING: [0x2a,0x75,0x21,0xc1] 138// CHECK-ERROR: instruction requires: sme2 139// CHECK-UNKNOWN: c121752a <unknown> 140 141usdot za.s[w11, 2], {z9.b, z10.b}, z1.b // 11000001-00100001-01110101-00101010 142// CHECK-INST: usdot za.s[w11, 2, vgx2], { z9.b, z10.b }, z1.b 143// CHECK-ENCODING: [0x2a,0x75,0x21,0xc1] 144// CHECK-ERROR: instruction requires: sme2 145// CHECK-UNKNOWN: c121752a <unknown> 146 147usdot za.s[w9, 7, vgx2], {z12.b, z13.b}, z11.b // 11000001-00101011-00110101-10001111 148// CHECK-INST: usdot za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b 149// CHECK-ENCODING: [0x8f,0x35,0x2b,0xc1] 150// CHECK-ERROR: instruction requires: sme2 151// CHECK-UNKNOWN: c12b358f <unknown> 152 153usdot za.s[w9, 7], {z12.b, z13.b}, z11.b // 11000001-00101011-00110101-10001111 154// CHECK-INST: usdot za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b 155// CHECK-ENCODING: [0x8f,0x35,0x2b,0xc1] 156// CHECK-ERROR: instruction requires: sme2 157// CHECK-UNKNOWN: c12b358f <unknown> 158 159 160usdot za.s[w8, 0, vgx2], {z0.b, z1.b}, z0.b[0] // 11000001-01010000-00010000-00101000 161// CHECK-INST: usdot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0] 162// CHECK-ENCODING: [0x28,0x10,0x50,0xc1] 163// CHECK-ERROR: instruction requires: sme2 164// CHECK-UNKNOWN: c1501028 <unknown> 165 166usdot za.s[w8, 0], {z0.b, z1.b}, z0.b[0] // 11000001-01010000-00010000-00101000 167// CHECK-INST: usdot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0] 168// CHECK-ENCODING: [0x28,0x10,0x50,0xc1] 169// CHECK-ERROR: instruction requires: sme2 170// CHECK-UNKNOWN: c1501028 <unknown> 171 172usdot za.s[w10, 5, vgx2], {z10.b, z11.b}, z5.b[1] // 11000001-01010101-01010101-01101101 173// CHECK-INST: usdot za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b[1] 174// CHECK-ENCODING: [0x6d,0x55,0x55,0xc1] 175// CHECK-ERROR: instruction requires: sme2 176// CHECK-UNKNOWN: c155556d <unknown> 177 178usdot za.s[w10, 5], {z10.b, z11.b}, z5.b[1] // 11000001-01010101-01010101-01101101 179// CHECK-INST: usdot za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b[1] 180// CHECK-ENCODING: [0x6d,0x55,0x55,0xc1] 181// CHECK-ERROR: instruction requires: sme2 182// CHECK-UNKNOWN: c155556d <unknown> 183 184usdot za.s[w11, 7, vgx2], {z12.b, z13.b}, z8.b[3] // 11000001-01011000-01111101-10101111 185// CHECK-INST: usdot za.s[w11, 7, vgx2], { z12.b, z13.b }, z8.b[3] 186// CHECK-ENCODING: [0xaf,0x7d,0x58,0xc1] 187// CHECK-ERROR: instruction requires: sme2 188// CHECK-UNKNOWN: c1587daf <unknown> 189 190usdot za.s[w11, 7], {z12.b, z13.b}, z8.b[3] // 11000001-01011000-01111101-10101111 191// CHECK-INST: usdot za.s[w11, 7, vgx2], { z12.b, z13.b }, z8.b[3] 192// CHECK-ENCODING: [0xaf,0x7d,0x58,0xc1] 193// CHECK-ERROR: instruction requires: sme2 194// CHECK-UNKNOWN: c1587daf <unknown> 195 196usdot za.s[w11, 7, vgx2], {z30.b, z31.b}, z15.b[3] // 11000001-01011111-01111111-11101111 197// CHECK-INST: usdot za.s[w11, 7, vgx2], { z30.b, z31.b }, z15.b[3] 198// CHECK-ENCODING: [0xef,0x7f,0x5f,0xc1] 199// CHECK-ERROR: instruction requires: sme2 200// CHECK-UNKNOWN: c15f7fef <unknown> 201 202usdot za.s[w11, 7], {z30.b, z31.b}, z15.b[3] // 11000001-01011111-01111111-11101111 203// CHECK-INST: usdot za.s[w11, 7, vgx2], { z30.b, z31.b }, z15.b[3] 204// CHECK-ENCODING: [0xef,0x7f,0x5f,0xc1] 205// CHECK-ERROR: instruction requires: sme2 206// CHECK-UNKNOWN: c15f7fef <unknown> 207 208usdot za.s[w8, 5, vgx2], {z16.b, z17.b}, z0.b[3] // 11000001-01010000-00011110-00101101 209// CHECK-INST: usdot za.s[w8, 5, vgx2], { z16.b, z17.b }, z0.b[3] 210// CHECK-ENCODING: [0x2d,0x1e,0x50,0xc1] 211// CHECK-ERROR: instruction requires: sme2 212// CHECK-UNKNOWN: c1501e2d <unknown> 213 214usdot za.s[w8, 5], {z16.b, z17.b}, z0.b[3] // 11000001-01010000-00011110-00101101 215// CHECK-INST: usdot za.s[w8, 5, vgx2], { z16.b, z17.b }, z0.b[3] 216// CHECK-ENCODING: [0x2d,0x1e,0x50,0xc1] 217// CHECK-ERROR: instruction requires: sme2 218// CHECK-UNKNOWN: c1501e2d <unknown> 219 220usdot za.s[w8, 1, vgx2], {z0.b, z1.b}, z14.b[1] // 11000001-01011110-00010100-00101001 221// CHECK-INST: usdot za.s[w8, 1, vgx2], { z0.b, z1.b }, z14.b[1] 222// CHECK-ENCODING: [0x29,0x14,0x5e,0xc1] 223// CHECK-ERROR: instruction requires: sme2 224// CHECK-UNKNOWN: c15e1429 <unknown> 225 226usdot za.s[w8, 1], {z0.b, z1.b}, z14.b[1] // 11000001-01011110-00010100-00101001 227// CHECK-INST: usdot za.s[w8, 1, vgx2], { z0.b, z1.b }, z14.b[1] 228// CHECK-ENCODING: [0x29,0x14,0x5e,0xc1] 229// CHECK-ERROR: instruction requires: sme2 230// CHECK-UNKNOWN: c15e1429 <unknown> 231 232usdot za.s[w10, 0, vgx2], {z18.b, z19.b}, z4.b[1] // 11000001-01010100-01010110-01101000 233// CHECK-INST: usdot za.s[w10, 0, vgx2], { z18.b, z19.b }, z4.b[1] 234// CHECK-ENCODING: [0x68,0x56,0x54,0xc1] 235// CHECK-ERROR: instruction requires: sme2 236// CHECK-UNKNOWN: c1545668 <unknown> 237 238usdot za.s[w10, 0], {z18.b, z19.b}, z4.b[1] // 11000001-01010100-01010110-01101000 239// CHECK-INST: usdot za.s[w10, 0, vgx2], { z18.b, z19.b }, z4.b[1] 240// CHECK-ENCODING: [0x68,0x56,0x54,0xc1] 241// CHECK-ERROR: instruction requires: sme2 242// CHECK-UNKNOWN: c1545668 <unknown> 243 244usdot za.s[w8, 0, vgx2], {z12.b, z13.b}, z2.b[2] // 11000001-01010010-00011001-10101000 245// CHECK-INST: usdot za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b[2] 246// CHECK-ENCODING: [0xa8,0x19,0x52,0xc1] 247// CHECK-ERROR: instruction requires: sme2 248// CHECK-UNKNOWN: c15219a8 <unknown> 249 250usdot za.s[w8, 0], {z12.b, z13.b}, z2.b[2] // 11000001-01010010-00011001-10101000 251// CHECK-INST: usdot za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b[2] 252// CHECK-ENCODING: [0xa8,0x19,0x52,0xc1] 253// CHECK-ERROR: instruction requires: sme2 254// CHECK-UNKNOWN: c15219a8 <unknown> 255 256usdot za.s[w10, 1, vgx2], {z0.b, z1.b}, z10.b[2] // 11000001-01011010-01011000-00101001 257// CHECK-INST: usdot za.s[w10, 1, vgx2], { z0.b, z1.b }, z10.b[2] 258// CHECK-ENCODING: [0x29,0x58,0x5a,0xc1] 259// CHECK-ERROR: instruction requires: sme2 260// CHECK-UNKNOWN: c15a5829 <unknown> 261 262usdot za.s[w10, 1], {z0.b, z1.b}, z10.b[2] // 11000001-01011010-01011000-00101001 263// CHECK-INST: usdot za.s[w10, 1, vgx2], { z0.b, z1.b }, z10.b[2] 264// CHECK-ENCODING: [0x29,0x58,0x5a,0xc1] 265// CHECK-ERROR: instruction requires: sme2 266// CHECK-UNKNOWN: c15a5829 <unknown> 267 268usdot za.s[w8, 5, vgx2], {z22.b, z23.b}, z14.b[2] // 11000001-01011110-00011010-11101101 269// CHECK-INST: usdot za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b[2] 270// CHECK-ENCODING: [0xed,0x1a,0x5e,0xc1] 271// CHECK-ERROR: instruction requires: sme2 272// CHECK-UNKNOWN: c15e1aed <unknown> 273 274usdot za.s[w8, 5], {z22.b, z23.b}, z14.b[2] // 11000001-01011110-00011010-11101101 275// CHECK-INST: usdot za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b[2] 276// CHECK-ENCODING: [0xed,0x1a,0x5e,0xc1] 277// CHECK-ERROR: instruction requires: sme2 278// CHECK-UNKNOWN: c15e1aed <unknown> 279 280usdot za.s[w11, 2, vgx2], {z8.b, z9.b}, z1.b[1] // 11000001-01010001-01110101-00101010 281// CHECK-INST: usdot za.s[w11, 2, vgx2], { z8.b, z9.b }, z1.b[1] 282// CHECK-ENCODING: [0x2a,0x75,0x51,0xc1] 283// CHECK-ERROR: instruction requires: sme2 284// CHECK-UNKNOWN: c151752a <unknown> 285 286usdot za.s[w11, 2], {z8.b, z9.b}, z1.b[1] // 11000001-01010001-01110101-00101010 287// CHECK-INST: usdot za.s[w11, 2, vgx2], { z8.b, z9.b }, z1.b[1] 288// CHECK-ENCODING: [0x2a,0x75,0x51,0xc1] 289// CHECK-ERROR: instruction requires: sme2 290// CHECK-UNKNOWN: c151752a <unknown> 291 292usdot za.s[w9, 7, vgx2], {z12.b, z13.b}, z11.b[2] // 11000001-01011011-00111001-10101111 293// CHECK-INST: usdot za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b[2] 294// CHECK-ENCODING: [0xaf,0x39,0x5b,0xc1] 295// CHECK-ERROR: instruction requires: sme2 296// CHECK-UNKNOWN: c15b39af <unknown> 297 298usdot za.s[w9, 7], {z12.b, z13.b}, z11.b[2] // 11000001-01011011-00111001-10101111 299// CHECK-INST: usdot za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b[2] 300// CHECK-ENCODING: [0xaf,0x39,0x5b,0xc1] 301// CHECK-ERROR: instruction requires: sme2 302// CHECK-UNKNOWN: c15b39af <unknown> 303 304 305usdot za.s[w8, 0, vgx2], {z0.b, z1.b}, {z0.b, z1.b} // 11000001-10100000-00010100-00001000 306// CHECK-INST: usdot za.s[w8, 0, vgx2], { z0.b, z1.b }, { z0.b, z1.b } 307// CHECK-ENCODING: [0x08,0x14,0xa0,0xc1] 308// CHECK-ERROR: instruction requires: sme2 309// CHECK-UNKNOWN: c1a01408 <unknown> 310 311usdot za.s[w8, 0], {z0.b, z1.b}, {z0.b, z1.b} // 11000001-10100000-00010100-00001000 312// CHECK-INST: usdot za.s[w8, 0, vgx2], { z0.b, z1.b }, { z0.b, z1.b } 313// CHECK-ENCODING: [0x08,0x14,0xa0,0xc1] 314// CHECK-ERROR: instruction requires: sme2 315// CHECK-UNKNOWN: c1a01408 <unknown> 316 317usdot za.s[w10, 5, vgx2], {z10.b, z11.b}, {z20.b, z21.b} // 11000001-10110100-01010101-01001101 318// CHECK-INST: usdot za.s[w10, 5, vgx2], { z10.b, z11.b }, { z20.b, z21.b } 319// CHECK-ENCODING: [0x4d,0x55,0xb4,0xc1] 320// CHECK-ERROR: instruction requires: sme2 321// CHECK-UNKNOWN: c1b4554d <unknown> 322 323usdot za.s[w10, 5], {z10.b, z11.b}, {z20.b, z21.b} // 11000001-10110100-01010101-01001101 324// CHECK-INST: usdot za.s[w10, 5, vgx2], { z10.b, z11.b }, { z20.b, z21.b } 325// CHECK-ENCODING: [0x4d,0x55,0xb4,0xc1] 326// CHECK-ERROR: instruction requires: sme2 327// CHECK-UNKNOWN: c1b4554d <unknown> 328 329usdot za.s[w11, 7, vgx2], {z12.b, z13.b}, {z8.b, z9.b} // 11000001-10101000-01110101-10001111 330// CHECK-INST: usdot za.s[w11, 7, vgx2], { z12.b, z13.b }, { z8.b, z9.b } 331// CHECK-ENCODING: [0x8f,0x75,0xa8,0xc1] 332// CHECK-ERROR: instruction requires: sme2 333// CHECK-UNKNOWN: c1a8758f <unknown> 334 335usdot za.s[w11, 7], {z12.b, z13.b}, {z8.b, z9.b} // 11000001-10101000-01110101-10001111 336// CHECK-INST: usdot za.s[w11, 7, vgx2], { z12.b, z13.b }, { z8.b, z9.b } 337// CHECK-ENCODING: [0x8f,0x75,0xa8,0xc1] 338// CHECK-ERROR: instruction requires: sme2 339// CHECK-UNKNOWN: c1a8758f <unknown> 340 341usdot za.s[w11, 7, vgx2], {z30.b, z31.b}, {z30.b, z31.b} // 11000001-10111110-01110111-11001111 342// CHECK-INST: usdot za.s[w11, 7, vgx2], { z30.b, z31.b }, { z30.b, z31.b } 343// CHECK-ENCODING: [0xcf,0x77,0xbe,0xc1] 344// CHECK-ERROR: instruction requires: sme2 345// CHECK-UNKNOWN: c1be77cf <unknown> 346 347usdot za.s[w11, 7], {z30.b, z31.b}, {z30.b, z31.b} // 11000001-10111110-01110111-11001111 348// CHECK-INST: usdot za.s[w11, 7, vgx2], { z30.b, z31.b }, { z30.b, z31.b } 349// CHECK-ENCODING: [0xcf,0x77,0xbe,0xc1] 350// CHECK-ERROR: instruction requires: sme2 351// CHECK-UNKNOWN: c1be77cf <unknown> 352 353usdot za.s[w8, 5, vgx2], {z16.b, z17.b}, {z16.b, z17.b} // 11000001-10110000-00010110-00001101 354// CHECK-INST: usdot za.s[w8, 5, vgx2], { z16.b, z17.b }, { z16.b, z17.b } 355// CHECK-ENCODING: [0x0d,0x16,0xb0,0xc1] 356// CHECK-ERROR: instruction requires: sme2 357// CHECK-UNKNOWN: c1b0160d <unknown> 358 359usdot za.s[w8, 5], {z16.b, z17.b}, {z16.b, z17.b} // 11000001-10110000-00010110-00001101 360// CHECK-INST: usdot za.s[w8, 5, vgx2], { z16.b, z17.b }, { z16.b, z17.b } 361// CHECK-ENCODING: [0x0d,0x16,0xb0,0xc1] 362// CHECK-ERROR: instruction requires: sme2 363// CHECK-UNKNOWN: c1b0160d <unknown> 364 365usdot za.s[w8, 1, vgx2], {z0.b, z1.b}, {z30.b, z31.b} // 11000001-10111110-00010100-00001001 366// CHECK-INST: usdot za.s[w8, 1, vgx2], { z0.b, z1.b }, { z30.b, z31.b } 367// CHECK-ENCODING: [0x09,0x14,0xbe,0xc1] 368// CHECK-ERROR: instruction requires: sme2 369// CHECK-UNKNOWN: c1be1409 <unknown> 370 371usdot za.s[w8, 1], {z0.b, z1.b}, {z30.b, z31.b} // 11000001-10111110-00010100-00001001 372// CHECK-INST: usdot za.s[w8, 1, vgx2], { z0.b, z1.b }, { z30.b, z31.b } 373// CHECK-ENCODING: [0x09,0x14,0xbe,0xc1] 374// CHECK-ERROR: instruction requires: sme2 375// CHECK-UNKNOWN: c1be1409 <unknown> 376 377usdot za.s[w10, 0, vgx2], {z18.b, z19.b}, {z20.b, z21.b} // 11000001-10110100-01010110-01001000 378// CHECK-INST: usdot za.s[w10, 0, vgx2], { z18.b, z19.b }, { z20.b, z21.b } 379// CHECK-ENCODING: [0x48,0x56,0xb4,0xc1] 380// CHECK-ERROR: instruction requires: sme2 381// CHECK-UNKNOWN: c1b45648 <unknown> 382 383usdot za.s[w10, 0], {z18.b, z19.b}, {z20.b, z21.b} // 11000001-10110100-01010110-01001000 384// CHECK-INST: usdot za.s[w10, 0, vgx2], { z18.b, z19.b }, { z20.b, z21.b } 385// CHECK-ENCODING: [0x48,0x56,0xb4,0xc1] 386// CHECK-ERROR: instruction requires: sme2 387// CHECK-UNKNOWN: c1b45648 <unknown> 388 389usdot za.s[w8, 0, vgx2], {z12.b, z13.b}, {z2.b, z3.b} // 11000001-10100010-00010101-10001000 390// CHECK-INST: usdot za.s[w8, 0, vgx2], { z12.b, z13.b }, { z2.b, z3.b } 391// CHECK-ENCODING: [0x88,0x15,0xa2,0xc1] 392// CHECK-ERROR: instruction requires: sme2 393// CHECK-UNKNOWN: c1a21588 <unknown> 394 395usdot za.s[w8, 0], {z12.b, z13.b}, {z2.b, z3.b} // 11000001-10100010-00010101-10001000 396// CHECK-INST: usdot za.s[w8, 0, vgx2], { z12.b, z13.b }, { z2.b, z3.b } 397// CHECK-ENCODING: [0x88,0x15,0xa2,0xc1] 398// CHECK-ERROR: instruction requires: sme2 399// CHECK-UNKNOWN: c1a21588 <unknown> 400 401usdot za.s[w10, 1, vgx2], {z0.b, z1.b}, {z26.b, z27.b} // 11000001-10111010-01010100-00001001 402// CHECK-INST: usdot za.s[w10, 1, vgx2], { z0.b, z1.b }, { z26.b, z27.b } 403// CHECK-ENCODING: [0x09,0x54,0xba,0xc1] 404// CHECK-ERROR: instruction requires: sme2 405// CHECK-UNKNOWN: c1ba5409 <unknown> 406 407usdot za.s[w10, 1], {z0.b, z1.b}, {z26.b, z27.b} // 11000001-10111010-01010100-00001001 408// CHECK-INST: usdot za.s[w10, 1, vgx2], { z0.b, z1.b }, { z26.b, z27.b } 409// CHECK-ENCODING: [0x09,0x54,0xba,0xc1] 410// CHECK-ERROR: instruction requires: sme2 411// CHECK-UNKNOWN: c1ba5409 <unknown> 412 413usdot za.s[w8, 5, vgx2], {z22.b, z23.b}, {z30.b, z31.b} // 11000001-10111110-00010110-11001101 414// CHECK-INST: usdot za.s[w8, 5, vgx2], { z22.b, z23.b }, { z30.b, z31.b } 415// CHECK-ENCODING: [0xcd,0x16,0xbe,0xc1] 416// CHECK-ERROR: instruction requires: sme2 417// CHECK-UNKNOWN: c1be16cd <unknown> 418 419usdot za.s[w8, 5], {z22.b, z23.b}, {z30.b, z31.b} // 11000001-10111110-00010110-11001101 420// CHECK-INST: usdot za.s[w8, 5, vgx2], { z22.b, z23.b }, { z30.b, z31.b } 421// CHECK-ENCODING: [0xcd,0x16,0xbe,0xc1] 422// CHECK-ERROR: instruction requires: sme2 423// CHECK-UNKNOWN: c1be16cd <unknown> 424 425usdot za.s[w11, 2, vgx2], {z8.b, z9.b}, {z0.b, z1.b} // 11000001-10100000-01110101-00001010 426// CHECK-INST: usdot za.s[w11, 2, vgx2], { z8.b, z9.b }, { z0.b, z1.b } 427// CHECK-ENCODING: [0x0a,0x75,0xa0,0xc1] 428// CHECK-ERROR: instruction requires: sme2 429// CHECK-UNKNOWN: c1a0750a <unknown> 430 431usdot za.s[w11, 2], {z8.b, z9.b}, {z0.b, z1.b} // 11000001-10100000-01110101-00001010 432// CHECK-INST: usdot za.s[w11, 2, vgx2], { z8.b, z9.b }, { z0.b, z1.b } 433// CHECK-ENCODING: [0x0a,0x75,0xa0,0xc1] 434// CHECK-ERROR: instruction requires: sme2 435// CHECK-UNKNOWN: c1a0750a <unknown> 436 437usdot za.s[w9, 7, vgx2], {z12.b, z13.b}, {z10.b, z11.b} // 11000001-10101010-00110101-10001111 438// CHECK-INST: usdot za.s[w9, 7, vgx2], { z12.b, z13.b }, { z10.b, z11.b } 439// CHECK-ENCODING: [0x8f,0x35,0xaa,0xc1] 440// CHECK-ERROR: instruction requires: sme2 441// CHECK-UNKNOWN: c1aa358f <unknown> 442 443usdot za.s[w9, 7], {z12.b, z13.b}, {z10.b, z11.b} // 11000001-10101010-00110101-10001111 444// CHECK-INST: usdot za.s[w9, 7, vgx2], { z12.b, z13.b }, { z10.b, z11.b } 445// CHECK-ENCODING: [0x8f,0x35,0xaa,0xc1] 446// CHECK-ERROR: instruction requires: sme2 447// CHECK-UNKNOWN: c1aa358f <unknown> 448 449usdot za.s[w8, 0, vgx4], {z0.b - z3.b}, z0.b // 11000001-00110000-00010100-00001000 450// CHECK-INST: usdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b 451// CHECK-ENCODING: [0x08,0x14,0x30,0xc1] 452// CHECK-ERROR: instruction requires: sme2 453// CHECK-UNKNOWN: c1301408 <unknown> 454 455usdot za.s[w8, 0], {z0.b - z3.b}, z0.b // 11000001-00110000-00010100-00001000 456// CHECK-INST: usdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b 457// CHECK-ENCODING: [0x08,0x14,0x30,0xc1] 458// CHECK-ERROR: instruction requires: sme2 459// CHECK-UNKNOWN: c1301408 <unknown> 460 461usdot za.s[w10, 5, vgx4], {z10.b - z13.b}, z5.b // 11000001-00110101-01010101-01001101 462// CHECK-INST: usdot za.s[w10, 5, vgx4], { z10.b - z13.b }, z5.b 463// CHECK-ENCODING: [0x4d,0x55,0x35,0xc1] 464// CHECK-ERROR: instruction requires: sme2 465// CHECK-UNKNOWN: c135554d <unknown> 466 467usdot za.s[w10, 5], {z10.b - z13.b}, z5.b // 11000001-00110101-01010101-01001101 468// CHECK-INST: usdot za.s[w10, 5, vgx4], { z10.b - z13.b }, z5.b 469// CHECK-ENCODING: [0x4d,0x55,0x35,0xc1] 470// CHECK-ERROR: instruction requires: sme2 471// CHECK-UNKNOWN: c135554d <unknown> 472 473usdot za.s[w11, 7, vgx4], {z13.b - z16.b}, z8.b // 11000001-00111000-01110101-10101111 474// CHECK-INST: usdot za.s[w11, 7, vgx4], { z13.b - z16.b }, z8.b 475// CHECK-ENCODING: [0xaf,0x75,0x38,0xc1] 476// CHECK-ERROR: instruction requires: sme2 477// CHECK-UNKNOWN: c13875af <unknown> 478 479usdot za.s[w11, 7], {z13.b - z16.b}, z8.b // 11000001-00111000-01110101-10101111 480// CHECK-INST: usdot za.s[w11, 7, vgx4], { z13.b - z16.b }, z8.b 481// CHECK-ENCODING: [0xaf,0x75,0x38,0xc1] 482// CHECK-ERROR: instruction requires: sme2 483// CHECK-UNKNOWN: c13875af <unknown> 484 485usdot za.s[w11, 7, vgx4], {z31.b - z2.b}, z15.b // 11000001-00111111-01110111-11101111 486// CHECK-INST: usdot za.s[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b 487// CHECK-ENCODING: [0xef,0x77,0x3f,0xc1] 488// CHECK-ERROR: instruction requires: sme2 489// CHECK-UNKNOWN: c13f77ef <unknown> 490 491usdot za.s[w11, 7], {z31.b - z2.b}, z15.b // 11000001-00111111-01110111-11101111 492// CHECK-INST: usdot za.s[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b 493// CHECK-ENCODING: [0xef,0x77,0x3f,0xc1] 494// CHECK-ERROR: instruction requires: sme2 495// CHECK-UNKNOWN: c13f77ef <unknown> 496 497usdot za.s[w8, 5, vgx4], {z17.b - z20.b}, z0.b // 11000001-00110000-00010110-00101101 498// CHECK-INST: usdot za.s[w8, 5, vgx4], { z17.b - z20.b }, z0.b 499// CHECK-ENCODING: [0x2d,0x16,0x30,0xc1] 500// CHECK-ERROR: instruction requires: sme2 501// CHECK-UNKNOWN: c130162d <unknown> 502 503usdot za.s[w8, 5], {z17.b - z20.b}, z0.b // 11000001-00110000-00010110-00101101 504// CHECK-INST: usdot za.s[w8, 5, vgx4], { z17.b - z20.b }, z0.b 505// CHECK-ENCODING: [0x2d,0x16,0x30,0xc1] 506// CHECK-ERROR: instruction requires: sme2 507// CHECK-UNKNOWN: c130162d <unknown> 508 509usdot za.s[w8, 1, vgx4], {z1.b - z4.b}, z14.b // 11000001-00111110-00010100-00101001 510// CHECK-INST: usdot za.s[w8, 1, vgx4], { z1.b - z4.b }, z14.b 511// CHECK-ENCODING: [0x29,0x14,0x3e,0xc1] 512// CHECK-ERROR: instruction requires: sme2 513// CHECK-UNKNOWN: c13e1429 <unknown> 514 515usdot za.s[w8, 1], {z1.b - z4.b}, z14.b // 11000001-00111110-00010100-00101001 516// CHECK-INST: usdot za.s[w8, 1, vgx4], { z1.b - z4.b }, z14.b 517// CHECK-ENCODING: [0x29,0x14,0x3e,0xc1] 518// CHECK-ERROR: instruction requires: sme2 519// CHECK-UNKNOWN: c13e1429 <unknown> 520 521usdot za.s[w10, 0, vgx4], {z19.b - z22.b}, z4.b // 11000001-00110100-01010110-01101000 522// CHECK-INST: usdot za.s[w10, 0, vgx4], { z19.b - z22.b }, z4.b 523// CHECK-ENCODING: [0x68,0x56,0x34,0xc1] 524// CHECK-ERROR: instruction requires: sme2 525// CHECK-UNKNOWN: c1345668 <unknown> 526 527usdot za.s[w10, 0], {z19.b - z22.b}, z4.b // 11000001-00110100-01010110-01101000 528// CHECK-INST: usdot za.s[w10, 0, vgx4], { z19.b - z22.b }, z4.b 529// CHECK-ENCODING: [0x68,0x56,0x34,0xc1] 530// CHECK-ERROR: instruction requires: sme2 531// CHECK-UNKNOWN: c1345668 <unknown> 532 533usdot za.s[w8, 0, vgx4], {z12.b - z15.b}, z2.b // 11000001-00110010-00010101-10001000 534// CHECK-INST: usdot za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b 535// CHECK-ENCODING: [0x88,0x15,0x32,0xc1] 536// CHECK-ERROR: instruction requires: sme2 537// CHECK-UNKNOWN: c1321588 <unknown> 538 539usdot za.s[w8, 0], {z12.b - z15.b}, z2.b // 11000001-00110010-00010101-10001000 540// CHECK-INST: usdot za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b 541// CHECK-ENCODING: [0x88,0x15,0x32,0xc1] 542// CHECK-ERROR: instruction requires: sme2 543// CHECK-UNKNOWN: c1321588 <unknown> 544 545usdot za.s[w10, 1, vgx4], {z1.b - z4.b}, z10.b // 11000001-00111010-01010100-00101001 546// CHECK-INST: usdot za.s[w10, 1, vgx4], { z1.b - z4.b }, z10.b 547// CHECK-ENCODING: [0x29,0x54,0x3a,0xc1] 548// CHECK-ERROR: instruction requires: sme2 549// CHECK-UNKNOWN: c13a5429 <unknown> 550 551usdot za.s[w10, 1], {z1.b - z4.b}, z10.b // 11000001-00111010-01010100-00101001 552// CHECK-INST: usdot za.s[w10, 1, vgx4], { z1.b - z4.b }, z10.b 553// CHECK-ENCODING: [0x29,0x54,0x3a,0xc1] 554// CHECK-ERROR: instruction requires: sme2 555// CHECK-UNKNOWN: c13a5429 <unknown> 556 557usdot za.s[w8, 5, vgx4], {z22.b - z25.b}, z14.b // 11000001-00111110-00010110-11001101 558// CHECK-INST: usdot za.s[w8, 5, vgx4], { z22.b - z25.b }, z14.b 559// CHECK-ENCODING: [0xcd,0x16,0x3e,0xc1] 560// CHECK-ERROR: instruction requires: sme2 561// CHECK-UNKNOWN: c13e16cd <unknown> 562 563usdot za.s[w8, 5], {z22.b - z25.b}, z14.b // 11000001-00111110-00010110-11001101 564// CHECK-INST: usdot za.s[w8, 5, vgx4], { z22.b - z25.b }, z14.b 565// CHECK-ENCODING: [0xcd,0x16,0x3e,0xc1] 566// CHECK-ERROR: instruction requires: sme2 567// CHECK-UNKNOWN: c13e16cd <unknown> 568 569usdot za.s[w11, 2, vgx4], {z9.b - z12.b}, z1.b // 11000001-00110001-01110101-00101010 570// CHECK-INST: usdot za.s[w11, 2, vgx4], { z9.b - z12.b }, z1.b 571// CHECK-ENCODING: [0x2a,0x75,0x31,0xc1] 572// CHECK-ERROR: instruction requires: sme2 573// CHECK-UNKNOWN: c131752a <unknown> 574 575usdot za.s[w11, 2], {z9.b - z12.b}, z1.b // 11000001-00110001-01110101-00101010 576// CHECK-INST: usdot za.s[w11, 2, vgx4], { z9.b - z12.b }, z1.b 577// CHECK-ENCODING: [0x2a,0x75,0x31,0xc1] 578// CHECK-ERROR: instruction requires: sme2 579// CHECK-UNKNOWN: c131752a <unknown> 580 581usdot za.s[w9, 7, vgx4], {z12.b - z15.b}, z11.b // 11000001-00111011-00110101-10001111 582// CHECK-INST: usdot za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b 583// CHECK-ENCODING: [0x8f,0x35,0x3b,0xc1] 584// CHECK-ERROR: instruction requires: sme2 585// CHECK-UNKNOWN: c13b358f <unknown> 586 587usdot za.s[w9, 7], {z12.b - z15.b}, z11.b // 11000001-00111011-00110101-10001111 588// CHECK-INST: usdot za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b 589// CHECK-ENCODING: [0x8f,0x35,0x3b,0xc1] 590// CHECK-ERROR: instruction requires: sme2 591// CHECK-UNKNOWN: c13b358f <unknown> 592 593 594usdot za.s[w8, 0, vgx4], {z0.b - z3.b}, z0.b[0] // 11000001-01010000-10010000-00101000 595// CHECK-INST: usdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0] 596// CHECK-ENCODING: [0x28,0x90,0x50,0xc1] 597// CHECK-ERROR: instruction requires: sme2 598// CHECK-UNKNOWN: c1509028 <unknown> 599 600usdot za.s[w8, 0], {z0.b - z3.b}, z0.b[0] // 11000001-01010000-10010000-00101000 601// CHECK-INST: usdot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0] 602// CHECK-ENCODING: [0x28,0x90,0x50,0xc1] 603// CHECK-ERROR: instruction requires: sme2 604// CHECK-UNKNOWN: c1509028 <unknown> 605 606usdot za.s[w10, 5, vgx4], {z8.b - z11.b}, z5.b[1] // 11000001-01010101-11010101-00101101 607// CHECK-INST: usdot za.s[w10, 5, vgx4], { z8.b - z11.b }, z5.b[1] 608// CHECK-ENCODING: [0x2d,0xd5,0x55,0xc1] 609// CHECK-ERROR: instruction requires: sme2 610// CHECK-UNKNOWN: c155d52d <unknown> 611 612usdot za.s[w10, 5], {z8.b - z11.b}, z5.b[1] // 11000001-01010101-11010101-00101101 613// CHECK-INST: usdot za.s[w10, 5, vgx4], { z8.b - z11.b }, z5.b[1] 614// CHECK-ENCODING: [0x2d,0xd5,0x55,0xc1] 615// CHECK-ERROR: instruction requires: sme2 616// CHECK-UNKNOWN: c155d52d <unknown> 617 618usdot za.s[w11, 7, vgx4], {z12.b - z15.b}, z8.b[3] // 11000001-01011000-11111101-10101111 619// CHECK-INST: usdot za.s[w11, 7, vgx4], { z12.b - z15.b }, z8.b[3] 620// CHECK-ENCODING: [0xaf,0xfd,0x58,0xc1] 621// CHECK-ERROR: instruction requires: sme2 622// CHECK-UNKNOWN: c158fdaf <unknown> 623 624usdot za.s[w11, 7], {z12.b - z15.b}, z8.b[3] // 11000001-01011000-11111101-10101111 625// CHECK-INST: usdot za.s[w11, 7, vgx4], { z12.b - z15.b }, z8.b[3] 626// CHECK-ENCODING: [0xaf,0xfd,0x58,0xc1] 627// CHECK-ERROR: instruction requires: sme2 628// CHECK-UNKNOWN: c158fdaf <unknown> 629 630usdot za.s[w11, 7, vgx4], {z28.b - z31.b}, z15.b[3] // 11000001-01011111-11111111-10101111 631// CHECK-INST: usdot za.s[w11, 7, vgx4], { z28.b - z31.b }, z15.b[3] 632// CHECK-ENCODING: [0xaf,0xff,0x5f,0xc1] 633// CHECK-ERROR: instruction requires: sme2 634// CHECK-UNKNOWN: c15fffaf <unknown> 635 636usdot za.s[w11, 7], {z28.b - z31.b}, z15.b[3] // 11000001-01011111-11111111-10101111 637// CHECK-INST: usdot za.s[w11, 7, vgx4], { z28.b - z31.b }, z15.b[3] 638// CHECK-ENCODING: [0xaf,0xff,0x5f,0xc1] 639// CHECK-ERROR: instruction requires: sme2 640// CHECK-UNKNOWN: c15fffaf <unknown> 641 642usdot za.s[w8, 5, vgx4], {z16.b - z19.b}, z0.b[3] // 11000001-01010000-10011110-00101101 643// CHECK-INST: usdot za.s[w8, 5, vgx4], { z16.b - z19.b }, z0.b[3] 644// CHECK-ENCODING: [0x2d,0x9e,0x50,0xc1] 645// CHECK-ERROR: instruction requires: sme2 646// CHECK-UNKNOWN: c1509e2d <unknown> 647 648usdot za.s[w8, 5], {z16.b - z19.b}, z0.b[3] // 11000001-01010000-10011110-00101101 649// CHECK-INST: usdot za.s[w8, 5, vgx4], { z16.b - z19.b }, z0.b[3] 650// CHECK-ENCODING: [0x2d,0x9e,0x50,0xc1] 651// CHECK-ERROR: instruction requires: sme2 652// CHECK-UNKNOWN: c1509e2d <unknown> 653 654usdot za.s[w8, 1, vgx4], {z0.b - z3.b}, z14.b[1] // 11000001-01011110-10010100-00101001 655// CHECK-INST: usdot za.s[w8, 1, vgx4], { z0.b - z3.b }, z14.b[1] 656// CHECK-ENCODING: [0x29,0x94,0x5e,0xc1] 657// CHECK-ERROR: instruction requires: sme2 658// CHECK-UNKNOWN: c15e9429 <unknown> 659 660usdot za.s[w8, 1], {z0.b - z3.b}, z14.b[1] // 11000001-01011110-10010100-00101001 661// CHECK-INST: usdot za.s[w8, 1, vgx4], { z0.b - z3.b }, z14.b[1] 662// CHECK-ENCODING: [0x29,0x94,0x5e,0xc1] 663// CHECK-ERROR: instruction requires: sme2 664// CHECK-UNKNOWN: c15e9429 <unknown> 665 666usdot za.s[w10, 0, vgx4], {z16.b - z19.b}, z4.b[1] // 11000001-01010100-11010110-00101000 667// CHECK-INST: usdot za.s[w10, 0, vgx4], { z16.b - z19.b }, z4.b[1] 668// CHECK-ENCODING: [0x28,0xd6,0x54,0xc1] 669// CHECK-ERROR: instruction requires: sme2 670// CHECK-UNKNOWN: c154d628 <unknown> 671 672usdot za.s[w10, 0], {z16.b - z19.b}, z4.b[1] // 11000001-01010100-11010110-00101000 673// CHECK-INST: usdot za.s[w10, 0, vgx4], { z16.b - z19.b }, z4.b[1] 674// CHECK-ENCODING: [0x28,0xd6,0x54,0xc1] 675// CHECK-ERROR: instruction requires: sme2 676// CHECK-UNKNOWN: c154d628 <unknown> 677 678usdot za.s[w8, 0, vgx4], {z12.b - z15.b}, z2.b[2] // 11000001-01010010-10011001-10101000 679// CHECK-INST: usdot za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b[2] 680// CHECK-ENCODING: [0xa8,0x99,0x52,0xc1] 681// CHECK-ERROR: instruction requires: sme2 682// CHECK-UNKNOWN: c15299a8 <unknown> 683 684usdot za.s[w8, 0], {z12.b - z15.b}, z2.b[2] // 11000001-01010010-10011001-10101000 685// CHECK-INST: usdot za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b[2] 686// CHECK-ENCODING: [0xa8,0x99,0x52,0xc1] 687// CHECK-ERROR: instruction requires: sme2 688// CHECK-UNKNOWN: c15299a8 <unknown> 689 690usdot za.s[w10, 1, vgx4], {z0.b - z3.b}, z10.b[2] // 11000001-01011010-11011000-00101001 691// CHECK-INST: usdot za.s[w10, 1, vgx4], { z0.b - z3.b }, z10.b[2] 692// CHECK-ENCODING: [0x29,0xd8,0x5a,0xc1] 693// CHECK-ERROR: instruction requires: sme2 694// CHECK-UNKNOWN: c15ad829 <unknown> 695 696usdot za.s[w10, 1], {z0.b - z3.b}, z10.b[2] // 11000001-01011010-11011000-00101001 697// CHECK-INST: usdot za.s[w10, 1, vgx4], { z0.b - z3.b }, z10.b[2] 698// CHECK-ENCODING: [0x29,0xd8,0x5a,0xc1] 699// CHECK-ERROR: instruction requires: sme2 700// CHECK-UNKNOWN: c15ad829 <unknown> 701 702usdot za.s[w8, 5, vgx4], {z20.b - z23.b}, z14.b[2] // 11000001-01011110-10011010-10101101 703// CHECK-INST: usdot za.s[w8, 5, vgx4], { z20.b - z23.b }, z14.b[2] 704// CHECK-ENCODING: [0xad,0x9a,0x5e,0xc1] 705// CHECK-ERROR: instruction requires: sme2 706// CHECK-UNKNOWN: c15e9aad <unknown> 707 708usdot za.s[w8, 5], {z20.b - z23.b}, z14.b[2] // 11000001-01011110-10011010-10101101 709// CHECK-INST: usdot za.s[w8, 5, vgx4], { z20.b - z23.b }, z14.b[2] 710// CHECK-ENCODING: [0xad,0x9a,0x5e,0xc1] 711// CHECK-ERROR: instruction requires: sme2 712// CHECK-UNKNOWN: c15e9aad <unknown> 713 714usdot za.s[w11, 2, vgx4], {z8.b - z11.b}, z1.b[1] // 11000001-01010001-11110101-00101010 715// CHECK-INST: usdot za.s[w11, 2, vgx4], { z8.b - z11.b }, z1.b[1] 716// CHECK-ENCODING: [0x2a,0xf5,0x51,0xc1] 717// CHECK-ERROR: instruction requires: sme2 718// CHECK-UNKNOWN: c151f52a <unknown> 719 720usdot za.s[w11, 2], {z8.b - z11.b}, z1.b[1] // 11000001-01010001-11110101-00101010 721// CHECK-INST: usdot za.s[w11, 2, vgx4], { z8.b - z11.b }, z1.b[1] 722// CHECK-ENCODING: [0x2a,0xf5,0x51,0xc1] 723// CHECK-ERROR: instruction requires: sme2 724// CHECK-UNKNOWN: c151f52a <unknown> 725 726usdot za.s[w9, 7, vgx4], {z12.b - z15.b}, z11.b[2] // 11000001-01011011-10111001-10101111 727// CHECK-INST: usdot za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b[2] 728// CHECK-ENCODING: [0xaf,0xb9,0x5b,0xc1] 729// CHECK-ERROR: instruction requires: sme2 730// CHECK-UNKNOWN: c15bb9af <unknown> 731 732usdot za.s[w9, 7], {z12.b - z15.b}, z11.b[2] // 11000001-01011011-10111001-10101111 733// CHECK-INST: usdot za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b[2] 734// CHECK-ENCODING: [0xaf,0xb9,0x5b,0xc1] 735// CHECK-ERROR: instruction requires: sme2 736// CHECK-UNKNOWN: c15bb9af <unknown> 737 738 739usdot za.s[w8, 0, vgx4], {z0.b - z3.b}, {z0.b - z3.b} // 11000001-10100001-00010100-00001000 740// CHECK-INST: usdot za.s[w8, 0, vgx4], { z0.b - z3.b }, { z0.b - z3.b } 741// CHECK-ENCODING: [0x08,0x14,0xa1,0xc1] 742// CHECK-ERROR: instruction requires: sme2 743// CHECK-UNKNOWN: c1a11408 <unknown> 744 745usdot za.s[w8, 0], {z0.b - z3.b}, {z0.b - z3.b} // 11000001-10100001-00010100-00001000 746// CHECK-INST: usdot za.s[w8, 0, vgx4], { z0.b - z3.b }, { z0.b - z3.b } 747// CHECK-ENCODING: [0x08,0x14,0xa1,0xc1] 748// CHECK-ERROR: instruction requires: sme2 749// CHECK-UNKNOWN: c1a11408 <unknown> 750 751usdot za.s[w10, 5, vgx4], {z8.b - z11.b}, {z20.b - z23.b} // 11000001-10110101-01010101-00001101 752// CHECK-INST: usdot za.s[w10, 5, vgx4], { z8.b - z11.b }, { z20.b - z23.b } 753// CHECK-ENCODING: [0x0d,0x55,0xb5,0xc1] 754// CHECK-ERROR: instruction requires: sme2 755// CHECK-UNKNOWN: c1b5550d <unknown> 756 757usdot za.s[w10, 5], {z8.b - z11.b}, {z20.b - z23.b} // 11000001-10110101-01010101-00001101 758// CHECK-INST: usdot za.s[w10, 5, vgx4], { z8.b - z11.b }, { z20.b - z23.b } 759// CHECK-ENCODING: [0x0d,0x55,0xb5,0xc1] 760// CHECK-ERROR: instruction requires: sme2 761// CHECK-UNKNOWN: c1b5550d <unknown> 762 763usdot za.s[w11, 7, vgx4], {z12.b - z15.b}, {z8.b - z11.b} // 11000001-10101001-01110101-10001111 764// CHECK-INST: usdot za.s[w11, 7, vgx4], { z12.b - z15.b }, { z8.b - z11.b } 765// CHECK-ENCODING: [0x8f,0x75,0xa9,0xc1] 766// CHECK-ERROR: instruction requires: sme2 767// CHECK-UNKNOWN: c1a9758f <unknown> 768 769usdot za.s[w11, 7], {z12.b - z15.b}, {z8.b - z11.b} // 11000001-10101001-01110101-10001111 770// CHECK-INST: usdot za.s[w11, 7, vgx4], { z12.b - z15.b }, { z8.b - z11.b } 771// CHECK-ENCODING: [0x8f,0x75,0xa9,0xc1] 772// CHECK-ERROR: instruction requires: sme2 773// CHECK-UNKNOWN: c1a9758f <unknown> 774 775usdot za.s[w11, 7, vgx4], {z28.b - z31.b}, {z28.b - z31.b} // 11000001-10111101-01110111-10001111 776// CHECK-INST: usdot za.s[w11, 7, vgx4], { z28.b - z31.b }, { z28.b - z31.b } 777// CHECK-ENCODING: [0x8f,0x77,0xbd,0xc1] 778// CHECK-ERROR: instruction requires: sme2 779// CHECK-UNKNOWN: c1bd778f <unknown> 780 781usdot za.s[w11, 7], {z28.b - z31.b}, {z28.b - z31.b} // 11000001-10111101-01110111-10001111 782// CHECK-INST: usdot za.s[w11, 7, vgx4], { z28.b - z31.b }, { z28.b - z31.b } 783// CHECK-ENCODING: [0x8f,0x77,0xbd,0xc1] 784// CHECK-ERROR: instruction requires: sme2 785// CHECK-UNKNOWN: c1bd778f <unknown> 786 787usdot za.s[w8, 5, vgx4], {z16.b - z19.b}, {z16.b - z19.b} // 11000001-10110001-00010110-00001101 788// CHECK-INST: usdot za.s[w8, 5, vgx4], { z16.b - z19.b }, { z16.b - z19.b } 789// CHECK-ENCODING: [0x0d,0x16,0xb1,0xc1] 790// CHECK-ERROR: instruction requires: sme2 791// CHECK-UNKNOWN: c1b1160d <unknown> 792 793usdot za.s[w8, 5], {z16.b - z19.b}, {z16.b - z19.b} // 11000001-10110001-00010110-00001101 794// CHECK-INST: usdot za.s[w8, 5, vgx4], { z16.b - z19.b }, { z16.b - z19.b } 795// CHECK-ENCODING: [0x0d,0x16,0xb1,0xc1] 796// CHECK-ERROR: instruction requires: sme2 797// CHECK-UNKNOWN: c1b1160d <unknown> 798 799usdot za.s[w8, 1, vgx4], {z0.b - z3.b}, {z28.b - z31.b} // 11000001-10111101-00010100-00001001 800// CHECK-INST: usdot za.s[w8, 1, vgx4], { z0.b - z3.b }, { z28.b - z31.b } 801// CHECK-ENCODING: [0x09,0x14,0xbd,0xc1] 802// CHECK-ERROR: instruction requires: sme2 803// CHECK-UNKNOWN: c1bd1409 <unknown> 804 805usdot za.s[w8, 1], {z0.b - z3.b}, {z28.b - z31.b} // 11000001-10111101-00010100-00001001 806// CHECK-INST: usdot za.s[w8, 1, vgx4], { z0.b - z3.b }, { z28.b - z31.b } 807// CHECK-ENCODING: [0x09,0x14,0xbd,0xc1] 808// CHECK-ERROR: instruction requires: sme2 809// CHECK-UNKNOWN: c1bd1409 <unknown> 810 811usdot za.s[w10, 0, vgx4], {z16.b - z19.b}, {z20.b - z23.b} // 11000001-10110101-01010110-00001000 812// CHECK-INST: usdot za.s[w10, 0, vgx4], { z16.b - z19.b }, { z20.b - z23.b } 813// CHECK-ENCODING: [0x08,0x56,0xb5,0xc1] 814// CHECK-ERROR: instruction requires: sme2 815// CHECK-UNKNOWN: c1b55608 <unknown> 816 817usdot za.s[w10, 0], {z16.b - z19.b}, {z20.b - z23.b} // 11000001-10110101-01010110-00001000 818// CHECK-INST: usdot za.s[w10, 0, vgx4], { z16.b - z19.b }, { z20.b - z23.b } 819// CHECK-ENCODING: [0x08,0x56,0xb5,0xc1] 820// CHECK-ERROR: instruction requires: sme2 821// CHECK-UNKNOWN: c1b55608 <unknown> 822 823usdot za.s[w8, 0, vgx4], {z12.b - z15.b}, {z0.b - z3.b} // 11000001-10100001-00010101-10001000 824// CHECK-INST: usdot za.s[w8, 0, vgx4], { z12.b - z15.b }, { z0.b - z3.b } 825// CHECK-ENCODING: [0x88,0x15,0xa1,0xc1] 826// CHECK-ERROR: instruction requires: sme2 827// CHECK-UNKNOWN: c1a11588 <unknown> 828 829usdot za.s[w8, 0], {z12.b - z15.b}, {z0.b - z3.b} // 11000001-10100001-00010101-10001000 830// CHECK-INST: usdot za.s[w8, 0, vgx4], { z12.b - z15.b }, { z0.b - z3.b } 831// CHECK-ENCODING: [0x88,0x15,0xa1,0xc1] 832// CHECK-ERROR: instruction requires: sme2 833// CHECK-UNKNOWN: c1a11588 <unknown> 834 835usdot za.s[w10, 1, vgx4], {z0.b - z3.b}, {z24.b - z27.b} // 11000001-10111001-01010100-00001001 836// CHECK-INST: usdot za.s[w10, 1, vgx4], { z0.b - z3.b }, { z24.b - z27.b } 837// CHECK-ENCODING: [0x09,0x54,0xb9,0xc1] 838// CHECK-ERROR: instruction requires: sme2 839// CHECK-UNKNOWN: c1b95409 <unknown> 840 841usdot za.s[w10, 1], {z0.b - z3.b}, {z24.b - z27.b} // 11000001-10111001-01010100-00001001 842// CHECK-INST: usdot za.s[w10, 1, vgx4], { z0.b - z3.b }, { z24.b - z27.b } 843// CHECK-ENCODING: [0x09,0x54,0xb9,0xc1] 844// CHECK-ERROR: instruction requires: sme2 845// CHECK-UNKNOWN: c1b95409 <unknown> 846 847usdot za.s[w8, 5, vgx4], {z20.b - z23.b}, {z28.b - z31.b} // 11000001-10111101-00010110-10001101 848// CHECK-INST: usdot za.s[w8, 5, vgx4], { z20.b - z23.b }, { z28.b - z31.b } 849// CHECK-ENCODING: [0x8d,0x16,0xbd,0xc1] 850// CHECK-ERROR: instruction requires: sme2 851// CHECK-UNKNOWN: c1bd168d <unknown> 852 853usdot za.s[w8, 5], {z20.b - z23.b}, {z28.b - z31.b} // 11000001-10111101-00010110-10001101 854// CHECK-INST: usdot za.s[w8, 5, vgx4], { z20.b - z23.b }, { z28.b - z31.b } 855// CHECK-ENCODING: [0x8d,0x16,0xbd,0xc1] 856// CHECK-ERROR: instruction requires: sme2 857// CHECK-UNKNOWN: c1bd168d <unknown> 858 859usdot za.s[w11, 2, vgx4], {z8.b - z11.b}, {z0.b - z3.b} // 11000001-10100001-01110101-00001010 860// CHECK-INST: usdot za.s[w11, 2, vgx4], { z8.b - z11.b }, { z0.b - z3.b } 861// CHECK-ENCODING: [0x0a,0x75,0xa1,0xc1] 862// CHECK-ERROR: instruction requires: sme2 863// CHECK-UNKNOWN: c1a1750a <unknown> 864 865usdot za.s[w11, 2], {z8.b - z11.b}, {z0.b - z3.b} // 11000001-10100001-01110101-00001010 866// CHECK-INST: usdot za.s[w11, 2, vgx4], { z8.b - z11.b }, { z0.b - z3.b } 867// CHECK-ENCODING: [0x0a,0x75,0xa1,0xc1] 868// CHECK-ERROR: instruction requires: sme2 869// CHECK-UNKNOWN: c1a1750a <unknown> 870 871usdot za.s[w9, 7, vgx4], {z12.b - z15.b}, {z8.b - z11.b} // 11000001-10101001-00110101-10001111 872// CHECK-INST: usdot za.s[w9, 7, vgx4], { z12.b - z15.b }, { z8.b - z11.b } 873// CHECK-ENCODING: [0x8f,0x35,0xa9,0xc1] 874// CHECK-ERROR: instruction requires: sme2 875// CHECK-UNKNOWN: c1a9358f <unknown> 876 877usdot za.s[w9, 7], {z12.b - z15.b}, {z8.b - z11.b} // 11000001-10101001-00110101-10001111 878// CHECK-INST: usdot za.s[w9, 7, vgx4], { z12.b - z15.b }, { z8.b - z11.b } 879// CHECK-ENCODING: [0x8f,0x35,0xa9,0xc1] 880// CHECK-ERROR: instruction requires: sme2 881// CHECK-UNKNOWN: c1a9358f <unknown> 882 883