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 15sudot za.s[w8, 0, vgx2], {z0.b, z1.b}, z0.b // 11000001-00100000-00010100-00011000 16// CHECK-INST: sudot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b 17// CHECK-ENCODING: [0x18,0x14,0x20,0xc1] 18// CHECK-ERROR: instruction requires: sme2 19// CHECK-UNKNOWN: c1201418 <unknown> 20 21sudot za.s[w8, 0], {z0.b, z1.b}, z0.b // 11000001-00100000-00010100-00011000 22// CHECK-INST: sudot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b 23// CHECK-ENCODING: [0x18,0x14,0x20,0xc1] 24// CHECK-ERROR: instruction requires: sme2 25// CHECK-UNKNOWN: c1201418 <unknown> 26 27sudot za.s[w10, 5, vgx2], {z10.b, z11.b}, z5.b // 11000001-00100101-01010101-01011101 28// CHECK-INST: sudot za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b 29// CHECK-ENCODING: [0x5d,0x55,0x25,0xc1] 30// CHECK-ERROR: instruction requires: sme2 31// CHECK-UNKNOWN: c125555d <unknown> 32 33sudot za.s[w10, 5], {z10.b, z11.b}, z5.b // 11000001-00100101-01010101-01011101 34// CHECK-INST: sudot za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b 35// CHECK-ENCODING: [0x5d,0x55,0x25,0xc1] 36// CHECK-ERROR: instruction requires: sme2 37// CHECK-UNKNOWN: c125555d <unknown> 38 39sudot za.s[w11, 7, vgx2], {z13.b, z14.b}, z8.b // 11000001-00101000-01110101-10111111 40// CHECK-INST: sudot za.s[w11, 7, vgx2], { z13.b, z14.b }, z8.b 41// CHECK-ENCODING: [0xbf,0x75,0x28,0xc1] 42// CHECK-ERROR: instruction requires: sme2 43// CHECK-UNKNOWN: c12875bf <unknown> 44 45sudot za.s[w11, 7], {z13.b, z14.b}, z8.b // 11000001-00101000-01110101-10111111 46// CHECK-INST: sudot za.s[w11, 7, vgx2], { z13.b, z14.b }, z8.b 47// CHECK-ENCODING: [0xbf,0x75,0x28,0xc1] 48// CHECK-ERROR: instruction requires: sme2 49// CHECK-UNKNOWN: c12875bf <unknown> 50 51sudot za.s[w11, 7, vgx2], {z31.b, z0.b}, z15.b // 11000001-00101111-01110111-11111111 52// CHECK-INST: sudot za.s[w11, 7, vgx2], { z31.b, z0.b }, z15.b 53// CHECK-ENCODING: [0xff,0x77,0x2f,0xc1] 54// CHECK-ERROR: instruction requires: sme2 55// CHECK-UNKNOWN: c12f77ff <unknown> 56 57sudot za.s[w11, 7], {z31.b, z0.b}, z15.b // 11000001-00101111-01110111-11111111 58// CHECK-INST: sudot za.s[w11, 7, vgx2], { z31.b, z0.b }, z15.b 59// CHECK-ENCODING: [0xff,0x77,0x2f,0xc1] 60// CHECK-ERROR: instruction requires: sme2 61// CHECK-UNKNOWN: c12f77ff <unknown> 62 63sudot za.s[w8, 5, vgx2], {z17.b, z18.b}, z0.b // 11000001-00100000-00010110-00111101 64// CHECK-INST: sudot za.s[w8, 5, vgx2], { z17.b, z18.b }, z0.b 65// CHECK-ENCODING: [0x3d,0x16,0x20,0xc1] 66// CHECK-ERROR: instruction requires: sme2 67// CHECK-UNKNOWN: c120163d <unknown> 68 69sudot za.s[w8, 5], {z17.b, z18.b}, z0.b // 11000001-00100000-00010110-00111101 70// CHECK-INST: sudot za.s[w8, 5, vgx2], { z17.b, z18.b }, z0.b 71// CHECK-ENCODING: [0x3d,0x16,0x20,0xc1] 72// CHECK-ERROR: instruction requires: sme2 73// CHECK-UNKNOWN: c120163d <unknown> 74 75sudot za.s[w8, 1, vgx2], {z1.b, z2.b}, z14.b // 11000001-00101110-00010100-00111001 76// CHECK-INST: sudot za.s[w8, 1, vgx2], { z1.b, z2.b }, z14.b 77// CHECK-ENCODING: [0x39,0x14,0x2e,0xc1] 78// CHECK-ERROR: instruction requires: sme2 79// CHECK-UNKNOWN: c12e1439 <unknown> 80 81sudot za.s[w8, 1], {z1.b, z2.b}, z14.b // 11000001-00101110-00010100-00111001 82// CHECK-INST: sudot za.s[w8, 1, vgx2], { z1.b, z2.b }, z14.b 83// CHECK-ENCODING: [0x39,0x14,0x2e,0xc1] 84// CHECK-ERROR: instruction requires: sme2 85// CHECK-UNKNOWN: c12e1439 <unknown> 86 87 88sudot za.s[w10, 0, vgx2], {z19.b, z20.b}, z4.b // 11000001-00100100-01010110-01111000 89// CHECK-INST: sudot za.s[w10, 0, vgx2], { z19.b, z20.b }, z4.b 90// CHECK-ENCODING: [0x78,0x56,0x24,0xc1] 91// CHECK-ERROR: instruction requires: sme2 92// CHECK-UNKNOWN: c1245678 <unknown> 93 94sudot za.s[w10, 0], {z19.b, z20.b}, z4.b // 11000001-00100100-01010110-01111000 95// CHECK-INST: sudot za.s[w10, 0, vgx2], { z19.b, z20.b }, z4.b 96// CHECK-ENCODING: [0x78,0x56,0x24,0xc1] 97// CHECK-ERROR: instruction requires: sme2 98// CHECK-UNKNOWN: c1245678 <unknown> 99 100sudot za.s[w8, 0, vgx2], {z12.b, z13.b}, z2.b // 11000001-00100010-00010101-10011000 101// CHECK-INST: sudot za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b 102// CHECK-ENCODING: [0x98,0x15,0x22,0xc1] 103// CHECK-ERROR: instruction requires: sme2 104// CHECK-UNKNOWN: c1221598 <unknown> 105 106sudot za.s[w8, 0], {z12.b, z13.b}, z2.b // 11000001-00100010-00010101-10011000 107// CHECK-INST: sudot za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b 108// CHECK-ENCODING: [0x98,0x15,0x22,0xc1] 109// CHECK-ERROR: instruction requires: sme2 110// CHECK-UNKNOWN: c1221598 <unknown> 111 112sudot za.s[w10, 1, vgx2], {z1.b, z2.b}, z10.b // 11000001-00101010-01010100-00111001 113// CHECK-INST: sudot za.s[w10, 1, vgx2], { z1.b, z2.b }, z10.b 114// CHECK-ENCODING: [0x39,0x54,0x2a,0xc1] 115// CHECK-ERROR: instruction requires: sme2 116// CHECK-UNKNOWN: c12a5439 <unknown> 117 118sudot za.s[w10, 1], {z1.b, z2.b}, z10.b // 11000001-00101010-01010100-00111001 119// CHECK-INST: sudot za.s[w10, 1, vgx2], { z1.b, z2.b }, z10.b 120// CHECK-ENCODING: [0x39,0x54,0x2a,0xc1] 121// CHECK-ERROR: instruction requires: sme2 122// CHECK-UNKNOWN: c12a5439 <unknown> 123 124sudot za.s[w8, 5, vgx2], {z22.b, z23.b}, z14.b // 11000001-00101110-00010110-11011101 125// CHECK-INST: sudot za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b 126// CHECK-ENCODING: [0xdd,0x16,0x2e,0xc1] 127// CHECK-ERROR: instruction requires: sme2 128// CHECK-UNKNOWN: c12e16dd <unknown> 129 130sudot za.s[w8, 5], {z22.b, z23.b}, z14.b // 11000001-00101110-00010110-11011101 131// CHECK-INST: sudot za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b 132// CHECK-ENCODING: [0xdd,0x16,0x2e,0xc1] 133// CHECK-ERROR: instruction requires: sme2 134// CHECK-UNKNOWN: c12e16dd <unknown> 135 136sudot za.s[w11, 2, vgx2], {z9.b, z10.b}, z1.b // 11000001-00100001-01110101-00111010 137// CHECK-INST: sudot za.s[w11, 2, vgx2], { z9.b, z10.b }, z1.b 138// CHECK-ENCODING: [0x3a,0x75,0x21,0xc1] 139// CHECK-ERROR: instruction requires: sme2 140// CHECK-UNKNOWN: c121753a <unknown> 141 142sudot za.s[w11, 2], {z9.b, z10.b}, z1.b // 11000001-00100001-01110101-00111010 143// CHECK-INST: sudot za.s[w11, 2, vgx2], { z9.b, z10.b }, z1.b 144// CHECK-ENCODING: [0x3a,0x75,0x21,0xc1] 145// CHECK-ERROR: instruction requires: sme2 146// CHECK-UNKNOWN: c121753a <unknown> 147 148sudot za.s[w9, 7, vgx2], {z12.b, z13.b}, z11.b // 11000001-00101011-00110101-10011111 149// CHECK-INST: sudot za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b 150// CHECK-ENCODING: [0x9f,0x35,0x2b,0xc1] 151// CHECK-ERROR: instruction requires: sme2 152// CHECK-UNKNOWN: c12b359f <unknown> 153 154sudot za.s[w9, 7], {z12.b, z13.b}, z11.b // 11000001-00101011-00110101-10011111 155// CHECK-INST: sudot za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b 156// CHECK-ENCODING: [0x9f,0x35,0x2b,0xc1] 157// CHECK-ERROR: instruction requires: sme2 158// CHECK-UNKNOWN: c12b359f <unknown> 159 160 161sudot za.s[w8, 0, vgx2], {z0.b, z1.b}, z0.b[0] // 11000001-01010000-00010000-00111000 162// CHECK-INST: sudot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0] 163// CHECK-ENCODING: [0x38,0x10,0x50,0xc1] 164// CHECK-ERROR: instruction requires: sme2 165// CHECK-UNKNOWN: c1501038 <unknown> 166 167sudot za.s[w8, 0], {z0.b, z1.b}, z0.b[0] // 11000001-01010000-00010000-00111000 168// CHECK-INST: sudot za.s[w8, 0, vgx2], { z0.b, z1.b }, z0.b[0] 169// CHECK-ENCODING: [0x38,0x10,0x50,0xc1] 170// CHECK-ERROR: instruction requires: sme2 171// CHECK-UNKNOWN: c1501038 <unknown> 172 173sudot za.s[w10, 5, vgx2], {z10.b, z11.b}, z5.b[1] // 11000001-01010101-01010101-01111101 174// CHECK-INST: sudot za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b[1] 175// CHECK-ENCODING: [0x7d,0x55,0x55,0xc1] 176// CHECK-ERROR: instruction requires: sme2 177// CHECK-UNKNOWN: c155557d <unknown> 178 179sudot za.s[w10, 5], {z10.b, z11.b}, z5.b[1] // 11000001-01010101-01010101-01111101 180// CHECK-INST: sudot za.s[w10, 5, vgx2], { z10.b, z11.b }, z5.b[1] 181// CHECK-ENCODING: [0x7d,0x55,0x55,0xc1] 182// CHECK-ERROR: instruction requires: sme2 183// CHECK-UNKNOWN: c155557d <unknown> 184 185sudot za.s[w11, 7, vgx2], {z12.b, z13.b}, z8.b[3] // 11000001-01011000-01111101-10111111 186// CHECK-INST: sudot za.s[w11, 7, vgx2], { z12.b, z13.b }, z8.b[3] 187// CHECK-ENCODING: [0xbf,0x7d,0x58,0xc1] 188// CHECK-ERROR: instruction requires: sme2 189// CHECK-UNKNOWN: c1587dbf <unknown> 190 191sudot za.s[w11, 7], {z12.b, z13.b}, z8.b[3] // 11000001-01011000-01111101-10111111 192// CHECK-INST: sudot za.s[w11, 7, vgx2], { z12.b, z13.b }, z8.b[3] 193// CHECK-ENCODING: [0xbf,0x7d,0x58,0xc1] 194// CHECK-ERROR: instruction requires: sme2 195// CHECK-UNKNOWN: c1587dbf <unknown> 196 197sudot za.s[w11, 7, vgx2], {z30.b, z31.b}, z15.b[3] // 11000001-01011111-01111111-11111111 198// CHECK-INST: sudot za.s[w11, 7, vgx2], { z30.b, z31.b }, z15.b[3] 199// CHECK-ENCODING: [0xff,0x7f,0x5f,0xc1] 200// CHECK-ERROR: instruction requires: sme2 201// CHECK-UNKNOWN: c15f7fff <unknown> 202 203sudot za.s[w11, 7], {z30.b, z31.b}, z15.b[3] // 11000001-01011111-01111111-11111111 204// CHECK-INST: sudot za.s[w11, 7, vgx2], { z30.b, z31.b }, z15.b[3] 205// CHECK-ENCODING: [0xff,0x7f,0x5f,0xc1] 206// CHECK-ERROR: instruction requires: sme2 207// CHECK-UNKNOWN: c15f7fff <unknown> 208 209sudot za.s[w8, 5, vgx2], {z16.b, z17.b}, z0.b[3] // 11000001-01010000-00011110-00111101 210// CHECK-INST: sudot za.s[w8, 5, vgx2], { z16.b, z17.b }, z0.b[3] 211// CHECK-ENCODING: [0x3d,0x1e,0x50,0xc1] 212// CHECK-ERROR: instruction requires: sme2 213// CHECK-UNKNOWN: c1501e3d <unknown> 214 215sudot za.s[w8, 5], {z16.b, z17.b}, z0.b[3] // 11000001-01010000-00011110-00111101 216// CHECK-INST: sudot za.s[w8, 5, vgx2], { z16.b, z17.b }, z0.b[3] 217// CHECK-ENCODING: [0x3d,0x1e,0x50,0xc1] 218// CHECK-ERROR: instruction requires: sme2 219// CHECK-UNKNOWN: c1501e3d <unknown> 220 221sudot za.s[w8, 1, vgx2], {z0.b, z1.b}, z14.b[1] // 11000001-01011110-00010100-00111001 222// CHECK-INST: sudot za.s[w8, 1, vgx2], { z0.b, z1.b }, z14.b[1] 223// CHECK-ENCODING: [0x39,0x14,0x5e,0xc1] 224// CHECK-ERROR: instruction requires: sme2 225// CHECK-UNKNOWN: c15e1439 <unknown> 226 227sudot za.s[w8, 1], {z0.b, z1.b}, z14.b[1] // 11000001-01011110-00010100-00111001 228// CHECK-INST: sudot za.s[w8, 1, vgx2], { z0.b, z1.b }, z14.b[1] 229// CHECK-ENCODING: [0x39,0x14,0x5e,0xc1] 230// CHECK-ERROR: instruction requires: sme2 231// CHECK-UNKNOWN: c15e1439 <unknown> 232 233sudot za.s[w10, 0, vgx2], {z18.b, z19.b}, z4.b[1] // 11000001-01010100-01010110-01111000 234// CHECK-INST: sudot za.s[w10, 0, vgx2], { z18.b, z19.b }, z4.b[1] 235// CHECK-ENCODING: [0x78,0x56,0x54,0xc1] 236// CHECK-ERROR: instruction requires: sme2 237// CHECK-UNKNOWN: c1545678 <unknown> 238 239sudot za.s[w10, 0], {z18.b, z19.b}, z4.b[1] // 11000001-01010100-01010110-01111000 240// CHECK-INST: sudot za.s[w10, 0, vgx2], { z18.b, z19.b }, z4.b[1] 241// CHECK-ENCODING: [0x78,0x56,0x54,0xc1] 242// CHECK-ERROR: instruction requires: sme2 243// CHECK-UNKNOWN: c1545678 <unknown> 244 245sudot za.s[w8, 0, vgx2], {z12.b, z13.b}, z2.b[2] // 11000001-01010010-00011001-10111000 246// CHECK-INST: sudot za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b[2] 247// CHECK-ENCODING: [0xb8,0x19,0x52,0xc1] 248// CHECK-ERROR: instruction requires: sme2 249// CHECK-UNKNOWN: c15219b8 <unknown> 250 251sudot za.s[w8, 0], {z12.b, z13.b}, z2.b[2] // 11000001-01010010-00011001-10111000 252// CHECK-INST: sudot za.s[w8, 0, vgx2], { z12.b, z13.b }, z2.b[2] 253// CHECK-ENCODING: [0xb8,0x19,0x52,0xc1] 254// CHECK-ERROR: instruction requires: sme2 255// CHECK-UNKNOWN: c15219b8 <unknown> 256 257sudot za.s[w10, 1, vgx2], {z0.b, z1.b}, z10.b[2] // 11000001-01011010-01011000-00111001 258// CHECK-INST: sudot za.s[w10, 1, vgx2], { z0.b, z1.b }, z10.b[2] 259// CHECK-ENCODING: [0x39,0x58,0x5a,0xc1] 260// CHECK-ERROR: instruction requires: sme2 261// CHECK-UNKNOWN: c15a5839 <unknown> 262 263sudot za.s[w10, 1], {z0.b, z1.b}, z10.b[2] // 11000001-01011010-01011000-00111001 264// CHECK-INST: sudot za.s[w10, 1, vgx2], { z0.b, z1.b }, z10.b[2] 265// CHECK-ENCODING: [0x39,0x58,0x5a,0xc1] 266// CHECK-ERROR: instruction requires: sme2 267// CHECK-UNKNOWN: c15a5839 <unknown> 268 269sudot za.s[w8, 5, vgx2], {z22.b, z23.b}, z14.b[2] // 11000001-01011110-00011010-11111101 270// CHECK-INST: sudot za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b[2] 271// CHECK-ENCODING: [0xfd,0x1a,0x5e,0xc1] 272// CHECK-ERROR: instruction requires: sme2 273// CHECK-UNKNOWN: c15e1afd <unknown> 274 275sudot za.s[w8, 5], {z22.b, z23.b}, z14.b[2] // 11000001-01011110-00011010-11111101 276// CHECK-INST: sudot za.s[w8, 5, vgx2], { z22.b, z23.b }, z14.b[2] 277// CHECK-ENCODING: [0xfd,0x1a,0x5e,0xc1] 278// CHECK-ERROR: instruction requires: sme2 279// CHECK-UNKNOWN: c15e1afd <unknown> 280 281sudot za.s[w11, 2, vgx2], {z8.b, z9.b}, z1.b[1] // 11000001-01010001-01110101-00111010 282// CHECK-INST: sudot za.s[w11, 2, vgx2], { z8.b, z9.b }, z1.b[1] 283// CHECK-ENCODING: [0x3a,0x75,0x51,0xc1] 284// CHECK-ERROR: instruction requires: sme2 285// CHECK-UNKNOWN: c151753a <unknown> 286 287sudot za.s[w11, 2], {z8.b, z9.b}, z1.b[1] // 11000001-01010001-01110101-00111010 288// CHECK-INST: sudot za.s[w11, 2, vgx2], { z8.b, z9.b }, z1.b[1] 289// CHECK-ENCODING: [0x3a,0x75,0x51,0xc1] 290// CHECK-ERROR: instruction requires: sme2 291// CHECK-UNKNOWN: c151753a <unknown> 292 293sudot za.s[w9, 7, vgx2], {z12.b, z13.b}, z11.b[2] // 11000001-01011011-00111001-10111111 294// CHECK-INST: sudot za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b[2] 295// CHECK-ENCODING: [0xbf,0x39,0x5b,0xc1] 296// CHECK-ERROR: instruction requires: sme2 297// CHECK-UNKNOWN: c15b39bf <unknown> 298 299sudot za.s[w9, 7], {z12.b, z13.b}, z11.b[2] // 11000001-01011011-00111001-10111111 300// CHECK-INST: sudot za.s[w9, 7, vgx2], { z12.b, z13.b }, z11.b[2] 301// CHECK-ENCODING: [0xbf,0x39,0x5b,0xc1] 302// CHECK-ERROR: instruction requires: sme2 303// CHECK-UNKNOWN: c15b39bf <unknown> 304 305sudot za.s[w8, 0, vgx4], {z0.b - z3.b}, z0.b // 11000001-00110000-00010100-00011000 306// CHECK-INST: sudot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b 307// CHECK-ENCODING: [0x18,0x14,0x30,0xc1] 308// CHECK-ERROR: instruction requires: sme2 309// CHECK-UNKNOWN: c1301418 <unknown> 310 311sudot za.s[w8, 0], {z0.b - z3.b}, z0.b // 11000001-00110000-00010100-00011000 312// CHECK-INST: sudot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b 313// CHECK-ENCODING: [0x18,0x14,0x30,0xc1] 314// CHECK-ERROR: instruction requires: sme2 315// CHECK-UNKNOWN: c1301418 <unknown> 316 317sudot za.s[w10, 5, vgx4], {z10.b - z13.b}, z5.b // 11000001-00110101-01010101-01011101 318// CHECK-INST: sudot za.s[w10, 5, vgx4], { z10.b - z13.b }, z5.b 319// CHECK-ENCODING: [0x5d,0x55,0x35,0xc1] 320// CHECK-ERROR: instruction requires: sme2 321// CHECK-UNKNOWN: c135555d <unknown> 322 323sudot za.s[w10, 5], {z10.b - z13.b}, z5.b // 11000001-00110101-01010101-01011101 324// CHECK-INST: sudot za.s[w10, 5, vgx4], { z10.b - z13.b }, z5.b 325// CHECK-ENCODING: [0x5d,0x55,0x35,0xc1] 326// CHECK-ERROR: instruction requires: sme2 327// CHECK-UNKNOWN: c135555d <unknown> 328 329sudot za.s[w11, 7, vgx4], {z13.b - z16.b}, z8.b // 11000001-00111000-01110101-10111111 330// CHECK-INST: sudot za.s[w11, 7, vgx4], { z13.b - z16.b }, z8.b 331// CHECK-ENCODING: [0xbf,0x75,0x38,0xc1] 332// CHECK-ERROR: instruction requires: sme2 333// CHECK-UNKNOWN: c13875bf <unknown> 334 335sudot za.s[w11, 7], {z13.b - z16.b}, z8.b // 11000001-00111000-01110101-10111111 336// CHECK-INST: sudot za.s[w11, 7, vgx4], { z13.b - z16.b }, z8.b 337// CHECK-ENCODING: [0xbf,0x75,0x38,0xc1] 338// CHECK-ERROR: instruction requires: sme2 339// CHECK-UNKNOWN: c13875bf <unknown> 340 341sudot za.s[w11, 7, vgx4], {z31.b - z2.b}, z15.b // 11000001-00111111-01110111-11111111 342// CHECK-INST: sudot za.s[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b 343// CHECK-ENCODING: [0xff,0x77,0x3f,0xc1] 344// CHECK-ERROR: instruction requires: sme2 345// CHECK-UNKNOWN: c13f77ff <unknown> 346 347sudot za.s[w11, 7], {z31.b - z2.b}, z15.b // 11000001-00111111-01110111-11111111 348// CHECK-INST: sudot za.s[w11, 7, vgx4], { z31.b, z0.b, z1.b, z2.b }, z15.b 349// CHECK-ENCODING: [0xff,0x77,0x3f,0xc1] 350// CHECK-ERROR: instruction requires: sme2 351// CHECK-UNKNOWN: c13f77ff <unknown> 352 353sudot za.s[w8, 5, vgx4], {z17.b - z20.b}, z0.b // 11000001-00110000-00010110-00111101 354// CHECK-INST: sudot za.s[w8, 5, vgx4], { z17.b - z20.b }, z0.b 355// CHECK-ENCODING: [0x3d,0x16,0x30,0xc1] 356// CHECK-ERROR: instruction requires: sme2 357// CHECK-UNKNOWN: c130163d <unknown> 358 359sudot za.s[w8, 5], {z17.b - z20.b}, z0.b // 11000001-00110000-00010110-00111101 360// CHECK-INST: sudot za.s[w8, 5, vgx4], { z17.b - z20.b }, z0.b 361// CHECK-ENCODING: [0x3d,0x16,0x30,0xc1] 362// CHECK-ERROR: instruction requires: sme2 363// CHECK-UNKNOWN: c130163d <unknown> 364 365sudot za.s[w8, 1, vgx4], {z1.b - z4.b}, z14.b // 11000001-00111110-00010100-00111001 366// CHECK-INST: sudot za.s[w8, 1, vgx4], { z1.b - z4.b }, z14.b 367// CHECK-ENCODING: [0x39,0x14,0x3e,0xc1] 368// CHECK-ERROR: instruction requires: sme2 369// CHECK-UNKNOWN: c13e1439 <unknown> 370 371sudot za.s[w8, 1], {z1.b - z4.b}, z14.b // 11000001-00111110-00010100-00111001 372// CHECK-INST: sudot za.s[w8, 1, vgx4], { z1.b - z4.b }, z14.b 373// CHECK-ENCODING: [0x39,0x14,0x3e,0xc1] 374// CHECK-ERROR: instruction requires: sme2 375// CHECK-UNKNOWN: c13e1439 <unknown> 376 377sudot za.s[w10, 0, vgx4], {z19.b - z22.b}, z4.b // 11000001-00110100-01010110-01111000 378// CHECK-INST: sudot za.s[w10, 0, vgx4], { z19.b - z22.b }, z4.b 379// CHECK-ENCODING: [0x78,0x56,0x34,0xc1] 380// CHECK-ERROR: instruction requires: sme2 381// CHECK-UNKNOWN: c1345678 <unknown> 382 383sudot za.s[w10, 0], {z19.b - z22.b}, z4.b // 11000001-00110100-01010110-01111000 384// CHECK-INST: sudot za.s[w10, 0, vgx4], { z19.b - z22.b }, z4.b 385// CHECK-ENCODING: [0x78,0x56,0x34,0xc1] 386// CHECK-ERROR: instruction requires: sme2 387// CHECK-UNKNOWN: c1345678 <unknown> 388 389sudot za.s[w8, 0, vgx4], {z12.b - z15.b}, z2.b // 11000001-00110010-00010101-10011000 390// CHECK-INST: sudot za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b 391// CHECK-ENCODING: [0x98,0x15,0x32,0xc1] 392// CHECK-ERROR: instruction requires: sme2 393// CHECK-UNKNOWN: c1321598 <unknown> 394 395sudot za.s[w8, 0], {z12.b - z15.b}, z2.b // 11000001-00110010-00010101-10011000 396// CHECK-INST: sudot za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b 397// CHECK-ENCODING: [0x98,0x15,0x32,0xc1] 398// CHECK-ERROR: instruction requires: sme2 399// CHECK-UNKNOWN: c1321598 <unknown> 400 401sudot za.s[w10, 1, vgx4], {z1.b - z4.b}, z10.b // 11000001-00111010-01010100-00111001 402// CHECK-INST: sudot za.s[w10, 1, vgx4], { z1.b - z4.b }, z10.b 403// CHECK-ENCODING: [0x39,0x54,0x3a,0xc1] 404// CHECK-ERROR: instruction requires: sme2 405// CHECK-UNKNOWN: c13a5439 <unknown> 406 407sudot za.s[w10, 1], {z1.b - z4.b}, z10.b // 11000001-00111010-01010100-00111001 408// CHECK-INST: sudot za.s[w10, 1, vgx4], { z1.b - z4.b }, z10.b 409// CHECK-ENCODING: [0x39,0x54,0x3a,0xc1] 410// CHECK-ERROR: instruction requires: sme2 411// CHECK-UNKNOWN: c13a5439 <unknown> 412 413sudot za.s[w8, 5, vgx4], {z22.b - z25.b}, z14.b // 11000001-00111110-00010110-11011101 414// CHECK-INST: sudot za.s[w8, 5, vgx4], { z22.b - z25.b }, z14.b 415// CHECK-ENCODING: [0xdd,0x16,0x3e,0xc1] 416// CHECK-ERROR: instruction requires: sme2 417// CHECK-UNKNOWN: c13e16dd <unknown> 418 419sudot za.s[w8, 5], {z22.b - z25.b}, z14.b // 11000001-00111110-00010110-11011101 420// CHECK-INST: sudot za.s[w8, 5, vgx4], { z22.b - z25.b }, z14.b 421// CHECK-ENCODING: [0xdd,0x16,0x3e,0xc1] 422// CHECK-ERROR: instruction requires: sme2 423// CHECK-UNKNOWN: c13e16dd <unknown> 424 425sudot za.s[w11, 2, vgx4], {z9.b - z12.b}, z1.b // 11000001-00110001-01110101-00111010 426// CHECK-INST: sudot za.s[w11, 2, vgx4], { z9.b - z12.b }, z1.b 427// CHECK-ENCODING: [0x3a,0x75,0x31,0xc1] 428// CHECK-ERROR: instruction requires: sme2 429// CHECK-UNKNOWN: c131753a <unknown> 430 431sudot za.s[w11, 2], {z9.b - z12.b}, z1.b // 11000001-00110001-01110101-00111010 432// CHECK-INST: sudot za.s[w11, 2, vgx4], { z9.b - z12.b }, z1.b 433// CHECK-ENCODING: [0x3a,0x75,0x31,0xc1] 434// CHECK-ERROR: instruction requires: sme2 435// CHECK-UNKNOWN: c131753a <unknown> 436 437sudot za.s[w9, 7, vgx4], {z12.b - z15.b}, z11.b // 11000001-00111011-00110101-10011111 438// CHECK-INST: sudot za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b 439// CHECK-ENCODING: [0x9f,0x35,0x3b,0xc1] 440// CHECK-ERROR: instruction requires: sme2 441// CHECK-UNKNOWN: c13b359f <unknown> 442 443sudot za.s[w9, 7], {z12.b - z15.b}, z11.b // 11000001-00111011-00110101-10011111 444// CHECK-INST: sudot za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b 445// CHECK-ENCODING: [0x9f,0x35,0x3b,0xc1] 446// CHECK-ERROR: instruction requires: sme2 447// CHECK-UNKNOWN: c13b359f <unknown> 448 449 450sudot za.s[w8, 0, vgx4], {z0.b - z3.b}, z0.b[0] // 11000001-01010000-10010000-00111000 451// CHECK-INST: sudot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0] 452// CHECK-ENCODING: [0x38,0x90,0x50,0xc1] 453// CHECK-ERROR: instruction requires: sme2 454// CHECK-UNKNOWN: c1509038 <unknown> 455 456sudot za.s[w8, 0], {z0.b - z3.b}, z0.b[0] // 11000001-01010000-10010000-00111000 457// CHECK-INST: sudot za.s[w8, 0, vgx4], { z0.b - z3.b }, z0.b[0] 458// CHECK-ENCODING: [0x38,0x90,0x50,0xc1] 459// CHECK-ERROR: instruction requires: sme2 460// CHECK-UNKNOWN: c1509038 <unknown> 461 462sudot za.s[w10, 5, vgx4], {z8.b - z11.b}, z5.b[1] // 11000001-01010101-11010101-00111101 463// CHECK-INST: sudot za.s[w10, 5, vgx4], { z8.b - z11.b }, z5.b[1] 464// CHECK-ENCODING: [0x3d,0xd5,0x55,0xc1] 465// CHECK-ERROR: instruction requires: sme2 466// CHECK-UNKNOWN: c155d53d <unknown> 467 468sudot za.s[w10, 5], {z8.b - z11.b}, z5.b[1] // 11000001-01010101-11010101-00111101 469// CHECK-INST: sudot za.s[w10, 5, vgx4], { z8.b - z11.b }, z5.b[1] 470// CHECK-ENCODING: [0x3d,0xd5,0x55,0xc1] 471// CHECK-ERROR: instruction requires: sme2 472// CHECK-UNKNOWN: c155d53d <unknown> 473 474sudot za.s[w11, 7, vgx4], {z12.b - z15.b}, z8.b[3] // 11000001-01011000-11111101-10111111 475// CHECK-INST: sudot za.s[w11, 7, vgx4], { z12.b - z15.b }, z8.b[3] 476// CHECK-ENCODING: [0xbf,0xfd,0x58,0xc1] 477// CHECK-ERROR: instruction requires: sme2 478// CHECK-UNKNOWN: c158fdbf <unknown> 479 480sudot za.s[w11, 7], {z12.b - z15.b}, z8.b[3] // 11000001-01011000-11111101-10111111 481// CHECK-INST: sudot za.s[w11, 7, vgx4], { z12.b - z15.b }, z8.b[3] 482// CHECK-ENCODING: [0xbf,0xfd,0x58,0xc1] 483// CHECK-ERROR: instruction requires: sme2 484// CHECK-UNKNOWN: c158fdbf <unknown> 485 486sudot za.s[w11, 7, vgx4], {z28.b - z31.b}, z15.b[3] // 11000001-01011111-11111111-10111111 487// CHECK-INST: sudot za.s[w11, 7, vgx4], { z28.b - z31.b }, z15.b[3] 488// CHECK-ENCODING: [0xbf,0xff,0x5f,0xc1] 489// CHECK-ERROR: instruction requires: sme2 490// CHECK-UNKNOWN: c15fffbf <unknown> 491 492sudot za.s[w11, 7], {z28.b - z31.b}, z15.b[3] // 11000001-01011111-11111111-10111111 493// CHECK-INST: sudot za.s[w11, 7, vgx4], { z28.b - z31.b }, z15.b[3] 494// CHECK-ENCODING: [0xbf,0xff,0x5f,0xc1] 495// CHECK-ERROR: instruction requires: sme2 496// CHECK-UNKNOWN: c15fffbf <unknown> 497 498sudot za.s[w8, 5, vgx4], {z16.b - z19.b}, z0.b[3] // 11000001-01010000-10011110-00111101 499// CHECK-INST: sudot za.s[w8, 5, vgx4], { z16.b - z19.b }, z0.b[3] 500// CHECK-ENCODING: [0x3d,0x9e,0x50,0xc1] 501// CHECK-ERROR: instruction requires: sme2 502// CHECK-UNKNOWN: c1509e3d <unknown> 503 504sudot za.s[w8, 5], {z16.b - z19.b}, z0.b[3] // 11000001-01010000-10011110-00111101 505// CHECK-INST: sudot za.s[w8, 5, vgx4], { z16.b - z19.b }, z0.b[3] 506// CHECK-ENCODING: [0x3d,0x9e,0x50,0xc1] 507// CHECK-ERROR: instruction requires: sme2 508// CHECK-UNKNOWN: c1509e3d <unknown> 509 510sudot za.s[w8, 1, vgx4], {z0.b - z3.b}, z14.b[1] // 11000001-01011110-10010100-00111001 511// CHECK-INST: sudot za.s[w8, 1, vgx4], { z0.b - z3.b }, z14.b[1] 512// CHECK-ENCODING: [0x39,0x94,0x5e,0xc1] 513// CHECK-ERROR: instruction requires: sme2 514// CHECK-UNKNOWN: c15e9439 <unknown> 515 516sudot za.s[w8, 1], {z0.b - z3.b}, z14.b[1] // 11000001-01011110-10010100-00111001 517// CHECK-INST: sudot za.s[w8, 1, vgx4], { z0.b - z3.b }, z14.b[1] 518// CHECK-ENCODING: [0x39,0x94,0x5e,0xc1] 519// CHECK-ERROR: instruction requires: sme2 520// CHECK-UNKNOWN: c15e9439 <unknown> 521 522sudot za.s[w10, 0, vgx4], {z16.b - z19.b}, z4.b[1] // 11000001-01010100-11010110-00111000 523// CHECK-INST: sudot za.s[w10, 0, vgx4], { z16.b - z19.b }, z4.b[1] 524// CHECK-ENCODING: [0x38,0xd6,0x54,0xc1] 525// CHECK-ERROR: instruction requires: sme2 526// CHECK-UNKNOWN: c154d638 <unknown> 527 528sudot za.s[w10, 0], {z16.b - z19.b}, z4.b[1] // 11000001-01010100-11010110-00111000 529// CHECK-INST: sudot za.s[w10, 0, vgx4], { z16.b - z19.b }, z4.b[1] 530// CHECK-ENCODING: [0x38,0xd6,0x54,0xc1] 531// CHECK-ERROR: instruction requires: sme2 532// CHECK-UNKNOWN: c154d638 <unknown> 533 534sudot za.s[w8, 0, vgx4], {z12.b - z15.b}, z2.b[2] // 11000001-01010010-10011001-10111000 535// CHECK-INST: sudot za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b[2] 536// CHECK-ENCODING: [0xb8,0x99,0x52,0xc1] 537// CHECK-ERROR: instruction requires: sme2 538// CHECK-UNKNOWN: c15299b8 <unknown> 539 540sudot za.s[w8, 0], {z12.b - z15.b}, z2.b[2] // 11000001-01010010-10011001-10111000 541// CHECK-INST: sudot za.s[w8, 0, vgx4], { z12.b - z15.b }, z2.b[2] 542// CHECK-ENCODING: [0xb8,0x99,0x52,0xc1] 543// CHECK-ERROR: instruction requires: sme2 544// CHECK-UNKNOWN: c15299b8 <unknown> 545 546sudot za.s[w10, 1, vgx4], {z0.b - z3.b}, z10.b[2] // 11000001-01011010-11011000-00111001 547// CHECK-INST: sudot za.s[w10, 1, vgx4], { z0.b - z3.b }, z10.b[2] 548// CHECK-ENCODING: [0x39,0xd8,0x5a,0xc1] 549// CHECK-ERROR: instruction requires: sme2 550// CHECK-UNKNOWN: c15ad839 <unknown> 551 552sudot za.s[w10, 1], {z0.b - z3.b}, z10.b[2] // 11000001-01011010-11011000-00111001 553// CHECK-INST: sudot za.s[w10, 1, vgx4], { z0.b - z3.b }, z10.b[2] 554// CHECK-ENCODING: [0x39,0xd8,0x5a,0xc1] 555// CHECK-ERROR: instruction requires: sme2 556// CHECK-UNKNOWN: c15ad839 <unknown> 557 558sudot za.s[w8, 5, vgx4], {z20.b - z23.b}, z14.b[2] // 11000001-01011110-10011010-10111101 559// CHECK-INST: sudot za.s[w8, 5, vgx4], { z20.b - z23.b }, z14.b[2] 560// CHECK-ENCODING: [0xbd,0x9a,0x5e,0xc1] 561// CHECK-ERROR: instruction requires: sme2 562// CHECK-UNKNOWN: c15e9abd <unknown> 563 564sudot za.s[w8, 5], {z20.b - z23.b}, z14.b[2] // 11000001-01011110-10011010-10111101 565// CHECK-INST: sudot za.s[w8, 5, vgx4], { z20.b - z23.b }, z14.b[2] 566// CHECK-ENCODING: [0xbd,0x9a,0x5e,0xc1] 567// CHECK-ERROR: instruction requires: sme2 568// CHECK-UNKNOWN: c15e9abd <unknown> 569 570sudot za.s[w11, 2, vgx4], {z8.b - z11.b}, z1.b[1] // 11000001-01010001-11110101-00111010 571// CHECK-INST: sudot za.s[w11, 2, vgx4], { z8.b - z11.b }, z1.b[1] 572// CHECK-ENCODING: [0x3a,0xf5,0x51,0xc1] 573// CHECK-ERROR: instruction requires: sme2 574// CHECK-UNKNOWN: c151f53a <unknown> 575 576sudot za.s[w11, 2], {z8.b - z11.b}, z1.b[1] // 11000001-01010001-11110101-00111010 577// CHECK-INST: sudot za.s[w11, 2, vgx4], { z8.b - z11.b }, z1.b[1] 578// CHECK-ENCODING: [0x3a,0xf5,0x51,0xc1] 579// CHECK-ERROR: instruction requires: sme2 580// CHECK-UNKNOWN: c151f53a <unknown> 581 582sudot za.s[w9, 7, vgx4], {z12.b - z15.b}, z11.b[2] // 11000001-01011011-10111001-10111111 583// CHECK-INST: sudot za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b[2] 584// CHECK-ENCODING: [0xbf,0xb9,0x5b,0xc1] 585// CHECK-ERROR: instruction requires: sme2 586// CHECK-UNKNOWN: c15bb9bf <unknown> 587 588sudot za.s[w9, 7], {z12.b - z15.b}, z11.b[2] // 11000001-01011011-10111001-10111111 589// CHECK-INST: sudot za.s[w9, 7, vgx4], { z12.b - z15.b }, z11.b[2] 590// CHECK-ENCODING: [0xbf,0xb9,0x5b,0xc1] 591// CHECK-ERROR: instruction requires: sme2 592// CHECK-UNKNOWN: c15bb9bf <unknown> 593 594