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 --no-print-imm-hex -d --mattr=+sme2 - | FileCheck %s --check-prefix=CHECK-INST 7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2 < %s \ 8// RUN: | llvm-objdump --no-print-imm-hex -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 15smlal za.s[w8, 0:1], z0.h, z0.h // 11000001-01100000-00001100-00000000 16// CHECK-INST: smlal za.s[w8, 0:1], z0.h, z0.h 17// CHECK-ENCODING: [0x00,0x0c,0x60,0xc1] 18// CHECK-ERROR: instruction requires: sme2 19// CHECK-UNKNOWN: c1600c00 <unknown> 20 21smlal za.s[w10, 10:11], z10.h, z5.h // 11000001-01100101-01001101-01000101 22// CHECK-INST: smlal za.s[w10, 10:11], z10.h, z5.h 23// CHECK-ENCODING: [0x45,0x4d,0x65,0xc1] 24// CHECK-ERROR: instruction requires: sme2 25// CHECK-UNKNOWN: c1654d45 <unknown> 26 27smlal za.s[w11, 14:15], z13.h, z8.h // 11000001-01101000-01101101-10100111 28// CHECK-INST: smlal za.s[w11, 14:15], z13.h, z8.h 29// CHECK-ENCODING: [0xa7,0x6d,0x68,0xc1] 30// CHECK-ERROR: instruction requires: sme2 31// CHECK-UNKNOWN: c1686da7 <unknown> 32 33smlal za.s[w11, 14:15], z31.h, z15.h // 11000001-01101111-01101111-11100111 34// CHECK-INST: smlal za.s[w11, 14:15], z31.h, z15.h 35// CHECK-ENCODING: [0xe7,0x6f,0x6f,0xc1] 36// CHECK-ERROR: instruction requires: sme2 37// CHECK-UNKNOWN: c16f6fe7 <unknown> 38 39smlal za.s[w8, 10:11], z17.h, z0.h // 11000001-01100000-00001110-00100101 40// CHECK-INST: smlal za.s[w8, 10:11], z17.h, z0.h 41// CHECK-ENCODING: [0x25,0x0e,0x60,0xc1] 42// CHECK-ERROR: instruction requires: sme2 43// CHECK-UNKNOWN: c1600e25 <unknown> 44 45smlal za.s[w8, 2:3], z1.h, z14.h // 11000001-01101110-00001100-00100001 46// CHECK-INST: smlal za.s[w8, 2:3], z1.h, z14.h 47// CHECK-ENCODING: [0x21,0x0c,0x6e,0xc1] 48// CHECK-ERROR: instruction requires: sme2 49// CHECK-UNKNOWN: c16e0c21 <unknown> 50 51smlal za.s[w10, 0:1], z19.h, z4.h // 11000001-01100100-01001110-01100000 52// CHECK-INST: smlal za.s[w10, 0:1], z19.h, z4.h 53// CHECK-ENCODING: [0x60,0x4e,0x64,0xc1] 54// CHECK-ERROR: instruction requires: sme2 55// CHECK-UNKNOWN: c1644e60 <unknown> 56 57smlal za.s[w8, 0:1], z12.h, z2.h // 11000001-01100010-00001101-10000000 58// CHECK-INST: smlal za.s[w8, 0:1], z12.h, z2.h 59// CHECK-ENCODING: [0x80,0x0d,0x62,0xc1] 60// CHECK-ERROR: instruction requires: sme2 61// CHECK-UNKNOWN: c1620d80 <unknown> 62 63smlal za.s[w10, 2:3], z1.h, z10.h // 11000001-01101010-01001100-00100001 64// CHECK-INST: smlal za.s[w10, 2:3], z1.h, z10.h 65// CHECK-ENCODING: [0x21,0x4c,0x6a,0xc1] 66// CHECK-ERROR: instruction requires: sme2 67// CHECK-UNKNOWN: c16a4c21 <unknown> 68 69smlal za.s[w8, 10:11], z22.h, z14.h // 11000001-01101110-00001110-11000101 70// CHECK-INST: smlal za.s[w8, 10:11], z22.h, z14.h 71// CHECK-ENCODING: [0xc5,0x0e,0x6e,0xc1] 72// CHECK-ERROR: instruction requires: sme2 73// CHECK-UNKNOWN: c16e0ec5 <unknown> 74 75smlal za.s[w11, 4:5], z9.h, z1.h // 11000001-01100001-01101101-00100010 76// CHECK-INST: smlal za.s[w11, 4:5], z9.h, z1.h 77// CHECK-ENCODING: [0x22,0x6d,0x61,0xc1] 78// CHECK-ERROR: instruction requires: sme2 79// CHECK-UNKNOWN: c1616d22 <unknown> 80 81smlal za.s[w9, 14:15], z12.h, z11.h // 11000001-01101011-00101101-10000111 82// CHECK-INST: smlal za.s[w9, 14:15], z12.h, z11.h 83// CHECK-ENCODING: [0x87,0x2d,0x6b,0xc1] 84// CHECK-ERROR: instruction requires: sme2 85// CHECK-UNKNOWN: c16b2d87 <unknown> 86 87 88smlal za.s[w8, 0:1], z0.h, z0.h[0] // 11000001-11000000-00010000-00000000 89// CHECK-INST: smlal za.s[w8, 0:1], z0.h, z0.h[0] 90// CHECK-ENCODING: [0x00,0x10,0xc0,0xc1] 91// CHECK-ERROR: instruction requires: sme2 92// CHECK-UNKNOWN: c1c01000 <unknown> 93 94smlal za.s[w10, 10:11], z10.h, z5.h[1] // 11000001-11000101-01010101-01000101 95// CHECK-INST: smlal za.s[w10, 10:11], z10.h, z5.h[1] 96// CHECK-ENCODING: [0x45,0x55,0xc5,0xc1] 97// CHECK-ERROR: instruction requires: sme2 98// CHECK-UNKNOWN: c1c55545 <unknown> 99 100smlal za.s[w11, 14:15], z13.h, z8.h[7] // 11000001-11001000-11111101-10100111 101// CHECK-INST: smlal za.s[w11, 14:15], z13.h, z8.h[7] 102// CHECK-ENCODING: [0xa7,0xfd,0xc8,0xc1] 103// CHECK-ERROR: instruction requires: sme2 104// CHECK-UNKNOWN: c1c8fda7 <unknown> 105 106smlal za.s[w11, 14:15], z31.h, z15.h[7] // 11000001-11001111-11111111-11100111 107// CHECK-INST: smlal za.s[w11, 14:15], z31.h, z15.h[7] 108// CHECK-ENCODING: [0xe7,0xff,0xcf,0xc1] 109// CHECK-ERROR: instruction requires: sme2 110// CHECK-UNKNOWN: c1cfffe7 <unknown> 111 112smlal za.s[w8, 10:11], z17.h, z0.h[3] // 11000001-11000000-00011110-00100101 113// CHECK-INST: smlal za.s[w8, 10:11], z17.h, z0.h[3] 114// CHECK-ENCODING: [0x25,0x1e,0xc0,0xc1] 115// CHECK-ERROR: instruction requires: sme2 116// CHECK-UNKNOWN: c1c01e25 <unknown> 117 118smlal za.s[w8, 2:3], z1.h, z14.h[5] // 11000001-11001110-10010100-00100001 119// CHECK-INST: smlal za.s[w8, 2:3], z1.h, z14.h[5] 120// CHECK-ENCODING: [0x21,0x94,0xce,0xc1] 121// CHECK-ERROR: instruction requires: sme2 122// CHECK-UNKNOWN: c1ce9421 <unknown> 123 124smlal za.s[w10, 0:1], z19.h, z4.h[1] // 11000001-11000100-01010110-01100000 125// CHECK-INST: smlal za.s[w10, 0:1], z19.h, z4.h[1] 126// CHECK-ENCODING: [0x60,0x56,0xc4,0xc1] 127// CHECK-ERROR: instruction requires: sme2 128// CHECK-UNKNOWN: c1c45660 <unknown> 129 130smlal za.s[w8, 0:1], z12.h, z2.h[2] // 11000001-11000010-00011001-10000000 131// CHECK-INST: smlal za.s[w8, 0:1], z12.h, z2.h[2] 132// CHECK-ENCODING: [0x80,0x19,0xc2,0xc1] 133// CHECK-ERROR: instruction requires: sme2 134// CHECK-UNKNOWN: c1c21980 <unknown> 135 136smlal za.s[w10, 2:3], z1.h, z10.h[6] // 11000001-11001010-11011000-00100001 137// CHECK-INST: smlal za.s[w10, 2:3], z1.h, z10.h[6] 138// CHECK-ENCODING: [0x21,0xd8,0xca,0xc1] 139// CHECK-ERROR: instruction requires: sme2 140// CHECK-UNKNOWN: c1cad821 <unknown> 141 142smlal za.s[w8, 10:11], z22.h, z14.h[2] // 11000001-11001110-00011010-11000101 143// CHECK-INST: smlal za.s[w8, 10:11], z22.h, z14.h[2] 144// CHECK-ENCODING: [0xc5,0x1a,0xce,0xc1] 145// CHECK-ERROR: instruction requires: sme2 146// CHECK-UNKNOWN: c1ce1ac5 <unknown> 147 148smlal za.s[w11, 4:5], z9.h, z1.h[5] // 11000001-11000001-11110101-00100010 149// CHECK-INST: smlal za.s[w11, 4:5], z9.h, z1.h[5] 150// CHECK-ENCODING: [0x22,0xf5,0xc1,0xc1] 151// CHECK-ERROR: instruction requires: sme2 152// CHECK-UNKNOWN: c1c1f522 <unknown> 153 154smlal za.s[w9, 14:15], z12.h, z11.h[6] // 11000001-11001011-10111001-10000111 155// CHECK-INST: smlal za.s[w9, 14:15], z12.h, z11.h[6] 156// CHECK-ENCODING: [0x87,0xb9,0xcb,0xc1] 157// CHECK-ERROR: instruction requires: sme2 158// CHECK-UNKNOWN: c1cbb987 <unknown> 159 160 161smlal za.s[w8, 0:1, vgx2], {z0.h, z1.h}, z0.h // 11000001-01100000-00001000-00000000 162// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h 163// CHECK-ENCODING: [0x00,0x08,0x60,0xc1] 164// CHECK-ERROR: instruction requires: sme2 165// CHECK-UNKNOWN: c1600800 <unknown> 166 167smlal za.s[w8, 0:1], {z0.h - z1.h}, z0.h // 11000001-01100000-00001000-00000000 168// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h 169// CHECK-ENCODING: [0x00,0x08,0x60,0xc1] 170// CHECK-ERROR: instruction requires: sme2 171// CHECK-UNKNOWN: c1600800 <unknown> 172 173smlal za.s[w10, 2:3, vgx2], {z10.h, z11.h}, z5.h // 11000001-01100101-01001001-01000001 174// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h 175// CHECK-ENCODING: [0x41,0x49,0x65,0xc1] 176// CHECK-ERROR: instruction requires: sme2 177// CHECK-UNKNOWN: c1654941 <unknown> 178 179smlal za.s[w10, 2:3], {z10.h - z11.h}, z5.h // 11000001-01100101-01001001-01000001 180// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h 181// CHECK-ENCODING: [0x41,0x49,0x65,0xc1] 182// CHECK-ERROR: instruction requires: sme2 183// CHECK-UNKNOWN: c1654941 <unknown> 184 185smlal za.s[w11, 6:7, vgx2], {z13.h, z14.h}, z8.h // 11000001-01101000-01101001-10100011 186// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z13.h, z14.h }, z8.h 187// CHECK-ENCODING: [0xa3,0x69,0x68,0xc1] 188// CHECK-ERROR: instruction requires: sme2 189// CHECK-UNKNOWN: c16869a3 <unknown> 190 191smlal za.s[w11, 6:7], {z13.h - z14.h}, z8.h // 11000001-01101000-01101001-10100011 192// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z13.h, z14.h }, z8.h 193// CHECK-ENCODING: [0xa3,0x69,0x68,0xc1] 194// CHECK-ERROR: instruction requires: sme2 195// CHECK-UNKNOWN: c16869a3 <unknown> 196 197smlal za.s[w11, 6:7, vgx2], {z31.h, z0.h}, z15.h // 11000001-01101111-01101011-11100011 198// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z31.h, z0.h }, z15.h 199// CHECK-ENCODING: [0xe3,0x6b,0x6f,0xc1] 200// CHECK-ERROR: instruction requires: sme2 201// CHECK-UNKNOWN: c16f6be3 <unknown> 202 203smlal za.s[w11, 6:7], {z31.h - z0.h}, z15.h // 11000001-01101111-01101011-11100011 204// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z31.h, z0.h }, z15.h 205// CHECK-ENCODING: [0xe3,0x6b,0x6f,0xc1] 206// CHECK-ERROR: instruction requires: sme2 207// CHECK-UNKNOWN: c16f6be3 <unknown> 208 209smlal za.s[w8, 2:3, vgx2], {z17.h, z18.h}, z0.h // 11000001-01100000-00001010-00100001 210// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z17.h, z18.h }, z0.h 211// CHECK-ENCODING: [0x21,0x0a,0x60,0xc1] 212// CHECK-ERROR: instruction requires: sme2 213// CHECK-UNKNOWN: c1600a21 <unknown> 214 215smlal za.s[w8, 2:3], {z17.h - z18.h}, z0.h // 11000001-01100000-00001010-00100001 216// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z17.h, z18.h }, z0.h 217// CHECK-ENCODING: [0x21,0x0a,0x60,0xc1] 218// CHECK-ERROR: instruction requires: sme2 219// CHECK-UNKNOWN: c1600a21 <unknown> 220 221smlal za.s[w8, 2:3, vgx2], {z1.h, z2.h}, z14.h // 11000001-01101110-00001000-00100001 222// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z1.h, z2.h }, z14.h 223// CHECK-ENCODING: [0x21,0x08,0x6e,0xc1] 224// CHECK-ERROR: instruction requires: sme2 225// CHECK-UNKNOWN: c16e0821 <unknown> 226 227smlal za.s[w8, 2:3], {z1.h - z2.h}, z14.h // 11000001-01101110-00001000-00100001 228// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z1.h, z2.h }, z14.h 229// CHECK-ENCODING: [0x21,0x08,0x6e,0xc1] 230// CHECK-ERROR: instruction requires: sme2 231// CHECK-UNKNOWN: c16e0821 <unknown> 232 233smlal za.s[w10, 0:1, vgx2], {z19.h, z20.h}, z4.h // 11000001-01100100-01001010-01100000 234// CHECK-INST: smlal za.s[w10, 0:1, vgx2], { z19.h, z20.h }, z4.h 235// CHECK-ENCODING: [0x60,0x4a,0x64,0xc1] 236// CHECK-ERROR: instruction requires: sme2 237// CHECK-UNKNOWN: c1644a60 <unknown> 238 239smlal za.s[w10, 0:1], {z19.h - z20.h}, z4.h // 11000001-01100100-01001010-01100000 240// CHECK-INST: smlal za.s[w10, 0:1, vgx2], { z19.h, z20.h }, z4.h 241// CHECK-ENCODING: [0x60,0x4a,0x64,0xc1] 242// CHECK-ERROR: instruction requires: sme2 243// CHECK-UNKNOWN: c1644a60 <unknown> 244 245smlal za.s[w8, 0:1, vgx2], {z12.h, z13.h}, z2.h // 11000001-01100010-00001001-10000000 246// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h 247// CHECK-ENCODING: [0x80,0x09,0x62,0xc1] 248// CHECK-ERROR: instruction requires: sme2 249// CHECK-UNKNOWN: c1620980 <unknown> 250 251smlal za.s[w8, 0:1], {z12.h - z13.h}, z2.h // 11000001-01100010-00001001-10000000 252// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h 253// CHECK-ENCODING: [0x80,0x09,0x62,0xc1] 254// CHECK-ERROR: instruction requires: sme2 255// CHECK-UNKNOWN: c1620980 <unknown> 256 257smlal za.s[w10, 2:3, vgx2], {z1.h, z2.h}, z10.h // 11000001-01101010-01001000-00100001 258// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z1.h, z2.h }, z10.h 259// CHECK-ENCODING: [0x21,0x48,0x6a,0xc1] 260// CHECK-ERROR: instruction requires: sme2 261// CHECK-UNKNOWN: c16a4821 <unknown> 262 263smlal za.s[w10, 2:3], {z1.h - z2.h}, z10.h // 11000001-01101010-01001000-00100001 264// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z1.h, z2.h }, z10.h 265// CHECK-ENCODING: [0x21,0x48,0x6a,0xc1] 266// CHECK-ERROR: instruction requires: sme2 267// CHECK-UNKNOWN: c16a4821 <unknown> 268 269smlal za.s[w8, 2:3, vgx2], {z22.h, z23.h}, z14.h // 11000001-01101110-00001010-11000001 270// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h 271// CHECK-ENCODING: [0xc1,0x0a,0x6e,0xc1] 272// CHECK-ERROR: instruction requires: sme2 273// CHECK-UNKNOWN: c16e0ac1 <unknown> 274 275smlal za.s[w8, 2:3], {z22.h - z23.h}, z14.h // 11000001-01101110-00001010-11000001 276// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h 277// CHECK-ENCODING: [0xc1,0x0a,0x6e,0xc1] 278// CHECK-ERROR: instruction requires: sme2 279// CHECK-UNKNOWN: c16e0ac1 <unknown> 280 281smlal za.s[w11, 4:5, vgx2], {z9.h, z10.h}, z1.h // 11000001-01100001-01101001-00100010 282// CHECK-INST: smlal za.s[w11, 4:5, vgx2], { z9.h, z10.h }, z1.h 283// CHECK-ENCODING: [0x22,0x69,0x61,0xc1] 284// CHECK-ERROR: instruction requires: sme2 285// CHECK-UNKNOWN: c1616922 <unknown> 286 287smlal za.s[w11, 4:5], {z9.h - z10.h}, z1.h // 11000001-01100001-01101001-00100010 288// CHECK-INST: smlal za.s[w11, 4:5, vgx2], { z9.h, z10.h }, z1.h 289// CHECK-ENCODING: [0x22,0x69,0x61,0xc1] 290// CHECK-ERROR: instruction requires: sme2 291// CHECK-UNKNOWN: c1616922 <unknown> 292 293smlal za.s[w9, 6:7, vgx2], {z12.h, z13.h}, z11.h // 11000001-01101011-00101001-10000011 294// CHECK-INST: smlal za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h 295// CHECK-ENCODING: [0x83,0x29,0x6b,0xc1] 296// CHECK-ERROR: instruction requires: sme2 297// CHECK-UNKNOWN: c16b2983 <unknown> 298 299smlal za.s[w9, 6:7], {z12.h - z13.h}, z11.h // 11000001-01101011-00101001-10000011 300// CHECK-INST: smlal za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h 301// CHECK-ENCODING: [0x83,0x29,0x6b,0xc1] 302// CHECK-ERROR: instruction requires: sme2 303// CHECK-UNKNOWN: c16b2983 <unknown> 304 305 306smlal za.s[w8, 0:1, vgx2], {z0.h, z1.h}, z0.h[0] // 11000001-11010000-00010000-00000000 307// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h[0] 308// CHECK-ENCODING: [0x00,0x10,0xd0,0xc1] 309// CHECK-ERROR: instruction requires: sme2 310// CHECK-UNKNOWN: c1d01000 <unknown> 311 312smlal za.s[w8, 0:1], {z0.h - z1.h}, z0.h[0] // 11000001-11010000-00010000-00000000 313// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z0.h, z1.h }, z0.h[0] 314// CHECK-ENCODING: [0x00,0x10,0xd0,0xc1] 315// CHECK-ERROR: instruction requires: sme2 316// CHECK-UNKNOWN: c1d01000 <unknown> 317 318smlal za.s[w10, 2:3, vgx2], {z10.h, z11.h}, z5.h[3] // 11000001-11010101-01010101-01000101 319// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h[3] 320// CHECK-ENCODING: [0x45,0x55,0xd5,0xc1] 321// CHECK-ERROR: instruction requires: sme2 322// CHECK-UNKNOWN: c1d55545 <unknown> 323 324smlal za.s[w10, 2:3], {z10.h - z11.h}, z5.h[3] // 11000001-11010101-01010101-01000101 325// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z10.h, z11.h }, z5.h[3] 326// CHECK-ENCODING: [0x45,0x55,0xd5,0xc1] 327// CHECK-ERROR: instruction requires: sme2 328// CHECK-UNKNOWN: c1d55545 <unknown> 329 330smlal za.s[w11, 6:7, vgx2], {z12.h, z13.h}, z8.h[7] // 11000001-11011000-01111101-10000111 331// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z12.h, z13.h }, z8.h[7] 332// CHECK-ENCODING: [0x87,0x7d,0xd8,0xc1] 333// CHECK-ERROR: instruction requires: sme2 334// CHECK-UNKNOWN: c1d87d87 <unknown> 335 336smlal za.s[w11, 6:7], {z12.h - z13.h}, z8.h[7] // 11000001-11011000-01111101-10000111 337// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z12.h, z13.h }, z8.h[7] 338// CHECK-ENCODING: [0x87,0x7d,0xd8,0xc1] 339// CHECK-ERROR: instruction requires: sme2 340// CHECK-UNKNOWN: c1d87d87 <unknown> 341 342smlal za.s[w11, 6:7, vgx2], {z30.h, z31.h}, z15.h[7] // 11000001-11011111-01111111-11000111 343// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z30.h, z31.h }, z15.h[7] 344// CHECK-ENCODING: [0xc7,0x7f,0xdf,0xc1] 345// CHECK-ERROR: instruction requires: sme2 346// CHECK-UNKNOWN: c1df7fc7 <unknown> 347 348smlal za.s[w11, 6:7], {z30.h - z31.h}, z15.h[7] // 11000001-11011111-01111111-11000111 349// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z30.h, z31.h }, z15.h[7] 350// CHECK-ENCODING: [0xc7,0x7f,0xdf,0xc1] 351// CHECK-ERROR: instruction requires: sme2 352// CHECK-UNKNOWN: c1df7fc7 <unknown> 353 354smlal za.s[w8, 2:3, vgx2], {z16.h, z17.h}, z0.h[7] // 11000001-11010000-00011110-00000101 355// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z16.h, z17.h }, z0.h[7] 356// CHECK-ENCODING: [0x05,0x1e,0xd0,0xc1] 357// CHECK-ERROR: instruction requires: sme2 358// CHECK-UNKNOWN: c1d01e05 <unknown> 359 360smlal za.s[w8, 2:3], {z16.h - z17.h}, z0.h[7] // 11000001-11010000-00011110-00000101 361// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z16.h, z17.h }, z0.h[7] 362// CHECK-ENCODING: [0x05,0x1e,0xd0,0xc1] 363// CHECK-ERROR: instruction requires: sme2 364// CHECK-UNKNOWN: c1d01e05 <unknown> 365 366smlal za.s[w8, 2:3, vgx2], {z0.h, z1.h}, z14.h[2] // 11000001-11011110-00010100-00000001 367// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z0.h, z1.h }, z14.h[2] 368// CHECK-ENCODING: [0x01,0x14,0xde,0xc1] 369// CHECK-ERROR: instruction requires: sme2 370// CHECK-UNKNOWN: c1de1401 <unknown> 371 372smlal za.s[w8, 2:3], {z0.h - z1.h}, z14.h[2] // 11000001-11011110-00010100-00000001 373// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z0.h, z1.h }, z14.h[2] 374// CHECK-ENCODING: [0x01,0x14,0xde,0xc1] 375// CHECK-ERROR: instruction requires: sme2 376// CHECK-UNKNOWN: c1de1401 <unknown> 377 378smlal za.s[w10, 0:1, vgx2], {z18.h, z19.h}, z4.h[2] // 11000001-11010100-01010110-01000000 379// CHECK-INST: smlal za.s[w10, 0:1, vgx2], { z18.h, z19.h }, z4.h[2] 380// CHECK-ENCODING: [0x40,0x56,0xd4,0xc1] 381// CHECK-ERROR: instruction requires: sme2 382// CHECK-UNKNOWN: c1d45640 <unknown> 383 384smlal za.s[w10, 0:1], {z18.h - z19.h}, z4.h[2] // 11000001-11010100-01010110-01000000 385// CHECK-INST: smlal za.s[w10, 0:1, vgx2], { z18.h, z19.h }, z4.h[2] 386// CHECK-ENCODING: [0x40,0x56,0xd4,0xc1] 387// CHECK-ERROR: instruction requires: sme2 388// CHECK-UNKNOWN: c1d45640 <unknown> 389 390smlal za.s[w8, 0:1, vgx2], {z12.h, z13.h}, z2.h[4] // 11000001-11010010-00011001-10000000 391// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h[4] 392// CHECK-ENCODING: [0x80,0x19,0xd2,0xc1] 393// CHECK-ERROR: instruction requires: sme2 394// CHECK-UNKNOWN: c1d21980 <unknown> 395 396smlal za.s[w8, 0:1], {z12.h - z13.h}, z2.h[4] // 11000001-11010010-00011001-10000000 397// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z12.h, z13.h }, z2.h[4] 398// CHECK-ENCODING: [0x80,0x19,0xd2,0xc1] 399// CHECK-ERROR: instruction requires: sme2 400// CHECK-UNKNOWN: c1d21980 <unknown> 401 402smlal za.s[w10, 2:3, vgx2], {z0.h, z1.h}, z10.h[4] // 11000001-11011010-01011000-00000001 403// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z0.h, z1.h }, z10.h[4] 404// CHECK-ENCODING: [0x01,0x58,0xda,0xc1] 405// CHECK-ERROR: instruction requires: sme2 406// CHECK-UNKNOWN: c1da5801 <unknown> 407 408smlal za.s[w10, 2:3], {z0.h - z1.h}, z10.h[4] // 11000001-11011010-01011000-00000001 409// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z0.h, z1.h }, z10.h[4] 410// CHECK-ENCODING: [0x01,0x58,0xda,0xc1] 411// CHECK-ERROR: instruction requires: sme2 412// CHECK-UNKNOWN: c1da5801 <unknown> 413 414smlal za.s[w8, 2:3, vgx2], {z22.h, z23.h}, z14.h[5] // 11000001-11011110-00011010-11000101 415// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h[5] 416// CHECK-ENCODING: [0xc5,0x1a,0xde,0xc1] 417// CHECK-ERROR: instruction requires: sme2 418// CHECK-UNKNOWN: c1de1ac5 <unknown> 419 420smlal za.s[w8, 2:3], {z22.h - z23.h}, z14.h[5] // 11000001-11011110-00011010-11000101 421// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z22.h, z23.h }, z14.h[5] 422// CHECK-ENCODING: [0xc5,0x1a,0xde,0xc1] 423// CHECK-ERROR: instruction requires: sme2 424// CHECK-UNKNOWN: c1de1ac5 <unknown> 425 426smlal za.s[w11, 4:5, vgx2], {z8.h, z9.h}, z1.h[2] // 11000001-11010001-01110101-00000010 427// CHECK-INST: smlal za.s[w11, 4:5, vgx2], { z8.h, z9.h }, z1.h[2] 428// CHECK-ENCODING: [0x02,0x75,0xd1,0xc1] 429// CHECK-ERROR: instruction requires: sme2 430// CHECK-UNKNOWN: c1d17502 <unknown> 431 432smlal za.s[w11, 4:5], {z8.h - z9.h}, z1.h[2] // 11000001-11010001-01110101-00000010 433// CHECK-INST: smlal za.s[w11, 4:5, vgx2], { z8.h, z9.h }, z1.h[2] 434// CHECK-ENCODING: [0x02,0x75,0xd1,0xc1] 435// CHECK-ERROR: instruction requires: sme2 436// CHECK-UNKNOWN: c1d17502 <unknown> 437 438smlal za.s[w9, 6:7, vgx2], {z12.h, z13.h}, z11.h[5] // 11000001-11011011-00111001-10000111 439// CHECK-INST: smlal za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h[5] 440// CHECK-ENCODING: [0x87,0x39,0xdb,0xc1] 441// CHECK-ERROR: instruction requires: sme2 442// CHECK-UNKNOWN: c1db3987 <unknown> 443 444smlal za.s[w9, 6:7], {z12.h - z13.h}, z11.h[5] // 11000001-11011011-00111001-10000111 445// CHECK-INST: smlal za.s[w9, 6:7, vgx2], { z12.h, z13.h }, z11.h[5] 446// CHECK-ENCODING: [0x87,0x39,0xdb,0xc1] 447// CHECK-ERROR: instruction requires: sme2 448// CHECK-UNKNOWN: c1db3987 <unknown> 449 450 451smlal za.s[w8, 0:1, vgx2], {z0.h, z1.h}, {z0.h, z1.h} // 11000001-11100000-00001000-00000000 452// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z0.h, z1.h }, { z0.h, z1.h } 453// CHECK-ENCODING: [0x00,0x08,0xe0,0xc1] 454// CHECK-ERROR: instruction requires: sme2 455// CHECK-UNKNOWN: c1e00800 <unknown> 456 457smlal za.s[w8, 0:1], {z0.h - z1.h}, {z0.h - z1.h} // 11000001-11100000-00001000-00000000 458// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z0.h, z1.h }, { z0.h, z1.h } 459// CHECK-ENCODING: [0x00,0x08,0xe0,0xc1] 460// CHECK-ERROR: instruction requires: sme2 461// CHECK-UNKNOWN: c1e00800 <unknown> 462 463smlal za.s[w10, 2:3, vgx2], {z10.h, z11.h}, {z20.h, z21.h} // 11000001-11110100-01001001-01000001 464// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z10.h, z11.h }, { z20.h, z21.h } 465// CHECK-ENCODING: [0x41,0x49,0xf4,0xc1] 466// CHECK-ERROR: instruction requires: sme2 467// CHECK-UNKNOWN: c1f44941 <unknown> 468 469smlal za.s[w10, 2:3], {z10.h - z11.h}, {z20.h - z21.h} // 11000001-11110100-01001001-01000001 470// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z10.h, z11.h }, { z20.h, z21.h } 471// CHECK-ENCODING: [0x41,0x49,0xf4,0xc1] 472// CHECK-ERROR: instruction requires: sme2 473// CHECK-UNKNOWN: c1f44941 <unknown> 474 475smlal za.s[w11, 6:7, vgx2], {z12.h, z13.h}, {z8.h, z9.h} // 11000001-11101000-01101001-10000011 476// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z12.h, z13.h }, { z8.h, z9.h } 477// CHECK-ENCODING: [0x83,0x69,0xe8,0xc1] 478// CHECK-ERROR: instruction requires: sme2 479// CHECK-UNKNOWN: c1e86983 <unknown> 480 481smlal za.s[w11, 6:7], {z12.h - z13.h}, {z8.h - z9.h} // 11000001-11101000-01101001-10000011 482// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z12.h, z13.h }, { z8.h, z9.h } 483// CHECK-ENCODING: [0x83,0x69,0xe8,0xc1] 484// CHECK-ERROR: instruction requires: sme2 485// CHECK-UNKNOWN: c1e86983 <unknown> 486 487smlal za.s[w11, 6:7, vgx2], {z30.h, z31.h}, {z30.h, z31.h} // 11000001-11111110-01101011-11000011 488// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z30.h, z31.h }, { z30.h, z31.h } 489// CHECK-ENCODING: [0xc3,0x6b,0xfe,0xc1] 490// CHECK-ERROR: instruction requires: sme2 491// CHECK-UNKNOWN: c1fe6bc3 <unknown> 492 493smlal za.s[w11, 6:7], {z30.h - z31.h}, {z30.h - z31.h} // 11000001-11111110-01101011-11000011 494// CHECK-INST: smlal za.s[w11, 6:7, vgx2], { z30.h, z31.h }, { z30.h, z31.h } 495// CHECK-ENCODING: [0xc3,0x6b,0xfe,0xc1] 496// CHECK-ERROR: instruction requires: sme2 497// CHECK-UNKNOWN: c1fe6bc3 <unknown> 498 499smlal za.s[w8, 2:3, vgx2], {z16.h, z17.h}, {z16.h, z17.h} // 11000001-11110000-00001010-00000001 500// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z16.h, z17.h }, { z16.h, z17.h } 501// CHECK-ENCODING: [0x01,0x0a,0xf0,0xc1] 502// CHECK-ERROR: instruction requires: sme2 503// CHECK-UNKNOWN: c1f00a01 <unknown> 504 505smlal za.s[w8, 2:3], {z16.h - z17.h}, {z16.h - z17.h} // 11000001-11110000-00001010-00000001 506// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z16.h, z17.h }, { z16.h, z17.h } 507// CHECK-ENCODING: [0x01,0x0a,0xf0,0xc1] 508// CHECK-ERROR: instruction requires: sme2 509// CHECK-UNKNOWN: c1f00a01 <unknown> 510 511smlal za.s[w8, 2:3, vgx2], {z0.h, z1.h}, {z30.h, z31.h} // 11000001-11111110-00001000-00000001 512// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z0.h, z1.h }, { z30.h, z31.h } 513// CHECK-ENCODING: [0x01,0x08,0xfe,0xc1] 514// CHECK-ERROR: instruction requires: sme2 515// CHECK-UNKNOWN: c1fe0801 <unknown> 516 517smlal za.s[w8, 2:3], {z0.h - z1.h}, {z30.h - z31.h} // 11000001-11111110-00001000-00000001 518// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z0.h, z1.h }, { z30.h, z31.h } 519// CHECK-ENCODING: [0x01,0x08,0xfe,0xc1] 520// CHECK-ERROR: instruction requires: sme2 521// CHECK-UNKNOWN: c1fe0801 <unknown> 522 523smlal za.s[w10, 0:1, vgx2], {z18.h, z19.h}, {z20.h, z21.h} // 11000001-11110100-01001010-01000000 524// CHECK-INST: smlal za.s[w10, 0:1, vgx2], { z18.h, z19.h }, { z20.h, z21.h } 525// CHECK-ENCODING: [0x40,0x4a,0xf4,0xc1] 526// CHECK-ERROR: instruction requires: sme2 527// CHECK-UNKNOWN: c1f44a40 <unknown> 528 529smlal za.s[w10, 0:1], {z18.h - z19.h}, {z20.h - z21.h} // 11000001-11110100-01001010-01000000 530// CHECK-INST: smlal za.s[w10, 0:1, vgx2], { z18.h, z19.h }, { z20.h, z21.h } 531// CHECK-ENCODING: [0x40,0x4a,0xf4,0xc1] 532// CHECK-ERROR: instruction requires: sme2 533// CHECK-UNKNOWN: c1f44a40 <unknown> 534 535smlal za.s[w8, 0:1, vgx2], {z12.h, z13.h}, {z2.h, z3.h} // 11000001-11100010-00001001-10000000 536// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z12.h, z13.h }, { z2.h, z3.h } 537// CHECK-ENCODING: [0x80,0x09,0xe2,0xc1] 538// CHECK-ERROR: instruction requires: sme2 539// CHECK-UNKNOWN: c1e20980 <unknown> 540 541smlal za.s[w8, 0:1], {z12.h - z13.h}, {z2.h - z3.h} // 11000001-11100010-00001001-10000000 542// CHECK-INST: smlal za.s[w8, 0:1, vgx2], { z12.h, z13.h }, { z2.h, z3.h } 543// CHECK-ENCODING: [0x80,0x09,0xe2,0xc1] 544// CHECK-ERROR: instruction requires: sme2 545// CHECK-UNKNOWN: c1e20980 <unknown> 546 547smlal za.s[w10, 2:3, vgx2], {z0.h, z1.h}, {z26.h, z27.h} // 11000001-11111010-01001000-00000001 548// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z0.h, z1.h }, { z26.h, z27.h } 549// CHECK-ENCODING: [0x01,0x48,0xfa,0xc1] 550// CHECK-ERROR: instruction requires: sme2 551// CHECK-UNKNOWN: c1fa4801 <unknown> 552 553smlal za.s[w10, 2:3], {z0.h - z1.h}, {z26.h - z27.h} // 11000001-11111010-01001000-00000001 554// CHECK-INST: smlal za.s[w10, 2:3, vgx2], { z0.h, z1.h }, { z26.h, z27.h } 555// CHECK-ENCODING: [0x01,0x48,0xfa,0xc1] 556// CHECK-ERROR: instruction requires: sme2 557// CHECK-UNKNOWN: c1fa4801 <unknown> 558 559smlal za.s[w8, 2:3, vgx2], {z22.h, z23.h}, {z30.h, z31.h} // 11000001-11111110-00001010-11000001 560// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z22.h, z23.h }, { z30.h, z31.h } 561// CHECK-ENCODING: [0xc1,0x0a,0xfe,0xc1] 562// CHECK-ERROR: instruction requires: sme2 563// CHECK-UNKNOWN: c1fe0ac1 <unknown> 564 565smlal za.s[w8, 2:3], {z22.h - z23.h}, {z30.h - z31.h} // 11000001-11111110-00001010-11000001 566// CHECK-INST: smlal za.s[w8, 2:3, vgx2], { z22.h, z23.h }, { z30.h, z31.h } 567// CHECK-ENCODING: [0xc1,0x0a,0xfe,0xc1] 568// CHECK-ERROR: instruction requires: sme2 569// CHECK-UNKNOWN: c1fe0ac1 <unknown> 570 571smlal za.s[w11, 4:5, vgx2], {z8.h, z9.h}, {z0.h, z1.h} // 11000001-11100000-01101001-00000010 572// CHECK-INST: smlal za.s[w11, 4:5, vgx2], { z8.h, z9.h }, { z0.h, z1.h } 573// CHECK-ENCODING: [0x02,0x69,0xe0,0xc1] 574// CHECK-ERROR: instruction requires: sme2 575// CHECK-UNKNOWN: c1e06902 <unknown> 576 577smlal za.s[w11, 4:5], {z8.h - z9.h}, {z0.h - z1.h} // 11000001-11100000-01101001-00000010 578// CHECK-INST: smlal za.s[w11, 4:5, vgx2], { z8.h, z9.h }, { z0.h, z1.h } 579// CHECK-ENCODING: [0x02,0x69,0xe0,0xc1] 580// CHECK-ERROR: instruction requires: sme2 581// CHECK-UNKNOWN: c1e06902 <unknown> 582 583smlal za.s[w9, 6:7, vgx2], {z12.h, z13.h}, {z10.h, z11.h} // 11000001-11101010-00101001-10000011 584// CHECK-INST: smlal za.s[w9, 6:7, vgx2], { z12.h, z13.h }, { z10.h, z11.h } 585// CHECK-ENCODING: [0x83,0x29,0xea,0xc1] 586// CHECK-ERROR: instruction requires: sme2 587// CHECK-UNKNOWN: c1ea2983 <unknown> 588 589smlal za.s[w9, 6:7], {z12.h - z13.h}, {z10.h - z11.h} // 11000001-11101010-00101001-10000011 590// CHECK-INST: smlal za.s[w9, 6:7, vgx2], { z12.h, z13.h }, { z10.h, z11.h } 591// CHECK-ENCODING: [0x83,0x29,0xea,0xc1] 592// CHECK-ERROR: instruction requires: sme2 593// CHECK-UNKNOWN: c1ea2983 <unknown> 594 595 596smlal za.s[w8, 0:1, vgx4], {z0.h - z3.h}, z0.h // 11000001-01110000-00001000-00000000 597// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h 598// CHECK-ENCODING: [0x00,0x08,0x70,0xc1] 599// CHECK-ERROR: instruction requires: sme2 600// CHECK-UNKNOWN: c1700800 <unknown> 601 602smlal za.s[w8, 0:1], {z0.h - z3.h}, z0.h // 11000001-01110000-00001000-00000000 603// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h 604// CHECK-ENCODING: [0x00,0x08,0x70,0xc1] 605// CHECK-ERROR: instruction requires: sme2 606// CHECK-UNKNOWN: c1700800 <unknown> 607 608smlal za.s[w10, 2:3, vgx4], {z10.h - z13.h}, z5.h // 11000001-01110101-01001001-01000001 609// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z10.h - z13.h }, z5.h 610// CHECK-ENCODING: [0x41,0x49,0x75,0xc1] 611// CHECK-ERROR: instruction requires: sme2 612// CHECK-UNKNOWN: c1754941 <unknown> 613 614smlal za.s[w10, 2:3], {z10.h - z13.h}, z5.h // 11000001-01110101-01001001-01000001 615// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z10.h - z13.h }, z5.h 616// CHECK-ENCODING: [0x41,0x49,0x75,0xc1] 617// CHECK-ERROR: instruction requires: sme2 618// CHECK-UNKNOWN: c1754941 <unknown> 619 620smlal za.s[w11, 6:7, vgx4], {z13.h - z16.h}, z8.h // 11000001-01111000-01101001-10100011 621// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z13.h - z16.h }, z8.h 622// CHECK-ENCODING: [0xa3,0x69,0x78,0xc1] 623// CHECK-ERROR: instruction requires: sme2 624// CHECK-UNKNOWN: c17869a3 <unknown> 625 626smlal za.s[w11, 6:7], {z13.h - z16.h}, z8.h // 11000001-01111000-01101001-10100011 627// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z13.h - z16.h }, z8.h 628// CHECK-ENCODING: [0xa3,0x69,0x78,0xc1] 629// CHECK-ERROR: instruction requires: sme2 630// CHECK-UNKNOWN: c17869a3 <unknown> 631 632smlal za.s[w11, 6:7, vgx4], {z31.h, z0.h, z1.h, z2.h}, z15.h // 11000001-01111111-01101011-11100011 633// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h 634// CHECK-ENCODING: [0xe3,0x6b,0x7f,0xc1] 635// CHECK-ERROR: instruction requires: sme2 636// CHECK-UNKNOWN: c17f6be3 <unknown> 637 638smlal za.s[w11, 6:7], {z31.h, z0.h, z1.h, z2.h}, z15.h // 11000001-01111111-01101011-11100011 639// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h 640// CHECK-ENCODING: [0xe3,0x6b,0x7f,0xc1] 641// CHECK-ERROR: instruction requires: sme2 642// CHECK-UNKNOWN: c17f6be3 <unknown> 643 644smlal za.s[w8, 2:3, vgx4], {z17.h - z20.h}, z0.h // 11000001-01110000-00001010-00100001 645// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z17.h - z20.h }, z0.h 646// CHECK-ENCODING: [0x21,0x0a,0x70,0xc1] 647// CHECK-ERROR: instruction requires: sme2 648// CHECK-UNKNOWN: c1700a21 <unknown> 649 650smlal za.s[w8, 2:3], {z17.h - z20.h}, z0.h // 11000001-01110000-00001010-00100001 651// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z17.h - z20.h }, z0.h 652// CHECK-ENCODING: [0x21,0x0a,0x70,0xc1] 653// CHECK-ERROR: instruction requires: sme2 654// CHECK-UNKNOWN: c1700a21 <unknown> 655 656smlal za.s[w8, 2:3, vgx4], {z1.h - z4.h}, z14.h // 11000001-01111110-00001000-00100001 657// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z1.h - z4.h }, z14.h 658// CHECK-ENCODING: [0x21,0x08,0x7e,0xc1] 659// CHECK-ERROR: instruction requires: sme2 660// CHECK-UNKNOWN: c17e0821 <unknown> 661 662smlal za.s[w8, 2:3], {z1.h - z4.h}, z14.h // 11000001-01111110-00001000-00100001 663// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z1.h - z4.h }, z14.h 664// CHECK-ENCODING: [0x21,0x08,0x7e,0xc1] 665// CHECK-ERROR: instruction requires: sme2 666// CHECK-UNKNOWN: c17e0821 <unknown> 667 668smlal za.s[w10, 0:1, vgx4], {z19.h - z22.h}, z4.h // 11000001-01110100-01001010-01100000 669// CHECK-INST: smlal za.s[w10, 0:1, vgx4], { z19.h - z22.h }, z4.h 670// CHECK-ENCODING: [0x60,0x4a,0x74,0xc1] 671// CHECK-ERROR: instruction requires: sme2 672// CHECK-UNKNOWN: c1744a60 <unknown> 673 674smlal za.s[w10, 0:1], {z19.h - z22.h}, z4.h // 11000001-01110100-01001010-01100000 675// CHECK-INST: smlal za.s[w10, 0:1, vgx4], { z19.h - z22.h }, z4.h 676// CHECK-ENCODING: [0x60,0x4a,0x74,0xc1] 677// CHECK-ERROR: instruction requires: sme2 678// CHECK-UNKNOWN: c1744a60 <unknown> 679 680smlal za.s[w8, 0:1, vgx4], {z12.h - z15.h}, z2.h // 11000001-01110010-00001001-10000000 681// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h 682// CHECK-ENCODING: [0x80,0x09,0x72,0xc1] 683// CHECK-ERROR: instruction requires: sme2 684// CHECK-UNKNOWN: c1720980 <unknown> 685 686smlal za.s[w8, 0:1], {z12.h - z15.h}, z2.h // 11000001-01110010-00001001-10000000 687// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h 688// CHECK-ENCODING: [0x80,0x09,0x72,0xc1] 689// CHECK-ERROR: instruction requires: sme2 690// CHECK-UNKNOWN: c1720980 <unknown> 691 692smlal za.s[w10, 2:3, vgx4], {z1.h - z4.h}, z10.h // 11000001-01111010-01001000-00100001 693// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z1.h - z4.h }, z10.h 694// CHECK-ENCODING: [0x21,0x48,0x7a,0xc1] 695// CHECK-ERROR: instruction requires: sme2 696// CHECK-UNKNOWN: c17a4821 <unknown> 697 698smlal za.s[w10, 2:3], {z1.h - z4.h}, z10.h // 11000001-01111010-01001000-00100001 699// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z1.h - z4.h }, z10.h 700// CHECK-ENCODING: [0x21,0x48,0x7a,0xc1] 701// CHECK-ERROR: instruction requires: sme2 702// CHECK-UNKNOWN: c17a4821 <unknown> 703 704smlal za.s[w8, 2:3, vgx4], {z22.h - z25.h}, z14.h // 11000001-01111110-00001010-11000001 705// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z22.h - z25.h }, z14.h 706// CHECK-ENCODING: [0xc1,0x0a,0x7e,0xc1] 707// CHECK-ERROR: instruction requires: sme2 708// CHECK-UNKNOWN: c17e0ac1 <unknown> 709 710smlal za.s[w8, 2:3], {z22.h - z25.h}, z14.h // 11000001-01111110-00001010-11000001 711// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z22.h - z25.h }, z14.h 712// CHECK-ENCODING: [0xc1,0x0a,0x7e,0xc1] 713// CHECK-ERROR: instruction requires: sme2 714// CHECK-UNKNOWN: c17e0ac1 <unknown> 715 716smlal za.s[w11, 4:5, vgx4], {z9.h - z12.h}, z1.h // 11000001-01110001-01101001-00100010 717// CHECK-INST: smlal za.s[w11, 4:5, vgx4], { z9.h - z12.h }, z1.h 718// CHECK-ENCODING: [0x22,0x69,0x71,0xc1] 719// CHECK-ERROR: instruction requires: sme2 720// CHECK-UNKNOWN: c1716922 <unknown> 721 722smlal za.s[w11, 4:5], {z9.h - z12.h}, z1.h // 11000001-01110001-01101001-00100010 723// CHECK-INST: smlal za.s[w11, 4:5, vgx4], { z9.h - z12.h }, z1.h 724// CHECK-ENCODING: [0x22,0x69,0x71,0xc1] 725// CHECK-ERROR: instruction requires: sme2 726// CHECK-UNKNOWN: c1716922 <unknown> 727 728smlal za.s[w9, 6:7, vgx4], {z12.h - z15.h}, z11.h // 11000001-01111011-00101001-10000011 729// CHECK-INST: smlal za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h 730// CHECK-ENCODING: [0x83,0x29,0x7b,0xc1] 731// CHECK-ERROR: instruction requires: sme2 732// CHECK-UNKNOWN: c17b2983 <unknown> 733 734smlal za.s[w9, 6:7], {z12.h - z15.h}, z11.h // 11000001-01111011-00101001-10000011 735// CHECK-INST: smlal za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h 736// CHECK-ENCODING: [0x83,0x29,0x7b,0xc1] 737// CHECK-ERROR: instruction requires: sme2 738// CHECK-UNKNOWN: c17b2983 <unknown> 739 740 741smlal za.s[w8, 0:1, vgx4], {z0.h - z3.h}, z0.h[0] // 11000001-11010000-10010000-00000000 742// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h[0] 743// CHECK-ENCODING: [0x00,0x90,0xd0,0xc1] 744// CHECK-ERROR: instruction requires: sme2 745// CHECK-UNKNOWN: c1d09000 <unknown> 746 747smlal za.s[w8, 0:1], {z0.h - z3.h}, z0.h[0] // 11000001-11010000-10010000-00000000 748// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z0.h - z3.h }, z0.h[0] 749// CHECK-ENCODING: [0x00,0x90,0xd0,0xc1] 750// CHECK-ERROR: instruction requires: sme2 751// CHECK-UNKNOWN: c1d09000 <unknown> 752 753smlal za.s[w10, 2:3, vgx4], {z8.h - z11.h}, z5.h[3] // 11000001-11010101-11010101-00000101 754// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z8.h - z11.h }, z5.h[3] 755// CHECK-ENCODING: [0x05,0xd5,0xd5,0xc1] 756// CHECK-ERROR: instruction requires: sme2 757// CHECK-UNKNOWN: c1d5d505 <unknown> 758 759smlal za.s[w10, 2:3], {z8.h - z11.h}, z5.h[3] // 11000001-11010101-11010101-00000101 760// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z8.h - z11.h }, z5.h[3] 761// CHECK-ENCODING: [0x05,0xd5,0xd5,0xc1] 762// CHECK-ERROR: instruction requires: sme2 763// CHECK-UNKNOWN: c1d5d505 <unknown> 764 765smlal za.s[w11, 6:7, vgx4], {z12.h - z15.h}, z8.h[7] // 11000001-11011000-11111101-10000111 766// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z12.h - z15.h }, z8.h[7] 767// CHECK-ENCODING: [0x87,0xfd,0xd8,0xc1] 768// CHECK-ERROR: instruction requires: sme2 769// CHECK-UNKNOWN: c1d8fd87 <unknown> 770 771smlal za.s[w11, 6:7], {z12.h - z15.h}, z8.h[7] // 11000001-11011000-11111101-10000111 772// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z12.h - z15.h }, z8.h[7] 773// CHECK-ENCODING: [0x87,0xfd,0xd8,0xc1] 774// CHECK-ERROR: instruction requires: sme2 775// CHECK-UNKNOWN: c1d8fd87 <unknown> 776 777smlal za.s[w11, 6:7, vgx4], {z28.h - z31.h}, z15.h[7] // 11000001-11011111-11111111-10000111 778// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z28.h - z31.h }, z15.h[7] 779// CHECK-ENCODING: [0x87,0xff,0xdf,0xc1] 780// CHECK-ERROR: instruction requires: sme2 781// CHECK-UNKNOWN: c1dfff87 <unknown> 782 783smlal za.s[w11, 6:7], {z28.h - z31.h}, z15.h[7] // 11000001-11011111-11111111-10000111 784// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z28.h - z31.h }, z15.h[7] 785// CHECK-ENCODING: [0x87,0xff,0xdf,0xc1] 786// CHECK-ERROR: instruction requires: sme2 787// CHECK-UNKNOWN: c1dfff87 <unknown> 788 789smlal za.s[w8, 2:3, vgx4], {z16.h - z19.h}, z0.h[7] // 11000001-11010000-10011110-00000101 790// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z16.h - z19.h }, z0.h[7] 791// CHECK-ENCODING: [0x05,0x9e,0xd0,0xc1] 792// CHECK-ERROR: instruction requires: sme2 793// CHECK-UNKNOWN: c1d09e05 <unknown> 794 795smlal za.s[w8, 2:3], {z16.h - z19.h}, z0.h[7] // 11000001-11010000-10011110-00000101 796// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z16.h - z19.h }, z0.h[7] 797// CHECK-ENCODING: [0x05,0x9e,0xd0,0xc1] 798// CHECK-ERROR: instruction requires: sme2 799// CHECK-UNKNOWN: c1d09e05 <unknown> 800 801smlal za.s[w8, 2:3, vgx4], {z0.h - z3.h}, z14.h[2] // 11000001-11011110-10010100-00000001 802// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z0.h - z3.h }, z14.h[2] 803// CHECK-ENCODING: [0x01,0x94,0xde,0xc1] 804// CHECK-ERROR: instruction requires: sme2 805// CHECK-UNKNOWN: c1de9401 <unknown> 806 807smlal za.s[w8, 2:3], {z0.h - z3.h}, z14.h[2] // 11000001-11011110-10010100-00000001 808// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z0.h - z3.h }, z14.h[2] 809// CHECK-ENCODING: [0x01,0x94,0xde,0xc1] 810// CHECK-ERROR: instruction requires: sme2 811// CHECK-UNKNOWN: c1de9401 <unknown> 812 813smlal za.s[w10, 0:1, vgx4], {z16.h - z19.h}, z4.h[2] // 11000001-11010100-11010110-00000000 814// CHECK-INST: smlal za.s[w10, 0:1, vgx4], { z16.h - z19.h }, z4.h[2] 815// CHECK-ENCODING: [0x00,0xd6,0xd4,0xc1] 816// CHECK-ERROR: instruction requires: sme2 817// CHECK-UNKNOWN: c1d4d600 <unknown> 818 819smlal za.s[w10, 0:1], {z16.h - z19.h}, z4.h[2] // 11000001-11010100-11010110-00000000 820// CHECK-INST: smlal za.s[w10, 0:1, vgx4], { z16.h - z19.h }, z4.h[2] 821// CHECK-ENCODING: [0x00,0xd6,0xd4,0xc1] 822// CHECK-ERROR: instruction requires: sme2 823// CHECK-UNKNOWN: c1d4d600 <unknown> 824 825smlal za.s[w8, 0:1, vgx4], {z12.h - z15.h}, z2.h[4] // 11000001-11010010-10011001-10000000 826// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h[4] 827// CHECK-ENCODING: [0x80,0x99,0xd2,0xc1] 828// CHECK-ERROR: instruction requires: sme2 829// CHECK-UNKNOWN: c1d29980 <unknown> 830 831smlal za.s[w8, 0:1], {z12.h - z15.h}, z2.h[4] // 11000001-11010010-10011001-10000000 832// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z12.h - z15.h }, z2.h[4] 833// CHECK-ENCODING: [0x80,0x99,0xd2,0xc1] 834// CHECK-ERROR: instruction requires: sme2 835// CHECK-UNKNOWN: c1d29980 <unknown> 836 837smlal za.s[w10, 2:3, vgx4], {z0.h - z3.h}, z10.h[4] // 11000001-11011010-11011000-00000001 838// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z0.h - z3.h }, z10.h[4] 839// CHECK-ENCODING: [0x01,0xd8,0xda,0xc1] 840// CHECK-ERROR: instruction requires: sme2 841// CHECK-UNKNOWN: c1dad801 <unknown> 842 843smlal za.s[w10, 2:3], {z0.h - z3.h}, z10.h[4] // 11000001-11011010-11011000-00000001 844// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z0.h - z3.h }, z10.h[4] 845// CHECK-ENCODING: [0x01,0xd8,0xda,0xc1] 846// CHECK-ERROR: instruction requires: sme2 847// CHECK-UNKNOWN: c1dad801 <unknown> 848 849smlal za.s[w8, 2:3, vgx4], {z20.h - z23.h}, z14.h[5] // 11000001-11011110-10011010-10000101 850// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z20.h - z23.h }, z14.h[5] 851// CHECK-ENCODING: [0x85,0x9a,0xde,0xc1] 852// CHECK-ERROR: instruction requires: sme2 853// CHECK-UNKNOWN: c1de9a85 <unknown> 854 855smlal za.s[w8, 2:3], {z20.h - z23.h}, z14.h[5] // 11000001-11011110-10011010-10000101 856// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z20.h - z23.h }, z14.h[5] 857// CHECK-ENCODING: [0x85,0x9a,0xde,0xc1] 858// CHECK-ERROR: instruction requires: sme2 859// CHECK-UNKNOWN: c1de9a85 <unknown> 860 861smlal za.s[w11, 4:5, vgx4], {z8.h - z11.h}, z1.h[2] // 11000001-11010001-11110101-00000010 862// CHECK-INST: smlal za.s[w11, 4:5, vgx4], { z8.h - z11.h }, z1.h[2] 863// CHECK-ENCODING: [0x02,0xf5,0xd1,0xc1] 864// CHECK-ERROR: instruction requires: sme2 865// CHECK-UNKNOWN: c1d1f502 <unknown> 866 867smlal za.s[w11, 4:5], {z8.h - z11.h}, z1.h[2] // 11000001-11010001-11110101-00000010 868// CHECK-INST: smlal za.s[w11, 4:5, vgx4], { z8.h - z11.h }, z1.h[2] 869// CHECK-ENCODING: [0x02,0xf5,0xd1,0xc1] 870// CHECK-ERROR: instruction requires: sme2 871// CHECK-UNKNOWN: c1d1f502 <unknown> 872 873smlal za.s[w9, 6:7, vgx4], {z12.h - z15.h}, z11.h[5] // 11000001-11011011-10111001-10000111 874// CHECK-INST: smlal za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h[5] 875// CHECK-ENCODING: [0x87,0xb9,0xdb,0xc1] 876// CHECK-ERROR: instruction requires: sme2 877// CHECK-UNKNOWN: c1dbb987 <unknown> 878 879smlal za.s[w9, 6:7], {z12.h - z15.h}, z11.h[5] // 11000001-11011011-10111001-10000111 880// CHECK-INST: smlal za.s[w9, 6:7, vgx4], { z12.h - z15.h }, z11.h[5] 881// CHECK-ENCODING: [0x87,0xb9,0xdb,0xc1] 882// CHECK-ERROR: instruction requires: sme2 883// CHECK-UNKNOWN: c1dbb987 <unknown> 884 885 886smlal za.s[w8, 0:1, vgx4], {z0.h - z3.h}, {z0.h - z3.h} // 11000001-11100001-00001000-00000000 887// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z0.h - z3.h }, { z0.h - z3.h } 888// CHECK-ENCODING: [0x00,0x08,0xe1,0xc1] 889// CHECK-ERROR: instruction requires: sme2 890// CHECK-UNKNOWN: c1e10800 <unknown> 891 892smlal za.s[w8, 0:1], {z0.h - z3.h}, {z0.h - z3.h} // 11000001-11100001-00001000-00000000 893// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z0.h - z3.h }, { z0.h - z3.h } 894// CHECK-ENCODING: [0x00,0x08,0xe1,0xc1] 895// CHECK-ERROR: instruction requires: sme2 896// CHECK-UNKNOWN: c1e10800 <unknown> 897 898smlal za.s[w10, 2:3, vgx4], {z8.h - z11.h}, {z20.h - z23.h} // 11000001-11110101-01001001-00000001 899// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z8.h - z11.h }, { z20.h - z23.h } 900// CHECK-ENCODING: [0x01,0x49,0xf5,0xc1] 901// CHECK-ERROR: instruction requires: sme2 902// CHECK-UNKNOWN: c1f54901 <unknown> 903 904smlal za.s[w10, 2:3], {z8.h - z11.h}, {z20.h - z23.h} // 11000001-11110101-01001001-00000001 905// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z8.h - z11.h }, { z20.h - z23.h } 906// CHECK-ENCODING: [0x01,0x49,0xf5,0xc1] 907// CHECK-ERROR: instruction requires: sme2 908// CHECK-UNKNOWN: c1f54901 <unknown> 909 910smlal za.s[w11, 6:7, vgx4], {z12.h - z15.h}, {z8.h - z11.h} // 11000001-11101001-01101001-10000011 911// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h } 912// CHECK-ENCODING: [0x83,0x69,0xe9,0xc1] 913// CHECK-ERROR: instruction requires: sme2 914// CHECK-UNKNOWN: c1e96983 <unknown> 915 916smlal za.s[w11, 6:7], {z12.h - z15.h}, {z8.h - z11.h} // 11000001-11101001-01101001-10000011 917// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h } 918// CHECK-ENCODING: [0x83,0x69,0xe9,0xc1] 919// CHECK-ERROR: instruction requires: sme2 920// CHECK-UNKNOWN: c1e96983 <unknown> 921 922smlal za.s[w11, 6:7, vgx4], {z28.h - z31.h}, {z28.h - z31.h} // 11000001-11111101-01101011-10000011 923// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z28.h - z31.h }, { z28.h - z31.h } 924// CHECK-ENCODING: [0x83,0x6b,0xfd,0xc1] 925// CHECK-ERROR: instruction requires: sme2 926// CHECK-UNKNOWN: c1fd6b83 <unknown> 927 928smlal za.s[w11, 6:7], {z28.h - z31.h}, {z28.h - z31.h} // 11000001-11111101-01101011-10000011 929// CHECK-INST: smlal za.s[w11, 6:7, vgx4], { z28.h - z31.h }, { z28.h - z31.h } 930// CHECK-ENCODING: [0x83,0x6b,0xfd,0xc1] 931// CHECK-ERROR: instruction requires: sme2 932// CHECK-UNKNOWN: c1fd6b83 <unknown> 933 934smlal za.s[w8, 2:3, vgx4], {z16.h - z19.h}, {z16.h - z19.h} // 11000001-11110001-00001010-00000001 935// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z16.h - z19.h }, { z16.h - z19.h } 936// CHECK-ENCODING: [0x01,0x0a,0xf1,0xc1] 937// CHECK-ERROR: instruction requires: sme2 938// CHECK-UNKNOWN: c1f10a01 <unknown> 939 940smlal za.s[w8, 2:3], {z16.h - z19.h}, {z16.h - z19.h} // 11000001-11110001-00001010-00000001 941// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z16.h - z19.h }, { z16.h - z19.h } 942// CHECK-ENCODING: [0x01,0x0a,0xf1,0xc1] 943// CHECK-ERROR: instruction requires: sme2 944// CHECK-UNKNOWN: c1f10a01 <unknown> 945 946smlal za.s[w8, 2:3, vgx4], {z0.h - z3.h}, {z28.h - z31.h} // 11000001-11111101-00001000-00000001 947// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z0.h - z3.h }, { z28.h - z31.h } 948// CHECK-ENCODING: [0x01,0x08,0xfd,0xc1] 949// CHECK-ERROR: instruction requires: sme2 950// CHECK-UNKNOWN: c1fd0801 <unknown> 951 952smlal za.s[w8, 2:3], {z0.h - z3.h}, {z28.h - z31.h} // 11000001-11111101-00001000-00000001 953// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z0.h - z3.h }, { z28.h - z31.h } 954// CHECK-ENCODING: [0x01,0x08,0xfd,0xc1] 955// CHECK-ERROR: instruction requires: sme2 956// CHECK-UNKNOWN: c1fd0801 <unknown> 957 958smlal za.s[w10, 0:1, vgx4], {z16.h - z19.h}, {z20.h - z23.h} // 11000001-11110101-01001010-00000000 959// CHECK-INST: smlal za.s[w10, 0:1, vgx4], { z16.h - z19.h }, { z20.h - z23.h } 960// CHECK-ENCODING: [0x00,0x4a,0xf5,0xc1] 961// CHECK-ERROR: instruction requires: sme2 962// CHECK-UNKNOWN: c1f54a00 <unknown> 963 964smlal za.s[w10, 0:1], {z16.h - z19.h}, {z20.h - z23.h} // 11000001-11110101-01001010-00000000 965// CHECK-INST: smlal za.s[w10, 0:1, vgx4], { z16.h - z19.h }, { z20.h - z23.h } 966// CHECK-ENCODING: [0x00,0x4a,0xf5,0xc1] 967// CHECK-ERROR: instruction requires: sme2 968// CHECK-UNKNOWN: c1f54a00 <unknown> 969 970smlal za.s[w8, 0:1, vgx4], {z12.h - z15.h}, {z0.h - z3.h} // 11000001-11100001-00001001-10000000 971// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z12.h - z15.h }, { z0.h - z3.h } 972// CHECK-ENCODING: [0x80,0x09,0xe1,0xc1] 973// CHECK-ERROR: instruction requires: sme2 974// CHECK-UNKNOWN: c1e10980 <unknown> 975 976smlal za.s[w8, 0:1], {z12.h - z15.h}, {z0.h - z3.h} // 11000001-11100001-00001001-10000000 977// CHECK-INST: smlal za.s[w8, 0:1, vgx4], { z12.h - z15.h }, { z0.h - z3.h } 978// CHECK-ENCODING: [0x80,0x09,0xe1,0xc1] 979// CHECK-ERROR: instruction requires: sme2 980// CHECK-UNKNOWN: c1e10980 <unknown> 981 982smlal za.s[w10, 2:3, vgx4], {z0.h - z3.h}, {z24.h - z27.h} // 11000001-11111001-01001000-00000001 983// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z0.h - z3.h }, { z24.h - z27.h } 984// CHECK-ENCODING: [0x01,0x48,0xf9,0xc1] 985// CHECK-ERROR: instruction requires: sme2 986// CHECK-UNKNOWN: c1f94801 <unknown> 987 988smlal za.s[w10, 2:3], {z0.h - z3.h}, {z24.h - z27.h} // 11000001-11111001-01001000-00000001 989// CHECK-INST: smlal za.s[w10, 2:3, vgx4], { z0.h - z3.h }, { z24.h - z27.h } 990// CHECK-ENCODING: [0x01,0x48,0xf9,0xc1] 991// CHECK-ERROR: instruction requires: sme2 992// CHECK-UNKNOWN: c1f94801 <unknown> 993 994smlal za.s[w8, 2:3, vgx4], {z20.h - z23.h}, {z28.h - z31.h} // 11000001-11111101-00001010-10000001 995// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z20.h - z23.h }, { z28.h - z31.h } 996// CHECK-ENCODING: [0x81,0x0a,0xfd,0xc1] 997// CHECK-ERROR: instruction requires: sme2 998// CHECK-UNKNOWN: c1fd0a81 <unknown> 999 1000smlal za.s[w8, 2:3], {z20.h - z23.h}, {z28.h - z31.h} // 11000001-11111101-00001010-10000001 1001// CHECK-INST: smlal za.s[w8, 2:3, vgx4], { z20.h - z23.h }, { z28.h - z31.h } 1002// CHECK-ENCODING: [0x81,0x0a,0xfd,0xc1] 1003// CHECK-ERROR: instruction requires: sme2 1004// CHECK-UNKNOWN: c1fd0a81 <unknown> 1005 1006smlal za.s[w11, 4:5, vgx4], {z8.h - z11.h}, {z0.h - z3.h} // 11000001-11100001-01101001-00000010 1007// CHECK-INST: smlal za.s[w11, 4:5, vgx4], { z8.h - z11.h }, { z0.h - z3.h } 1008// CHECK-ENCODING: [0x02,0x69,0xe1,0xc1] 1009// CHECK-ERROR: instruction requires: sme2 1010// CHECK-UNKNOWN: c1e16902 <unknown> 1011 1012smlal za.s[w11, 4:5], {z8.h - z11.h}, {z0.h - z3.h} // 11000001-11100001-01101001-00000010 1013// CHECK-INST: smlal za.s[w11, 4:5, vgx4], { z8.h - z11.h }, { z0.h - z3.h } 1014// CHECK-ENCODING: [0x02,0x69,0xe1,0xc1] 1015// CHECK-ERROR: instruction requires: sme2 1016// CHECK-UNKNOWN: c1e16902 <unknown> 1017 1018smlal za.s[w9, 6:7, vgx4], {z12.h - z15.h}, {z8.h - z11.h} // 11000001-11101001-00101001-10000011 1019// CHECK-INST: smlal za.s[w9, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h } 1020// CHECK-ENCODING: [0x83,0x29,0xe9,0xc1] 1021// CHECK-ERROR: instruction requires: sme2 1022// CHECK-UNKNOWN: c1e92983 <unknown> 1023 1024smlal za.s[w9, 6:7], {z12.h - z15.h}, {z8.h - z11.h} // 11000001-11101001-00101001-10000011 1025// CHECK-INST: smlal za.s[w9, 6:7, vgx4], { z12.h - z15.h }, { z8.h - z11.h } 1026// CHECK-ENCODING: [0x83,0x29,0xe9,0xc1] 1027// CHECK-ERROR: instruction requires: sme2 1028// CHECK-UNKNOWN: c1e92983 <unknown> 1029 1030