1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sme-f64f64 < %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,+sme-f64f64 < %s \ 6// RUN: | llvm-objdump -d --mattr=+sme2,+sme-f64f64 - | FileCheck %s --check-prefix=CHECK-INST 7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sme-f64f64 < %s \ 8// RUN: | llvm-objdump -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN 9// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sme-f64f64 < %s \ 10// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ 11// RUN: | llvm-mc -triple=aarch64 -mattr=+sme2,+sme-f64f64 -disassemble -show-encoding \ 12// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST 13 14 15fadd za.d[w8, 0, vgx2], {z0.d, z1.d} // 11000001-11100000-00011100-00000000 16// CHECK-INST: fadd za.d[w8, 0, vgx2], { z0.d, z1.d } 17// CHECK-ENCODING: [0x00,0x1c,0xe0,0xc1] 18// CHECK-ERROR: instruction requires: sme2 sme-f64f64 19// CHECK-UNKNOWN: c1e01c00 <unknown> 20 21fadd za.d[w8, 0], {z0.d, z1.d} // 11000001-11100000-00011100-00000000 22// CHECK-INST: fadd za.d[w8, 0, vgx2], { z0.d, z1.d } 23// CHECK-ENCODING: [0x00,0x1c,0xe0,0xc1] 24// CHECK-ERROR: instruction requires: sme2 sme-f64f64 25// CHECK-UNKNOWN: c1e01c00 <unknown> 26 27fadd za.d[w10, 5, vgx2], {z10.d, z11.d} // 11000001-11100000-01011101-01000101 28// CHECK-INST: fadd za.d[w10, 5, vgx2], { z10.d, z11.d } 29// CHECK-ENCODING: [0x45,0x5d,0xe0,0xc1] 30// CHECK-ERROR: instruction requires: sme2 sme-f64f64 31// CHECK-UNKNOWN: c1e05d45 <unknown> 32 33fadd za.d[w10, 5], {z10.d, z11.d} // 11000001-11100000-01011101-01000101 34// CHECK-INST: fadd za.d[w10, 5, vgx2], { z10.d, z11.d } 35// CHECK-ENCODING: [0x45,0x5d,0xe0,0xc1] 36// CHECK-ERROR: instruction requires: sme2 sme-f64f64 37// CHECK-UNKNOWN: c1e05d45 <unknown> 38 39fadd za.d[w11, 7, vgx2], {z12.d, z13.d} // 11000001-11100000-01111101-10000111 40// CHECK-INST: fadd za.d[w11, 7, vgx2], { z12.d, z13.d } 41// CHECK-ENCODING: [0x87,0x7d,0xe0,0xc1] 42// CHECK-ERROR: instruction requires: sme2 sme-f64f64 43// CHECK-UNKNOWN: c1e07d87 <unknown> 44 45fadd za.d[w11, 7], {z12.d, z13.d} // 11000001-11100000-01111101-10000111 46// CHECK-INST: fadd za.d[w11, 7, vgx2], { z12.d, z13.d } 47// CHECK-ENCODING: [0x87,0x7d,0xe0,0xc1] 48// CHECK-ERROR: instruction requires: sme2 sme-f64f64 49// CHECK-UNKNOWN: c1e07d87 <unknown> 50 51fadd za.d[w11, 7, vgx2], {z30.d, z31.d} // 11000001-11100000-01111111-11000111 52// CHECK-INST: fadd za.d[w11, 7, vgx2], { z30.d, z31.d } 53// CHECK-ENCODING: [0xc7,0x7f,0xe0,0xc1] 54// CHECK-ERROR: instruction requires: sme2 sme-f64f64 55// CHECK-UNKNOWN: c1e07fc7 <unknown> 56 57fadd za.d[w11, 7], {z30.d, z31.d} // 11000001-11100000-01111111-11000111 58// CHECK-INST: fadd za.d[w11, 7, vgx2], { z30.d, z31.d } 59// CHECK-ENCODING: [0xc7,0x7f,0xe0,0xc1] 60// CHECK-ERROR: instruction requires: sme2 sme-f64f64 61// CHECK-UNKNOWN: c1e07fc7 <unknown> 62 63fadd za.d[w8, 5, vgx2], {z16.d, z17.d} // 11000001-11100000-00011110-00000101 64// CHECK-INST: fadd za.d[w8, 5, vgx2], { z16.d, z17.d } 65// CHECK-ENCODING: [0x05,0x1e,0xe0,0xc1] 66// CHECK-ERROR: instruction requires: sme2 sme-f64f64 67// CHECK-UNKNOWN: c1e01e05 <unknown> 68 69fadd za.d[w8, 5], {z16.d, z17.d} // 11000001-11100000-00011110-00000101 70// CHECK-INST: fadd za.d[w8, 5, vgx2], { z16.d, z17.d } 71// CHECK-ENCODING: [0x05,0x1e,0xe0,0xc1] 72// CHECK-ERROR: instruction requires: sme2 sme-f64f64 73// CHECK-UNKNOWN: c1e01e05 <unknown> 74 75fadd za.d[w8, 1, vgx2], {z0.d, z1.d} // 11000001-11100000-00011100-00000001 76// CHECK-INST: fadd za.d[w8, 1, vgx2], { z0.d, z1.d } 77// CHECK-ENCODING: [0x01,0x1c,0xe0,0xc1] 78// CHECK-ERROR: instruction requires: sme2 sme-f64f64 79// CHECK-UNKNOWN: c1e01c01 <unknown> 80 81fadd za.d[w8, 1], {z0.d, z1.d} // 11000001-11100000-00011100-00000001 82// CHECK-INST: fadd za.d[w8, 1, vgx2], { z0.d, z1.d } 83// CHECK-ENCODING: [0x01,0x1c,0xe0,0xc1] 84// CHECK-ERROR: instruction requires: sme2 sme-f64f64 85// CHECK-UNKNOWN: c1e01c01 <unknown> 86 87fadd za.d[w10, 0, vgx2], {z18.d, z19.d} // 11000001-11100000-01011110-01000000 88// CHECK-INST: fadd za.d[w10, 0, vgx2], { z18.d, z19.d } 89// CHECK-ENCODING: [0x40,0x5e,0xe0,0xc1] 90// CHECK-ERROR: instruction requires: sme2 sme-f64f64 91// CHECK-UNKNOWN: c1e05e40 <unknown> 92 93fadd za.d[w10, 0], {z18.d, z19.d} // 11000001-11100000-01011110-01000000 94// CHECK-INST: fadd za.d[w10, 0, vgx2], { z18.d, z19.d } 95// CHECK-ENCODING: [0x40,0x5e,0xe0,0xc1] 96// CHECK-ERROR: instruction requires: sme2 sme-f64f64 97// CHECK-UNKNOWN: c1e05e40 <unknown> 98 99fadd za.d[w8, 0, vgx2], {z12.d, z13.d} // 11000001-11100000-00011101-10000000 100// CHECK-INST: fadd za.d[w8, 0, vgx2], { z12.d, z13.d } 101// CHECK-ENCODING: [0x80,0x1d,0xe0,0xc1] 102// CHECK-ERROR: instruction requires: sme2 sme-f64f64 103// CHECK-UNKNOWN: c1e01d80 <unknown> 104 105fadd za.d[w8, 0], {z12.d, z13.d} // 11000001-11100000-00011101-10000000 106// CHECK-INST: fadd za.d[w8, 0, vgx2], { z12.d, z13.d } 107// CHECK-ENCODING: [0x80,0x1d,0xe0,0xc1] 108// CHECK-ERROR: instruction requires: sme2 sme-f64f64 109// CHECK-UNKNOWN: c1e01d80 <unknown> 110 111fadd za.d[w10, 1, vgx2], {z0.d, z1.d} // 11000001-11100000-01011100-00000001 112// CHECK-INST: fadd za.d[w10, 1, vgx2], { z0.d, z1.d } 113// CHECK-ENCODING: [0x01,0x5c,0xe0,0xc1] 114// CHECK-ERROR: instruction requires: sme2 sme-f64f64 115// CHECK-UNKNOWN: c1e05c01 <unknown> 116 117fadd za.d[w10, 1], {z0.d, z1.d} // 11000001-11100000-01011100-00000001 118// CHECK-INST: fadd za.d[w10, 1, vgx2], { z0.d, z1.d } 119// CHECK-ENCODING: [0x01,0x5c,0xe0,0xc1] 120// CHECK-ERROR: instruction requires: sme2 sme-f64f64 121// CHECK-UNKNOWN: c1e05c01 <unknown> 122 123fadd za.d[w8, 5, vgx2], {z22.d, z23.d} // 11000001-11100000-00011110-11000101 124// CHECK-INST: fadd za.d[w8, 5, vgx2], { z22.d, z23.d } 125// CHECK-ENCODING: [0xc5,0x1e,0xe0,0xc1] 126// CHECK-ERROR: instruction requires: sme2 sme-f64f64 127// CHECK-UNKNOWN: c1e01ec5 <unknown> 128 129fadd za.d[w8, 5], {z22.d, z23.d} // 11000001-11100000-00011110-11000101 130// CHECK-INST: fadd za.d[w8, 5, vgx2], { z22.d, z23.d } 131// CHECK-ENCODING: [0xc5,0x1e,0xe0,0xc1] 132// CHECK-ERROR: instruction requires: sme2 sme-f64f64 133// CHECK-UNKNOWN: c1e01ec5 <unknown> 134 135fadd za.d[w11, 2, vgx2], {z8.d, z9.d} // 11000001-11100000-01111101-00000010 136// CHECK-INST: fadd za.d[w11, 2, vgx2], { z8.d, z9.d } 137// CHECK-ENCODING: [0x02,0x7d,0xe0,0xc1] 138// CHECK-ERROR: instruction requires: sme2 sme-f64f64 139// CHECK-UNKNOWN: c1e07d02 <unknown> 140 141fadd za.d[w11, 2], {z8.d, z9.d} // 11000001-11100000-01111101-00000010 142// CHECK-INST: fadd za.d[w11, 2, vgx2], { z8.d, z9.d } 143// CHECK-ENCODING: [0x02,0x7d,0xe0,0xc1] 144// CHECK-ERROR: instruction requires: sme2 sme-f64f64 145// CHECK-UNKNOWN: c1e07d02 <unknown> 146 147fadd za.d[w9, 7, vgx2], {z12.d, z13.d} // 11000001-11100000-00111101-10000111 148// CHECK-INST: fadd za.d[w9, 7, vgx2], { z12.d, z13.d } 149// CHECK-ENCODING: [0x87,0x3d,0xe0,0xc1] 150// CHECK-ERROR: instruction requires: sme2 sme-f64f64 151// CHECK-UNKNOWN: c1e03d87 <unknown> 152 153fadd za.d[w9, 7], {z12.d, z13.d} // 11000001-11100000-00111101-10000111 154// CHECK-INST: fadd za.d[w9, 7, vgx2], { z12.d, z13.d } 155// CHECK-ENCODING: [0x87,0x3d,0xe0,0xc1] 156// CHECK-ERROR: instruction requires: sme2 sme-f64f64 157// CHECK-UNKNOWN: c1e03d87 <unknown> 158 159 160fadd za.s[w8, 0, vgx2], {z0.s, z1.s} // 11000001-10100000-00011100-00000000 161// CHECK-INST: fadd za.s[w8, 0, vgx2], { z0.s, z1.s } 162// CHECK-ENCODING: [0x00,0x1c,0xa0,0xc1] 163// CHECK-ERROR: instruction requires: sme2 164// CHECK-UNKNOWN: c1a01c00 <unknown> 165 166fadd za.s[w8, 0], {z0.s, z1.s} // 11000001-10100000-00011100-00000000 167// CHECK-INST: fadd za.s[w8, 0, vgx2], { z0.s, z1.s } 168// CHECK-ENCODING: [0x00,0x1c,0xa0,0xc1] 169// CHECK-ERROR: instruction requires: sme2 170// CHECK-UNKNOWN: c1a01c00 <unknown> 171 172fadd za.s[w10, 5, vgx2], {z10.s, z11.s} // 11000001-10100000-01011101-01000101 173// CHECK-INST: fadd za.s[w10, 5, vgx2], { z10.s, z11.s } 174// CHECK-ENCODING: [0x45,0x5d,0xa0,0xc1] 175// CHECK-ERROR: instruction requires: sme2 176// CHECK-UNKNOWN: c1a05d45 <unknown> 177 178fadd za.s[w10, 5], {z10.s, z11.s} // 11000001-10100000-01011101-01000101 179// CHECK-INST: fadd za.s[w10, 5, vgx2], { z10.s, z11.s } 180// CHECK-ENCODING: [0x45,0x5d,0xa0,0xc1] 181// CHECK-ERROR: instruction requires: sme2 182// CHECK-UNKNOWN: c1a05d45 <unknown> 183 184fadd za.s[w11, 7, vgx2], {z12.s, z13.s} // 11000001-10100000-01111101-10000111 185// CHECK-INST: fadd za.s[w11, 7, vgx2], { z12.s, z13.s } 186// CHECK-ENCODING: [0x87,0x7d,0xa0,0xc1] 187// CHECK-ERROR: instruction requires: sme2 188// CHECK-UNKNOWN: c1a07d87 <unknown> 189 190fadd za.s[w11, 7], {z12.s, z13.s} // 11000001-10100000-01111101-10000111 191// CHECK-INST: fadd za.s[w11, 7, vgx2], { z12.s, z13.s } 192// CHECK-ENCODING: [0x87,0x7d,0xa0,0xc1] 193// CHECK-ERROR: instruction requires: sme2 194// CHECK-UNKNOWN: c1a07d87 <unknown> 195 196fadd za.s[w11, 7, vgx2], {z30.s, z31.s} // 11000001-10100000-01111111-11000111 197// CHECK-INST: fadd za.s[w11, 7, vgx2], { z30.s, z31.s } 198// CHECK-ENCODING: [0xc7,0x7f,0xa0,0xc1] 199// CHECK-ERROR: instruction requires: sme2 200// CHECK-UNKNOWN: c1a07fc7 <unknown> 201 202fadd za.s[w11, 7], {z30.s, z31.s} // 11000001-10100000-01111111-11000111 203// CHECK-INST: fadd za.s[w11, 7, vgx2], { z30.s, z31.s } 204// CHECK-ENCODING: [0xc7,0x7f,0xa0,0xc1] 205// CHECK-ERROR: instruction requires: sme2 206// CHECK-UNKNOWN: c1a07fc7 <unknown> 207 208fadd za.s[w8, 5, vgx2], {z16.s, z17.s} // 11000001-10100000-00011110-00000101 209// CHECK-INST: fadd za.s[w8, 5, vgx2], { z16.s, z17.s } 210// CHECK-ENCODING: [0x05,0x1e,0xa0,0xc1] 211// CHECK-ERROR: instruction requires: sme2 212// CHECK-UNKNOWN: c1a01e05 <unknown> 213 214fadd za.s[w8, 5], {z16.s, z17.s} // 11000001-10100000-00011110-00000101 215// CHECK-INST: fadd za.s[w8, 5, vgx2], { z16.s, z17.s } 216// CHECK-ENCODING: [0x05,0x1e,0xa0,0xc1] 217// CHECK-ERROR: instruction requires: sme2 218// CHECK-UNKNOWN: c1a01e05 <unknown> 219 220fadd za.s[w8, 1, vgx2], {z0.s, z1.s} // 11000001-10100000-00011100-00000001 221// CHECK-INST: fadd za.s[w8, 1, vgx2], { z0.s, z1.s } 222// CHECK-ENCODING: [0x01,0x1c,0xa0,0xc1] 223// CHECK-ERROR: instruction requires: sme2 224// CHECK-UNKNOWN: c1a01c01 <unknown> 225 226fadd za.s[w8, 1], {z0.s, z1.s} // 11000001-10100000-00011100-00000001 227// CHECK-INST: fadd za.s[w8, 1, vgx2], { z0.s, z1.s } 228// CHECK-ENCODING: [0x01,0x1c,0xa0,0xc1] 229// CHECK-ERROR: instruction requires: sme2 230// CHECK-UNKNOWN: c1a01c01 <unknown> 231 232fadd za.s[w10, 0, vgx2], {z18.s, z19.s} // 11000001-10100000-01011110-01000000 233// CHECK-INST: fadd za.s[w10, 0, vgx2], { z18.s, z19.s } 234// CHECK-ENCODING: [0x40,0x5e,0xa0,0xc1] 235// CHECK-ERROR: instruction requires: sme2 236// CHECK-UNKNOWN: c1a05e40 <unknown> 237 238fadd za.s[w10, 0], {z18.s, z19.s} // 11000001-10100000-01011110-01000000 239// CHECK-INST: fadd za.s[w10, 0, vgx2], { z18.s, z19.s } 240// CHECK-ENCODING: [0x40,0x5e,0xa0,0xc1] 241// CHECK-ERROR: instruction requires: sme2 242// CHECK-UNKNOWN: c1a05e40 <unknown> 243 244fadd za.s[w8, 0, vgx2], {z12.s, z13.s} // 11000001-10100000-00011101-10000000 245// CHECK-INST: fadd za.s[w8, 0, vgx2], { z12.s, z13.s } 246// CHECK-ENCODING: [0x80,0x1d,0xa0,0xc1] 247// CHECK-ERROR: instruction requires: sme2 248// CHECK-UNKNOWN: c1a01d80 <unknown> 249 250fadd za.s[w8, 0], {z12.s, z13.s} // 11000001-10100000-00011101-10000000 251// CHECK-INST: fadd za.s[w8, 0, vgx2], { z12.s, z13.s } 252// CHECK-ENCODING: [0x80,0x1d,0xa0,0xc1] 253// CHECK-ERROR: instruction requires: sme2 254// CHECK-UNKNOWN: c1a01d80 <unknown> 255 256fadd za.s[w10, 1, vgx2], {z0.s, z1.s} // 11000001-10100000-01011100-00000001 257// CHECK-INST: fadd za.s[w10, 1, vgx2], { z0.s, z1.s } 258// CHECK-ENCODING: [0x01,0x5c,0xa0,0xc1] 259// CHECK-ERROR: instruction requires: sme2 260// CHECK-UNKNOWN: c1a05c01 <unknown> 261 262fadd za.s[w10, 1], {z0.s, z1.s} // 11000001-10100000-01011100-00000001 263// CHECK-INST: fadd za.s[w10, 1, vgx2], { z0.s, z1.s } 264// CHECK-ENCODING: [0x01,0x5c,0xa0,0xc1] 265// CHECK-ERROR: instruction requires: sme2 266// CHECK-UNKNOWN: c1a05c01 <unknown> 267 268fadd za.s[w8, 5, vgx2], {z22.s, z23.s} // 11000001-10100000-00011110-11000101 269// CHECK-INST: fadd za.s[w8, 5, vgx2], { z22.s, z23.s } 270// CHECK-ENCODING: [0xc5,0x1e,0xa0,0xc1] 271// CHECK-ERROR: instruction requires: sme2 272// CHECK-UNKNOWN: c1a01ec5 <unknown> 273 274fadd za.s[w8, 5], {z22.s, z23.s} // 11000001-10100000-00011110-11000101 275// CHECK-INST: fadd za.s[w8, 5, vgx2], { z22.s, z23.s } 276// CHECK-ENCODING: [0xc5,0x1e,0xa0,0xc1] 277// CHECK-ERROR: instruction requires: sme2 278// CHECK-UNKNOWN: c1a01ec5 <unknown> 279 280fadd za.s[w11, 2, vgx2], {z8.s, z9.s} // 11000001-10100000-01111101-00000010 281// CHECK-INST: fadd za.s[w11, 2, vgx2], { z8.s, z9.s } 282// CHECK-ENCODING: [0x02,0x7d,0xa0,0xc1] 283// CHECK-ERROR: instruction requires: sme2 284// CHECK-UNKNOWN: c1a07d02 <unknown> 285 286fadd za.s[w11, 2], {z8.s, z9.s} // 11000001-10100000-01111101-00000010 287// CHECK-INST: fadd za.s[w11, 2, vgx2], { z8.s, z9.s } 288// CHECK-ENCODING: [0x02,0x7d,0xa0,0xc1] 289// CHECK-ERROR: instruction requires: sme2 290// CHECK-UNKNOWN: c1a07d02 <unknown> 291 292fadd za.s[w9, 7, vgx2], {z12.s, z13.s} // 11000001-10100000-00111101-10000111 293// CHECK-INST: fadd za.s[w9, 7, vgx2], { z12.s, z13.s } 294// CHECK-ENCODING: [0x87,0x3d,0xa0,0xc1] 295// CHECK-ERROR: instruction requires: sme2 296// CHECK-UNKNOWN: c1a03d87 <unknown> 297 298fadd za.s[w9, 7], {z12.s, z13.s} // 11000001-10100000-00111101-10000111 299// CHECK-INST: fadd za.s[w9, 7, vgx2], { z12.s, z13.s } 300// CHECK-ENCODING: [0x87,0x3d,0xa0,0xc1] 301// CHECK-ERROR: instruction requires: sme2 302// CHECK-UNKNOWN: c1a03d87 <unknown> 303 304 305fadd za.d[w8, 0, vgx4], {z0.d - z3.d} // 11000001-11100001-00011100-00000000 306// CHECK-INST: fadd za.d[w8, 0, vgx4], { z0.d - z3.d } 307// CHECK-ENCODING: [0x00,0x1c,0xe1,0xc1] 308// CHECK-ERROR: instruction requires: sme2 sme-f64f64 309// CHECK-UNKNOWN: c1e11c00 <unknown> 310 311fadd za.d[w8, 0], {z0.d - z3.d} // 11000001-11100001-00011100-00000000 312// CHECK-INST: fadd za.d[w8, 0, vgx4], { z0.d - z3.d } 313// CHECK-ENCODING: [0x00,0x1c,0xe1,0xc1] 314// CHECK-ERROR: instruction requires: sme2 sme-f64f64 315// CHECK-UNKNOWN: c1e11c00 <unknown> 316 317fadd za.d[w10, 5, vgx4], {z8.d - z11.d} // 11000001-11100001-01011101-00000101 318// CHECK-INST: fadd za.d[w10, 5, vgx4], { z8.d - z11.d } 319// CHECK-ENCODING: [0x05,0x5d,0xe1,0xc1] 320// CHECK-ERROR: instruction requires: sme2 sme-f64f64 321// CHECK-UNKNOWN: c1e15d05 <unknown> 322 323fadd za.d[w10, 5], {z8.d - z11.d} // 11000001-11100001-01011101-00000101 324// CHECK-INST: fadd za.d[w10, 5, vgx4], { z8.d - z11.d } 325// CHECK-ENCODING: [0x05,0x5d,0xe1,0xc1] 326// CHECK-ERROR: instruction requires: sme2 sme-f64f64 327// CHECK-UNKNOWN: c1e15d05 <unknown> 328 329fadd za.d[w11, 7, vgx4], {z12.d - z15.d} // 11000001-11100001-01111101-10000111 330// CHECK-INST: fadd za.d[w11, 7, vgx4], { z12.d - z15.d } 331// CHECK-ENCODING: [0x87,0x7d,0xe1,0xc1] 332// CHECK-ERROR: instruction requires: sme2 sme-f64f64 333// CHECK-UNKNOWN: c1e17d87 <unknown> 334 335fadd za.d[w11, 7], {z12.d - z15.d} // 11000001-11100001-01111101-10000111 336// CHECK-INST: fadd za.d[w11, 7, vgx4], { z12.d - z15.d } 337// CHECK-ENCODING: [0x87,0x7d,0xe1,0xc1] 338// CHECK-ERROR: instruction requires: sme2 sme-f64f64 339// CHECK-UNKNOWN: c1e17d87 <unknown> 340 341fadd za.d[w11, 7, vgx4], {z28.d - z31.d} // 11000001-11100001-01111111-10000111 342// CHECK-INST: fadd za.d[w11, 7, vgx4], { z28.d - z31.d } 343// CHECK-ENCODING: [0x87,0x7f,0xe1,0xc1] 344// CHECK-ERROR: instruction requires: sme2 sme-f64f64 345// CHECK-UNKNOWN: c1e17f87 <unknown> 346 347fadd za.d[w11, 7], {z28.d - z31.d} // 11000001-11100001-01111111-10000111 348// CHECK-INST: fadd za.d[w11, 7, vgx4], { z28.d - z31.d } 349// CHECK-ENCODING: [0x87,0x7f,0xe1,0xc1] 350// CHECK-ERROR: instruction requires: sme2 sme-f64f64 351// CHECK-UNKNOWN: c1e17f87 <unknown> 352 353fadd za.d[w8, 5, vgx4], {z16.d - z19.d} // 11000001-11100001-00011110-00000101 354// CHECK-INST: fadd za.d[w8, 5, vgx4], { z16.d - z19.d } 355// CHECK-ENCODING: [0x05,0x1e,0xe1,0xc1] 356// CHECK-ERROR: instruction requires: sme2 sme-f64f64 357// CHECK-UNKNOWN: c1e11e05 <unknown> 358 359fadd za.d[w8, 5], {z16.d - z19.d} // 11000001-11100001-00011110-00000101 360// CHECK-INST: fadd za.d[w8, 5, vgx4], { z16.d - z19.d } 361// CHECK-ENCODING: [0x05,0x1e,0xe1,0xc1] 362// CHECK-ERROR: instruction requires: sme2 sme-f64f64 363// CHECK-UNKNOWN: c1e11e05 <unknown> 364 365fadd za.d[w8, 1, vgx4], {z0.d - z3.d} // 11000001-11100001-00011100-00000001 366// CHECK-INST: fadd za.d[w8, 1, vgx4], { z0.d - z3.d } 367// CHECK-ENCODING: [0x01,0x1c,0xe1,0xc1] 368// CHECK-ERROR: instruction requires: sme2 sme-f64f64 369// CHECK-UNKNOWN: c1e11c01 <unknown> 370 371fadd za.d[w8, 1], {z0.d - z3.d} // 11000001-11100001-00011100-00000001 372// CHECK-INST: fadd za.d[w8, 1, vgx4], { z0.d - z3.d } 373// CHECK-ENCODING: [0x01,0x1c,0xe1,0xc1] 374// CHECK-ERROR: instruction requires: sme2 sme-f64f64 375// CHECK-UNKNOWN: c1e11c01 <unknown> 376 377fadd za.d[w10, 0, vgx4], {z16.d - z19.d} // 11000001-11100001-01011110-00000000 378// CHECK-INST: fadd za.d[w10, 0, vgx4], { z16.d - z19.d } 379// CHECK-ENCODING: [0x00,0x5e,0xe1,0xc1] 380// CHECK-ERROR: instruction requires: sme2 sme-f64f64 381// CHECK-UNKNOWN: c1e15e00 <unknown> 382 383fadd za.d[w10, 0], {z16.d - z19.d} // 11000001-11100001-01011110-00000000 384// CHECK-INST: fadd za.d[w10, 0, vgx4], { z16.d - z19.d } 385// CHECK-ENCODING: [0x00,0x5e,0xe1,0xc1] 386// CHECK-ERROR: instruction requires: sme2 sme-f64f64 387// CHECK-UNKNOWN: c1e15e00 <unknown> 388 389fadd za.d[w8, 0, vgx4], {z12.d - z15.d} // 11000001-11100001-00011101-10000000 390// CHECK-INST: fadd za.d[w8, 0, vgx4], { z12.d - z15.d } 391// CHECK-ENCODING: [0x80,0x1d,0xe1,0xc1] 392// CHECK-ERROR: instruction requires: sme2 sme-f64f64 393// CHECK-UNKNOWN: c1e11d80 <unknown> 394 395fadd za.d[w8, 0], {z12.d - z15.d} // 11000001-11100001-00011101-10000000 396// CHECK-INST: fadd za.d[w8, 0, vgx4], { z12.d - z15.d } 397// CHECK-ENCODING: [0x80,0x1d,0xe1,0xc1] 398// CHECK-ERROR: instruction requires: sme2 sme-f64f64 399// CHECK-UNKNOWN: c1e11d80 <unknown> 400 401fadd za.d[w10, 1, vgx4], {z0.d - z3.d} // 11000001-11100001-01011100-00000001 402// CHECK-INST: fadd za.d[w10, 1, vgx4], { z0.d - z3.d } 403// CHECK-ENCODING: [0x01,0x5c,0xe1,0xc1] 404// CHECK-ERROR: instruction requires: sme2 sme-f64f64 405// CHECK-UNKNOWN: c1e15c01 <unknown> 406 407fadd za.d[w10, 1], {z0.d - z3.d} // 11000001-11100001-01011100-00000001 408// CHECK-INST: fadd za.d[w10, 1, vgx4], { z0.d - z3.d } 409// CHECK-ENCODING: [0x01,0x5c,0xe1,0xc1] 410// CHECK-ERROR: instruction requires: sme2 sme-f64f64 411// CHECK-UNKNOWN: c1e15c01 <unknown> 412 413fadd za.d[w8, 5, vgx4], {z20.d - z23.d} // 11000001-11100001-00011110-10000101 414// CHECK-INST: fadd za.d[w8, 5, vgx4], { z20.d - z23.d } 415// CHECK-ENCODING: [0x85,0x1e,0xe1,0xc1] 416// CHECK-ERROR: instruction requires: sme2 sme-f64f64 417// CHECK-UNKNOWN: c1e11e85 <unknown> 418 419fadd za.d[w8, 5], {z20.d - z23.d} // 11000001-11100001-00011110-10000101 420// CHECK-INST: fadd za.d[w8, 5, vgx4], { z20.d - z23.d } 421// CHECK-ENCODING: [0x85,0x1e,0xe1,0xc1] 422// CHECK-ERROR: instruction requires: sme2 sme-f64f64 423// CHECK-UNKNOWN: c1e11e85 <unknown> 424 425fadd za.d[w11, 2, vgx4], {z8.d - z11.d} // 11000001-11100001-01111101-00000010 426// CHECK-INST: fadd za.d[w11, 2, vgx4], { z8.d - z11.d } 427// CHECK-ENCODING: [0x02,0x7d,0xe1,0xc1] 428// CHECK-ERROR: instruction requires: sme2 sme-f64f64 429// CHECK-UNKNOWN: c1e17d02 <unknown> 430 431fadd za.d[w11, 2], {z8.d - z11.d} // 11000001-11100001-01111101-00000010 432// CHECK-INST: fadd za.d[w11, 2, vgx4], { z8.d - z11.d } 433// CHECK-ENCODING: [0x02,0x7d,0xe1,0xc1] 434// CHECK-ERROR: instruction requires: sme2 sme-f64f64 435// CHECK-UNKNOWN: c1e17d02 <unknown> 436 437fadd za.d[w9, 7, vgx4], {z12.d - z15.d} // 11000001-11100001-00111101-10000111 438// CHECK-INST: fadd za.d[w9, 7, vgx4], { z12.d - z15.d } 439// CHECK-ENCODING: [0x87,0x3d,0xe1,0xc1] 440// CHECK-ERROR: instruction requires: sme2 sme-f64f64 441// CHECK-UNKNOWN: c1e13d87 <unknown> 442 443fadd za.d[w9, 7], {z12.d - z15.d} // 11000001-11100001-00111101-10000111 444// CHECK-INST: fadd za.d[w9, 7, vgx4], { z12.d - z15.d } 445// CHECK-ENCODING: [0x87,0x3d,0xe1,0xc1] 446// CHECK-ERROR: instruction requires: sme2 sme-f64f64 447// CHECK-UNKNOWN: c1e13d87 <unknown> 448 449 450fadd za.s[w8, 0, vgx4], {z0.s - z3.s} // 11000001-10100001-00011100-00000000 451// CHECK-INST: fadd za.s[w8, 0, vgx4], { z0.s - z3.s } 452// CHECK-ENCODING: [0x00,0x1c,0xa1,0xc1] 453// CHECK-ERROR: instruction requires: sme2 454// CHECK-UNKNOWN: c1a11c00 <unknown> 455 456fadd za.s[w8, 0], {z0.s - z3.s} // 11000001-10100001-00011100-00000000 457// CHECK-INST: fadd za.s[w8, 0, vgx4], { z0.s - z3.s } 458// CHECK-ENCODING: [0x00,0x1c,0xa1,0xc1] 459// CHECK-ERROR: instruction requires: sme2 460// CHECK-UNKNOWN: c1a11c00 <unknown> 461 462fadd za.s[w10, 5, vgx4], {z8.s - z11.s} // 11000001-10100001-01011101-00000101 463// CHECK-INST: fadd za.s[w10, 5, vgx4], { z8.s - z11.s } 464// CHECK-ENCODING: [0x05,0x5d,0xa1,0xc1] 465// CHECK-ERROR: instruction requires: sme2 466// CHECK-UNKNOWN: c1a15d05 <unknown> 467 468fadd za.s[w10, 5], {z8.s - z11.s} // 11000001-10100001-01011101-00000101 469// CHECK-INST: fadd za.s[w10, 5, vgx4], { z8.s - z11.s } 470// CHECK-ENCODING: [0x05,0x5d,0xa1,0xc1] 471// CHECK-ERROR: instruction requires: sme2 472// CHECK-UNKNOWN: c1a15d05 <unknown> 473 474fadd za.s[w11, 7, vgx4], {z12.s - z15.s} // 11000001-10100001-01111101-10000111 475// CHECK-INST: fadd za.s[w11, 7, vgx4], { z12.s - z15.s } 476// CHECK-ENCODING: [0x87,0x7d,0xa1,0xc1] 477// CHECK-ERROR: instruction requires: sme2 478// CHECK-UNKNOWN: c1a17d87 <unknown> 479 480fadd za.s[w11, 7], {z12.s - z15.s} // 11000001-10100001-01111101-10000111 481// CHECK-INST: fadd za.s[w11, 7, vgx4], { z12.s - z15.s } 482// CHECK-ENCODING: [0x87,0x7d,0xa1,0xc1] 483// CHECK-ERROR: instruction requires: sme2 484// CHECK-UNKNOWN: c1a17d87 <unknown> 485 486fadd za.s[w11, 7, vgx4], {z28.s - z31.s} // 11000001-10100001-01111111-10000111 487// CHECK-INST: fadd za.s[w11, 7, vgx4], { z28.s - z31.s } 488// CHECK-ENCODING: [0x87,0x7f,0xa1,0xc1] 489// CHECK-ERROR: instruction requires: sme2 490// CHECK-UNKNOWN: c1a17f87 <unknown> 491 492fadd za.s[w11, 7], {z28.s - z31.s} // 11000001-10100001-01111111-10000111 493// CHECK-INST: fadd za.s[w11, 7, vgx4], { z28.s - z31.s } 494// CHECK-ENCODING: [0x87,0x7f,0xa1,0xc1] 495// CHECK-ERROR: instruction requires: sme2 496// CHECK-UNKNOWN: c1a17f87 <unknown> 497 498fadd za.s[w8, 5, vgx4], {z16.s - z19.s} // 11000001-10100001-00011110-00000101 499// CHECK-INST: fadd za.s[w8, 5, vgx4], { z16.s - z19.s } 500// CHECK-ENCODING: [0x05,0x1e,0xa1,0xc1] 501// CHECK-ERROR: instruction requires: sme2 502// CHECK-UNKNOWN: c1a11e05 <unknown> 503 504fadd za.s[w8, 5], {z16.s - z19.s} // 11000001-10100001-00011110-00000101 505// CHECK-INST: fadd za.s[w8, 5, vgx4], { z16.s - z19.s } 506// CHECK-ENCODING: [0x05,0x1e,0xa1,0xc1] 507// CHECK-ERROR: instruction requires: sme2 508// CHECK-UNKNOWN: c1a11e05 <unknown> 509 510fadd za.s[w8, 1, vgx4], {z0.s - z3.s} // 11000001-10100001-00011100-00000001 511// CHECK-INST: fadd za.s[w8, 1, vgx4], { z0.s - z3.s } 512// CHECK-ENCODING: [0x01,0x1c,0xa1,0xc1] 513// CHECK-ERROR: instruction requires: sme2 514// CHECK-UNKNOWN: c1a11c01 <unknown> 515 516fadd za.s[w8, 1], {z0.s - z3.s} // 11000001-10100001-00011100-00000001 517// CHECK-INST: fadd za.s[w8, 1, vgx4], { z0.s - z3.s } 518// CHECK-ENCODING: [0x01,0x1c,0xa1,0xc1] 519// CHECK-ERROR: instruction requires: sme2 520// CHECK-UNKNOWN: c1a11c01 <unknown> 521 522fadd za.s[w10, 0, vgx4], {z16.s - z19.s} // 11000001-10100001-01011110-00000000 523// CHECK-INST: fadd za.s[w10, 0, vgx4], { z16.s - z19.s } 524// CHECK-ENCODING: [0x00,0x5e,0xa1,0xc1] 525// CHECK-ERROR: instruction requires: sme2 526// CHECK-UNKNOWN: c1a15e00 <unknown> 527 528fadd za.s[w10, 0], {z16.s - z19.s} // 11000001-10100001-01011110-00000000 529// CHECK-INST: fadd za.s[w10, 0, vgx4], { z16.s - z19.s } 530// CHECK-ENCODING: [0x00,0x5e,0xa1,0xc1] 531// CHECK-ERROR: instruction requires: sme2 532// CHECK-UNKNOWN: c1a15e00 <unknown> 533 534fadd za.s[w8, 0, vgx4], {z12.s - z15.s} // 11000001-10100001-00011101-10000000 535// CHECK-INST: fadd za.s[w8, 0, vgx4], { z12.s - z15.s } 536// CHECK-ENCODING: [0x80,0x1d,0xa1,0xc1] 537// CHECK-ERROR: instruction requires: sme2 538// CHECK-UNKNOWN: c1a11d80 <unknown> 539 540fadd za.s[w8, 0], {z12.s - z15.s} // 11000001-10100001-00011101-10000000 541// CHECK-INST: fadd za.s[w8, 0, vgx4], { z12.s - z15.s } 542// CHECK-ENCODING: [0x80,0x1d,0xa1,0xc1] 543// CHECK-ERROR: instruction requires: sme2 544// CHECK-UNKNOWN: c1a11d80 <unknown> 545 546fadd za.s[w10, 1, vgx4], {z0.s - z3.s} // 11000001-10100001-01011100-00000001 547// CHECK-INST: fadd za.s[w10, 1, vgx4], { z0.s - z3.s } 548// CHECK-ENCODING: [0x01,0x5c,0xa1,0xc1] 549// CHECK-ERROR: instruction requires: sme2 550// CHECK-UNKNOWN: c1a15c01 <unknown> 551 552fadd za.s[w10, 1], {z0.s - z3.s} // 11000001-10100001-01011100-00000001 553// CHECK-INST: fadd za.s[w10, 1, vgx4], { z0.s - z3.s } 554// CHECK-ENCODING: [0x01,0x5c,0xa1,0xc1] 555// CHECK-ERROR: instruction requires: sme2 556// CHECK-UNKNOWN: c1a15c01 <unknown> 557 558fadd za.s[w8, 5, vgx4], {z20.s - z23.s} // 11000001-10100001-00011110-10000101 559// CHECK-INST: fadd za.s[w8, 5, vgx4], { z20.s - z23.s } 560// CHECK-ENCODING: [0x85,0x1e,0xa1,0xc1] 561// CHECK-ERROR: instruction requires: sme2 562// CHECK-UNKNOWN: c1a11e85 <unknown> 563 564fadd za.s[w8, 5], {z20.s - z23.s} // 11000001-10100001-00011110-10000101 565// CHECK-INST: fadd za.s[w8, 5, vgx4], { z20.s - z23.s } 566// CHECK-ENCODING: [0x85,0x1e,0xa1,0xc1] 567// CHECK-ERROR: instruction requires: sme2 568// CHECK-UNKNOWN: c1a11e85 <unknown> 569 570fadd za.s[w11, 2, vgx4], {z8.s - z11.s} // 11000001-10100001-01111101-00000010 571// CHECK-INST: fadd za.s[w11, 2, vgx4], { z8.s - z11.s } 572// CHECK-ENCODING: [0x02,0x7d,0xa1,0xc1] 573// CHECK-ERROR: instruction requires: sme2 574// CHECK-UNKNOWN: c1a17d02 <unknown> 575 576fadd za.s[w11, 2], {z8.s - z11.s} // 11000001-10100001-01111101-00000010 577// CHECK-INST: fadd za.s[w11, 2, vgx4], { z8.s - z11.s } 578// CHECK-ENCODING: [0x02,0x7d,0xa1,0xc1] 579// CHECK-ERROR: instruction requires: sme2 580// CHECK-UNKNOWN: c1a17d02 <unknown> 581 582fadd za.s[w9, 7, vgx4], {z12.s - z15.s} // 11000001-10100001-00111101-10000111 583// CHECK-INST: fadd za.s[w9, 7, vgx4], { z12.s - z15.s } 584// CHECK-ENCODING: [0x87,0x3d,0xa1,0xc1] 585// CHECK-ERROR: instruction requires: sme2 586// CHECK-UNKNOWN: c1a13d87 <unknown> 587 588fadd za.s[w9, 7], {z12.s - z15.s} // 11000001-10100001-00111101-10000111 589// CHECK-INST: fadd za.s[w9, 7, vgx4], { z12.s - z15.s } 590// CHECK-ENCODING: [0x87,0x3d,0xa1,0xc1] 591// CHECK-ERROR: instruction requires: sme2 592// CHECK-UNKNOWN: c1a13d87 <unknown> 593 594