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