594 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sme-f64f64 < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \4// RUN: | FileCheck %s --check-prefix=CHECK-ERROR5// 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-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sme-f64f64 < %s \8// RUN: | llvm-objdump -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN9// 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-INST13 14 15fsub za.d[w8, 0, vgx2], {z0.d, z1.d} // 11000001-11100000-00011100-0000100016// CHECK-INST: fsub za.d[w8, 0, vgx2], { z0.d, z1.d }17// CHECK-ENCODING: [0x08,0x1c,0xe0,0xc1]18// CHECK-ERROR: instruction requires: sme2 sme-f64f6419// CHECK-UNKNOWN: c1e01c08 <unknown>20 21fsub za.d[w8, 0], {z0.d, z1.d} // 11000001-11100000-00011100-0000100022// CHECK-INST: fsub za.d[w8, 0, vgx2], { z0.d, z1.d }23// CHECK-ENCODING: [0x08,0x1c,0xe0,0xc1]24// CHECK-ERROR: instruction requires: sme2 sme-f64f6425// CHECK-UNKNOWN: c1e01c08 <unknown>26 27fsub za.d[w10, 5, vgx2], {z10.d, z11.d} // 11000001-11100000-01011101-0100110128// CHECK-INST: fsub za.d[w10, 5, vgx2], { z10.d, z11.d }29// CHECK-ENCODING: [0x4d,0x5d,0xe0,0xc1]30// CHECK-ERROR: instruction requires: sme2 sme-f64f6431// CHECK-UNKNOWN: c1e05d4d <unknown>32 33fsub za.d[w10, 5], {z10.d, z11.d} // 11000001-11100000-01011101-0100110134// CHECK-INST: fsub za.d[w10, 5, vgx2], { z10.d, z11.d }35// CHECK-ENCODING: [0x4d,0x5d,0xe0,0xc1]36// CHECK-ERROR: instruction requires: sme2 sme-f64f6437// CHECK-UNKNOWN: c1e05d4d <unknown>38 39fsub za.d[w11, 7, vgx2], {z12.d, z13.d} // 11000001-11100000-01111101-1000111140// CHECK-INST: fsub za.d[w11, 7, vgx2], { z12.d, z13.d }41// CHECK-ENCODING: [0x8f,0x7d,0xe0,0xc1]42// CHECK-ERROR: instruction requires: sme2 sme-f64f6443// CHECK-UNKNOWN: c1e07d8f <unknown>44 45fsub za.d[w11, 7], {z12.d, z13.d} // 11000001-11100000-01111101-1000111146// CHECK-INST: fsub za.d[w11, 7, vgx2], { z12.d, z13.d }47// CHECK-ENCODING: [0x8f,0x7d,0xe0,0xc1]48// CHECK-ERROR: instruction requires: sme2 sme-f64f6449// CHECK-UNKNOWN: c1e07d8f <unknown>50 51fsub za.d[w11, 7, vgx2], {z30.d, z31.d} // 11000001-11100000-01111111-1100111152// CHECK-INST: fsub za.d[w11, 7, vgx2], { z30.d, z31.d }53// CHECK-ENCODING: [0xcf,0x7f,0xe0,0xc1]54// CHECK-ERROR: instruction requires: sme2 sme-f64f6455// CHECK-UNKNOWN: c1e07fcf <unknown>56 57fsub za.d[w11, 7], {z30.d, z31.d} // 11000001-11100000-01111111-1100111158// CHECK-INST: fsub za.d[w11, 7, vgx2], { z30.d, z31.d }59// CHECK-ENCODING: [0xcf,0x7f,0xe0,0xc1]60// CHECK-ERROR: instruction requires: sme2 sme-f64f6461// CHECK-UNKNOWN: c1e07fcf <unknown>62 63fsub za.d[w8, 5, vgx2], {z16.d, z17.d} // 11000001-11100000-00011110-0000110164// CHECK-INST: fsub za.d[w8, 5, vgx2], { z16.d, z17.d }65// CHECK-ENCODING: [0x0d,0x1e,0xe0,0xc1]66// CHECK-ERROR: instruction requires: sme2 sme-f64f6467// CHECK-UNKNOWN: c1e01e0d <unknown>68 69fsub za.d[w8, 5], {z16.d, z17.d} // 11000001-11100000-00011110-0000110170// CHECK-INST: fsub za.d[w8, 5, vgx2], { z16.d, z17.d }71// CHECK-ENCODING: [0x0d,0x1e,0xe0,0xc1]72// CHECK-ERROR: instruction requires: sme2 sme-f64f6473// CHECK-UNKNOWN: c1e01e0d <unknown>74 75fsub za.d[w8, 1, vgx2], {z0.d, z1.d} // 11000001-11100000-00011100-0000100176// CHECK-INST: fsub za.d[w8, 1, vgx2], { z0.d, z1.d }77// CHECK-ENCODING: [0x09,0x1c,0xe0,0xc1]78// CHECK-ERROR: instruction requires: sme2 sme-f64f6479// CHECK-UNKNOWN: c1e01c09 <unknown>80 81fsub za.d[w8, 1], {z0.d, z1.d} // 11000001-11100000-00011100-0000100182// CHECK-INST: fsub za.d[w8, 1, vgx2], { z0.d, z1.d }83// CHECK-ENCODING: [0x09,0x1c,0xe0,0xc1]84// CHECK-ERROR: instruction requires: sme2 sme-f64f6485// CHECK-UNKNOWN: c1e01c09 <unknown>86 87fsub za.d[w10, 0, vgx2], {z18.d, z19.d} // 11000001-11100000-01011110-0100100088// CHECK-INST: fsub za.d[w10, 0, vgx2], { z18.d, z19.d }89// CHECK-ENCODING: [0x48,0x5e,0xe0,0xc1]90// CHECK-ERROR: instruction requires: sme2 sme-f64f6491// CHECK-UNKNOWN: c1e05e48 <unknown>92 93fsub za.d[w10, 0], {z18.d, z19.d} // 11000001-11100000-01011110-0100100094// CHECK-INST: fsub za.d[w10, 0, vgx2], { z18.d, z19.d }95// CHECK-ENCODING: [0x48,0x5e,0xe0,0xc1]96// CHECK-ERROR: instruction requires: sme2 sme-f64f6497// CHECK-UNKNOWN: c1e05e48 <unknown>98 99fsub za.d[w8, 0, vgx2], {z12.d, z13.d} // 11000001-11100000-00011101-10001000100// CHECK-INST: fsub za.d[w8, 0, vgx2], { z12.d, z13.d }101// CHECK-ENCODING: [0x88,0x1d,0xe0,0xc1]102// CHECK-ERROR: instruction requires: sme2 sme-f64f64103// CHECK-UNKNOWN: c1e01d88 <unknown>104 105fsub za.d[w8, 0], {z12.d, z13.d} // 11000001-11100000-00011101-10001000106// CHECK-INST: fsub za.d[w8, 0, vgx2], { z12.d, z13.d }107// CHECK-ENCODING: [0x88,0x1d,0xe0,0xc1]108// CHECK-ERROR: instruction requires: sme2 sme-f64f64109// CHECK-UNKNOWN: c1e01d88 <unknown>110 111fsub za.d[w10, 1, vgx2], {z0.d, z1.d} // 11000001-11100000-01011100-00001001112// CHECK-INST: fsub za.d[w10, 1, vgx2], { z0.d, z1.d }113// CHECK-ENCODING: [0x09,0x5c,0xe0,0xc1]114// CHECK-ERROR: instruction requires: sme2 sme-f64f64115// CHECK-UNKNOWN: c1e05c09 <unknown>116 117fsub za.d[w10, 1], {z0.d, z1.d} // 11000001-11100000-01011100-00001001118// CHECK-INST: fsub za.d[w10, 1, vgx2], { z0.d, z1.d }119// CHECK-ENCODING: [0x09,0x5c,0xe0,0xc1]120// CHECK-ERROR: instruction requires: sme2 sme-f64f64121// CHECK-UNKNOWN: c1e05c09 <unknown>122 123fsub za.d[w8, 5, vgx2], {z22.d, z23.d} // 11000001-11100000-00011110-11001101124// CHECK-INST: fsub za.d[w8, 5, vgx2], { z22.d, z23.d }125// CHECK-ENCODING: [0xcd,0x1e,0xe0,0xc1]126// CHECK-ERROR: instruction requires: sme2 sme-f64f64127// CHECK-UNKNOWN: c1e01ecd <unknown>128 129fsub za.d[w8, 5], {z22.d, z23.d} // 11000001-11100000-00011110-11001101130// CHECK-INST: fsub za.d[w8, 5, vgx2], { z22.d, z23.d }131// CHECK-ENCODING: [0xcd,0x1e,0xe0,0xc1]132// CHECK-ERROR: instruction requires: sme2 sme-f64f64133// CHECK-UNKNOWN: c1e01ecd <unknown>134 135fsub za.d[w11, 2, vgx2], {z8.d, z9.d} // 11000001-11100000-01111101-00001010136// CHECK-INST: fsub za.d[w11, 2, vgx2], { z8.d, z9.d }137// CHECK-ENCODING: [0x0a,0x7d,0xe0,0xc1]138// CHECK-ERROR: instruction requires: sme2 sme-f64f64139// CHECK-UNKNOWN: c1e07d0a <unknown>140 141fsub za.d[w11, 2], {z8.d, z9.d} // 11000001-11100000-01111101-00001010142// CHECK-INST: fsub za.d[w11, 2, vgx2], { z8.d, z9.d }143// CHECK-ENCODING: [0x0a,0x7d,0xe0,0xc1]144// CHECK-ERROR: instruction requires: sme2 sme-f64f64145// CHECK-UNKNOWN: c1e07d0a <unknown>146 147fsub za.d[w9, 7, vgx2], {z12.d, z13.d} // 11000001-11100000-00111101-10001111148// CHECK-INST: fsub za.d[w9, 7, vgx2], { z12.d, z13.d }149// CHECK-ENCODING: [0x8f,0x3d,0xe0,0xc1]150// CHECK-ERROR: instruction requires: sme2 sme-f64f64151// CHECK-UNKNOWN: c1e03d8f <unknown>152 153fsub za.d[w9, 7], {z12.d, z13.d} // 11000001-11100000-00111101-10001111154// CHECK-INST: fsub za.d[w9, 7, vgx2], { z12.d, z13.d }155// CHECK-ENCODING: [0x8f,0x3d,0xe0,0xc1]156// CHECK-ERROR: instruction requires: sme2 sme-f64f64157// CHECK-UNKNOWN: c1e03d8f <unknown>158 159 160fsub za.s[w8, 0, vgx2], {z0.s, z1.s} // 11000001-10100000-00011100-00001000161// CHECK-INST: fsub za.s[w8, 0, vgx2], { z0.s, z1.s }162// CHECK-ENCODING: [0x08,0x1c,0xa0,0xc1]163// CHECK-ERROR: instruction requires: sme2164// CHECK-UNKNOWN: c1a01c08 <unknown>165 166fsub za.s[w8, 0], {z0.s, z1.s} // 11000001-10100000-00011100-00001000167// CHECK-INST: fsub za.s[w8, 0, vgx2], { z0.s, z1.s }168// CHECK-ENCODING: [0x08,0x1c,0xa0,0xc1]169// CHECK-ERROR: instruction requires: sme2170// CHECK-UNKNOWN: c1a01c08 <unknown>171 172fsub za.s[w10, 5, vgx2], {z10.s, z11.s} // 11000001-10100000-01011101-01001101173// CHECK-INST: fsub za.s[w10, 5, vgx2], { z10.s, z11.s }174// CHECK-ENCODING: [0x4d,0x5d,0xa0,0xc1]175// CHECK-ERROR: instruction requires: sme2176// CHECK-UNKNOWN: c1a05d4d <unknown>177 178fsub za.s[w10, 5], {z10.s, z11.s} // 11000001-10100000-01011101-01001101179// CHECK-INST: fsub za.s[w10, 5, vgx2], { z10.s, z11.s }180// CHECK-ENCODING: [0x4d,0x5d,0xa0,0xc1]181// CHECK-ERROR: instruction requires: sme2182// CHECK-UNKNOWN: c1a05d4d <unknown>183 184fsub za.s[w11, 7, vgx2], {z12.s, z13.s} // 11000001-10100000-01111101-10001111185// CHECK-INST: fsub za.s[w11, 7, vgx2], { z12.s, z13.s }186// CHECK-ENCODING: [0x8f,0x7d,0xa0,0xc1]187// CHECK-ERROR: instruction requires: sme2188// CHECK-UNKNOWN: c1a07d8f <unknown>189 190fsub za.s[w11, 7], {z12.s, z13.s} // 11000001-10100000-01111101-10001111191// CHECK-INST: fsub za.s[w11, 7, vgx2], { z12.s, z13.s }192// CHECK-ENCODING: [0x8f,0x7d,0xa0,0xc1]193// CHECK-ERROR: instruction requires: sme2194// CHECK-UNKNOWN: c1a07d8f <unknown>195 196fsub za.s[w11, 7, vgx2], {z30.s, z31.s} // 11000001-10100000-01111111-11001111197// CHECK-INST: fsub za.s[w11, 7, vgx2], { z30.s, z31.s }198// CHECK-ENCODING: [0xcf,0x7f,0xa0,0xc1]199// CHECK-ERROR: instruction requires: sme2200// CHECK-UNKNOWN: c1a07fcf <unknown>201 202fsub za.s[w11, 7], {z30.s, z31.s} // 11000001-10100000-01111111-11001111203// CHECK-INST: fsub za.s[w11, 7, vgx2], { z30.s, z31.s }204// CHECK-ENCODING: [0xcf,0x7f,0xa0,0xc1]205// CHECK-ERROR: instruction requires: sme2206// CHECK-UNKNOWN: c1a07fcf <unknown>207 208fsub za.s[w8, 5, vgx2], {z16.s, z17.s} // 11000001-10100000-00011110-00001101209// CHECK-INST: fsub za.s[w8, 5, vgx2], { z16.s, z17.s }210// CHECK-ENCODING: [0x0d,0x1e,0xa0,0xc1]211// CHECK-ERROR: instruction requires: sme2212// CHECK-UNKNOWN: c1a01e0d <unknown>213 214fsub za.s[w8, 5], {z16.s, z17.s} // 11000001-10100000-00011110-00001101215// CHECK-INST: fsub za.s[w8, 5, vgx2], { z16.s, z17.s }216// CHECK-ENCODING: [0x0d,0x1e,0xa0,0xc1]217// CHECK-ERROR: instruction requires: sme2218// CHECK-UNKNOWN: c1a01e0d <unknown>219 220fsub za.s[w8, 1, vgx2], {z0.s, z1.s} // 11000001-10100000-00011100-00001001221// CHECK-INST: fsub za.s[w8, 1, vgx2], { z0.s, z1.s }222// CHECK-ENCODING: [0x09,0x1c,0xa0,0xc1]223// CHECK-ERROR: instruction requires: sme2224// CHECK-UNKNOWN: c1a01c09 <unknown>225 226fsub za.s[w8, 1], {z0.s, z1.s} // 11000001-10100000-00011100-00001001227// CHECK-INST: fsub za.s[w8, 1, vgx2], { z0.s, z1.s }228// CHECK-ENCODING: [0x09,0x1c,0xa0,0xc1]229// CHECK-ERROR: instruction requires: sme2230// CHECK-UNKNOWN: c1a01c09 <unknown>231 232fsub za.s[w10, 0, vgx2], {z18.s, z19.s} // 11000001-10100000-01011110-01001000233// CHECK-INST: fsub za.s[w10, 0, vgx2], { z18.s, z19.s }234// CHECK-ENCODING: [0x48,0x5e,0xa0,0xc1]235// CHECK-ERROR: instruction requires: sme2236// CHECK-UNKNOWN: c1a05e48 <unknown>237 238fsub za.s[w10, 0], {z18.s, z19.s} // 11000001-10100000-01011110-01001000239// CHECK-INST: fsub za.s[w10, 0, vgx2], { z18.s, z19.s }240// CHECK-ENCODING: [0x48,0x5e,0xa0,0xc1]241// CHECK-ERROR: instruction requires: sme2242// CHECK-UNKNOWN: c1a05e48 <unknown>243 244fsub za.s[w8, 0, vgx2], {z12.s, z13.s} // 11000001-10100000-00011101-10001000245// CHECK-INST: fsub za.s[w8, 0, vgx2], { z12.s, z13.s }246// CHECK-ENCODING: [0x88,0x1d,0xa0,0xc1]247// CHECK-ERROR: instruction requires: sme2248// CHECK-UNKNOWN: c1a01d88 <unknown>249 250fsub za.s[w8, 0], {z12.s, z13.s} // 11000001-10100000-00011101-10001000251// CHECK-INST: fsub za.s[w8, 0, vgx2], { z12.s, z13.s }252// CHECK-ENCODING: [0x88,0x1d,0xa0,0xc1]253// CHECK-ERROR: instruction requires: sme2254// CHECK-UNKNOWN: c1a01d88 <unknown>255 256fsub za.s[w10, 1, vgx2], {z0.s, z1.s} // 11000001-10100000-01011100-00001001257// CHECK-INST: fsub za.s[w10, 1, vgx2], { z0.s, z1.s }258// CHECK-ENCODING: [0x09,0x5c,0xa0,0xc1]259// CHECK-ERROR: instruction requires: sme2260// CHECK-UNKNOWN: c1a05c09 <unknown>261 262fsub za.s[w10, 1], {z0.s, z1.s} // 11000001-10100000-01011100-00001001263// CHECK-INST: fsub za.s[w10, 1, vgx2], { z0.s, z1.s }264// CHECK-ENCODING: [0x09,0x5c,0xa0,0xc1]265// CHECK-ERROR: instruction requires: sme2266// CHECK-UNKNOWN: c1a05c09 <unknown>267 268fsub za.s[w8, 5, vgx2], {z22.s, z23.s} // 11000001-10100000-00011110-11001101269// CHECK-INST: fsub za.s[w8, 5, vgx2], { z22.s, z23.s }270// CHECK-ENCODING: [0xcd,0x1e,0xa0,0xc1]271// CHECK-ERROR: instruction requires: sme2272// CHECK-UNKNOWN: c1a01ecd <unknown>273 274fsub za.s[w8, 5], {z22.s, z23.s} // 11000001-10100000-00011110-11001101275// CHECK-INST: fsub za.s[w8, 5, vgx2], { z22.s, z23.s }276// CHECK-ENCODING: [0xcd,0x1e,0xa0,0xc1]277// CHECK-ERROR: instruction requires: sme2278// CHECK-UNKNOWN: c1a01ecd <unknown>279 280fsub za.s[w11, 2, vgx2], {z8.s, z9.s} // 11000001-10100000-01111101-00001010281// CHECK-INST: fsub za.s[w11, 2, vgx2], { z8.s, z9.s }282// CHECK-ENCODING: [0x0a,0x7d,0xa0,0xc1]283// CHECK-ERROR: instruction requires: sme2284// CHECK-UNKNOWN: c1a07d0a <unknown>285 286fsub za.s[w11, 2], {z8.s, z9.s} // 11000001-10100000-01111101-00001010287// CHECK-INST: fsub za.s[w11, 2, vgx2], { z8.s, z9.s }288// CHECK-ENCODING: [0x0a,0x7d,0xa0,0xc1]289// CHECK-ERROR: instruction requires: sme2290// CHECK-UNKNOWN: c1a07d0a <unknown>291 292fsub za.s[w9, 7, vgx2], {z12.s, z13.s} // 11000001-10100000-00111101-10001111293// CHECK-INST: fsub za.s[w9, 7, vgx2], { z12.s, z13.s }294// CHECK-ENCODING: [0x8f,0x3d,0xa0,0xc1]295// CHECK-ERROR: instruction requires: sme2296// CHECK-UNKNOWN: c1a03d8f <unknown>297 298fsub za.s[w9, 7], {z12.s, z13.s} // 11000001-10100000-00111101-10001111299// CHECK-INST: fsub za.s[w9, 7, vgx2], { z12.s, z13.s }300// CHECK-ENCODING: [0x8f,0x3d,0xa0,0xc1]301// CHECK-ERROR: instruction requires: sme2302// CHECK-UNKNOWN: c1a03d8f <unknown>303 304 305fsub za.d[w8, 0, vgx4], {z0.d - z3.d} // 11000001-11100001-00011100-00001000306// CHECK-INST: fsub za.d[w8, 0, vgx4], { z0.d - z3.d }307// CHECK-ENCODING: [0x08,0x1c,0xe1,0xc1]308// CHECK-ERROR: instruction requires: sme2 sme-f64f64309// CHECK-UNKNOWN: c1e11c08 <unknown>310 311fsub za.d[w8, 0], {z0.d - z3.d} // 11000001-11100001-00011100-00001000312// CHECK-INST: fsub za.d[w8, 0, vgx4], { z0.d - z3.d }313// CHECK-ENCODING: [0x08,0x1c,0xe1,0xc1]314// CHECK-ERROR: instruction requires: sme2 sme-f64f64315// CHECK-UNKNOWN: c1e11c08 <unknown>316 317fsub za.d[w10, 5, vgx4], {z8.d - z11.d} // 11000001-11100001-01011101-00001101318// CHECK-INST: fsub za.d[w10, 5, vgx4], { z8.d - z11.d }319// CHECK-ENCODING: [0x0d,0x5d,0xe1,0xc1]320// CHECK-ERROR: instruction requires: sme2 sme-f64f64321// CHECK-UNKNOWN: c1e15d0d <unknown>322 323fsub za.d[w10, 5], {z8.d - z11.d} // 11000001-11100001-01011101-00001101324// CHECK-INST: fsub za.d[w10, 5, vgx4], { z8.d - z11.d }325// CHECK-ENCODING: [0x0d,0x5d,0xe1,0xc1]326// CHECK-ERROR: instruction requires: sme2 sme-f64f64327// CHECK-UNKNOWN: c1e15d0d <unknown>328 329fsub za.d[w11, 7, vgx4], {z12.d - z15.d} // 11000001-11100001-01111101-10001111330// CHECK-INST: fsub za.d[w11, 7, vgx4], { z12.d - z15.d }331// CHECK-ENCODING: [0x8f,0x7d,0xe1,0xc1]332// CHECK-ERROR: instruction requires: sme2 sme-f64f64333// CHECK-UNKNOWN: c1e17d8f <unknown>334 335fsub za.d[w11, 7], {z12.d - z15.d} // 11000001-11100001-01111101-10001111336// CHECK-INST: fsub za.d[w11, 7, vgx4], { z12.d - z15.d }337// CHECK-ENCODING: [0x8f,0x7d,0xe1,0xc1]338// CHECK-ERROR: instruction requires: sme2 sme-f64f64339// CHECK-UNKNOWN: c1e17d8f <unknown>340 341fsub za.d[w11, 7, vgx4], {z28.d - z31.d} // 11000001-11100001-01111111-10001111342// CHECK-INST: fsub za.d[w11, 7, vgx4], { z28.d - z31.d }343// CHECK-ENCODING: [0x8f,0x7f,0xe1,0xc1]344// CHECK-ERROR: instruction requires: sme2 sme-f64f64345// CHECK-UNKNOWN: c1e17f8f <unknown>346 347fsub za.d[w11, 7], {z28.d - z31.d} // 11000001-11100001-01111111-10001111348// CHECK-INST: fsub za.d[w11, 7, vgx4], { z28.d - z31.d }349// CHECK-ENCODING: [0x8f,0x7f,0xe1,0xc1]350// CHECK-ERROR: instruction requires: sme2 sme-f64f64351// CHECK-UNKNOWN: c1e17f8f <unknown>352 353fsub za.d[w8, 5, vgx4], {z16.d - z19.d} // 11000001-11100001-00011110-00001101354// CHECK-INST: fsub za.d[w8, 5, vgx4], { z16.d - z19.d }355// CHECK-ENCODING: [0x0d,0x1e,0xe1,0xc1]356// CHECK-ERROR: instruction requires: sme2 sme-f64f64357// CHECK-UNKNOWN: c1e11e0d <unknown>358 359fsub za.d[w8, 5], {z16.d - z19.d} // 11000001-11100001-00011110-00001101360// CHECK-INST: fsub za.d[w8, 5, vgx4], { z16.d - z19.d }361// CHECK-ENCODING: [0x0d,0x1e,0xe1,0xc1]362// CHECK-ERROR: instruction requires: sme2 sme-f64f64363// CHECK-UNKNOWN: c1e11e0d <unknown>364 365fsub za.d[w8, 1, vgx4], {z0.d - z3.d} // 11000001-11100001-00011100-00001001366// CHECK-INST: fsub za.d[w8, 1, vgx4], { z0.d - z3.d }367// CHECK-ENCODING: [0x09,0x1c,0xe1,0xc1]368// CHECK-ERROR: instruction requires: sme2 sme-f64f64369// CHECK-UNKNOWN: c1e11c09 <unknown>370 371fsub za.d[w8, 1], {z0.d - z3.d} // 11000001-11100001-00011100-00001001372// CHECK-INST: fsub za.d[w8, 1, vgx4], { z0.d - z3.d }373// CHECK-ENCODING: [0x09,0x1c,0xe1,0xc1]374// CHECK-ERROR: instruction requires: sme2 sme-f64f64375// CHECK-UNKNOWN: c1e11c09 <unknown>376 377fsub za.d[w10, 0, vgx4], {z16.d - z19.d} // 11000001-11100001-01011110-00001000378// CHECK-INST: fsub za.d[w10, 0, vgx4], { z16.d - z19.d }379// CHECK-ENCODING: [0x08,0x5e,0xe1,0xc1]380// CHECK-ERROR: instruction requires: sme2 sme-f64f64381// CHECK-UNKNOWN: c1e15e08 <unknown>382 383fsub za.d[w10, 0], {z16.d - z19.d} // 11000001-11100001-01011110-00001000384// CHECK-INST: fsub za.d[w10, 0, vgx4], { z16.d - z19.d }385// CHECK-ENCODING: [0x08,0x5e,0xe1,0xc1]386// CHECK-ERROR: instruction requires: sme2 sme-f64f64387// CHECK-UNKNOWN: c1e15e08 <unknown>388 389fsub za.d[w8, 0, vgx4], {z12.d - z15.d} // 11000001-11100001-00011101-10001000390// CHECK-INST: fsub za.d[w8, 0, vgx4], { z12.d - z15.d }391// CHECK-ENCODING: [0x88,0x1d,0xe1,0xc1]392// CHECK-ERROR: instruction requires: sme2393// CHECK-UNKNOWN: c1e11d88 <unknown>394 395fsub za.d[w8, 0], {z12.d - z15.d} // 11000001-11100001-00011101-10001000396// CHECK-INST: fsub za.d[w8, 0, vgx4], { z12.d - z15.d }397// CHECK-ENCODING: [0x88,0x1d,0xe1,0xc1]398// CHECK-ERROR: instruction requires: sme2 sme-f64f64399// CHECK-UNKNOWN: c1e11d88 <unknown>400 401fsub za.d[w10, 1, vgx4], {z0.d - z3.d} // 11000001-11100001-01011100-00001001402// CHECK-INST: fsub za.d[w10, 1, vgx4], { z0.d - z3.d }403// CHECK-ENCODING: [0x09,0x5c,0xe1,0xc1]404// CHECK-ERROR: instruction requires: sme2 sme-f64f64405// CHECK-UNKNOWN: c1e15c09 <unknown>406 407fsub za.d[w10, 1], {z0.d - z3.d} // 11000001-11100001-01011100-00001001408// CHECK-INST: fsub za.d[w10, 1, vgx4], { z0.d - z3.d }409// CHECK-ENCODING: [0x09,0x5c,0xe1,0xc1]410// CHECK-ERROR: instruction requires: sme2 sme-f64f64411// CHECK-UNKNOWN: c1e15c09 <unknown>412 413fsub za.d[w8, 5, vgx4], {z20.d - z23.d} // 11000001-11100001-00011110-10001101414// CHECK-INST: fsub za.d[w8, 5, vgx4], { z20.d - z23.d }415// CHECK-ENCODING: [0x8d,0x1e,0xe1,0xc1]416// CHECK-ERROR: instruction requires: sme2 sme-f64f64417// CHECK-UNKNOWN: c1e11e8d <unknown>418 419fsub za.d[w8, 5], {z20.d - z23.d} // 11000001-11100001-00011110-10001101420// CHECK-INST: fsub za.d[w8, 5, vgx4], { z20.d - z23.d }421// CHECK-ENCODING: [0x8d,0x1e,0xe1,0xc1]422// CHECK-ERROR: instruction requires: sme2 sme-f64f64423// CHECK-UNKNOWN: c1e11e8d <unknown>424 425fsub za.d[w11, 2, vgx4], {z8.d - z11.d} // 11000001-11100001-01111101-00001010426// CHECK-INST: fsub za.d[w11, 2, vgx4], { z8.d - z11.d }427// CHECK-ENCODING: [0x0a,0x7d,0xe1,0xc1]428// CHECK-ERROR: instruction requires: sme2 sme-f64f64429// CHECK-UNKNOWN: c1e17d0a <unknown>430 431fsub za.d[w11, 2], {z8.d - z11.d} // 11000001-11100001-01111101-00001010432// CHECK-INST: fsub za.d[w11, 2, vgx4], { z8.d - z11.d }433// CHECK-ENCODING: [0x0a,0x7d,0xe1,0xc1]434// CHECK-ERROR: instruction requires: sme2 sme-f64f64435// CHECK-UNKNOWN: c1e17d0a <unknown>436 437fsub za.d[w9, 7, vgx4], {z12.d - z15.d} // 11000001-11100001-00111101-10001111438// CHECK-INST: fsub za.d[w9, 7, vgx4], { z12.d - z15.d }439// CHECK-ENCODING: [0x8f,0x3d,0xe1,0xc1]440// CHECK-ERROR: instruction requires: sme2 sme-f64f64441// CHECK-UNKNOWN: c1e13d8f <unknown>442 443fsub za.d[w9, 7], {z12.d - z15.d} // 11000001-11100001-00111101-10001111444// CHECK-INST: fsub za.d[w9, 7, vgx4], { z12.d - z15.d }445// CHECK-ENCODING: [0x8f,0x3d,0xe1,0xc1]446// CHECK-ERROR: instruction requires: sme2 sme-f64f64447// CHECK-UNKNOWN: c1e13d8f <unknown>448 449 450fsub za.s[w8, 0, vgx4], {z0.s - z3.s} // 11000001-10100001-00011100-00001000451// CHECK-INST: fsub za.s[w8, 0, vgx4], { z0.s - z3.s }452// CHECK-ENCODING: [0x08,0x1c,0xa1,0xc1]453// CHECK-ERROR: instruction requires: sme2454// CHECK-UNKNOWN: c1a11c08 <unknown>455 456fsub za.s[w8, 0], {z0.s - z3.s} // 11000001-10100001-00011100-00001000457// CHECK-INST: fsub za.s[w8, 0, vgx4], { z0.s - z3.s }458// CHECK-ENCODING: [0x08,0x1c,0xa1,0xc1]459// CHECK-ERROR: instruction requires: sme2460// CHECK-UNKNOWN: c1a11c08 <unknown>461 462fsub za.s[w10, 5, vgx4], {z8.s - z11.s} // 11000001-10100001-01011101-00001101463// CHECK-INST: fsub za.s[w10, 5, vgx4], { z8.s - z11.s }464// CHECK-ENCODING: [0x0d,0x5d,0xa1,0xc1]465// CHECK-ERROR: instruction requires: sme2466// CHECK-UNKNOWN: c1a15d0d <unknown>467 468fsub za.s[w10, 5], {z8.s - z11.s} // 11000001-10100001-01011101-00001101469// CHECK-INST: fsub za.s[w10, 5, vgx4], { z8.s - z11.s }470// CHECK-ENCODING: [0x0d,0x5d,0xa1,0xc1]471// CHECK-ERROR: instruction requires: sme2472// CHECK-UNKNOWN: c1a15d0d <unknown>473 474fsub za.s[w11, 7, vgx4], {z12.s - z15.s} // 11000001-10100001-01111101-10001111475// CHECK-INST: fsub za.s[w11, 7, vgx4], { z12.s - z15.s }476// CHECK-ENCODING: [0x8f,0x7d,0xa1,0xc1]477// CHECK-ERROR: instruction requires: sme2478// CHECK-UNKNOWN: c1a17d8f <unknown>479 480fsub za.s[w11, 7], {z12.s - z15.s} // 11000001-10100001-01111101-10001111481// CHECK-INST: fsub za.s[w11, 7, vgx4], { z12.s - z15.s }482// CHECK-ENCODING: [0x8f,0x7d,0xa1,0xc1]483// CHECK-ERROR: instruction requires: sme2484// CHECK-UNKNOWN: c1a17d8f <unknown>485 486fsub za.s[w11, 7, vgx4], {z28.s - z31.s} // 11000001-10100001-01111111-10001111487// CHECK-INST: fsub za.s[w11, 7, vgx4], { z28.s - z31.s }488// CHECK-ENCODING: [0x8f,0x7f,0xa1,0xc1]489// CHECK-ERROR: instruction requires: sme2490// CHECK-UNKNOWN: c1a17f8f <unknown>491 492fsub za.s[w11, 7], {z28.s - z31.s} // 11000001-10100001-01111111-10001111493// CHECK-INST: fsub za.s[w11, 7, vgx4], { z28.s - z31.s }494// CHECK-ENCODING: [0x8f,0x7f,0xa1,0xc1]495// CHECK-ERROR: instruction requires: sme2496// CHECK-UNKNOWN: c1a17f8f <unknown>497 498fsub za.s[w8, 5, vgx4], {z16.s - z19.s} // 11000001-10100001-00011110-00001101499// CHECK-INST: fsub za.s[w8, 5, vgx4], { z16.s - z19.s }500// CHECK-ENCODING: [0x0d,0x1e,0xa1,0xc1]501// CHECK-ERROR: instruction requires: sme2502// CHECK-UNKNOWN: c1a11e0d <unknown>503 504fsub za.s[w8, 5], {z16.s - z19.s} // 11000001-10100001-00011110-00001101505// CHECK-INST: fsub za.s[w8, 5, vgx4], { z16.s - z19.s }506// CHECK-ENCODING: [0x0d,0x1e,0xa1,0xc1]507// CHECK-ERROR: instruction requires: sme2508// CHECK-UNKNOWN: c1a11e0d <unknown>509 510fsub za.s[w8, 1, vgx4], {z0.s - z3.s} // 11000001-10100001-00011100-00001001511// CHECK-INST: fsub za.s[w8, 1, vgx4], { z0.s - z3.s }512// CHECK-ENCODING: [0x09,0x1c,0xa1,0xc1]513// CHECK-ERROR: instruction requires: sme2514// CHECK-UNKNOWN: c1a11c09 <unknown>515 516fsub za.s[w8, 1], {z0.s - z3.s} // 11000001-10100001-00011100-00001001517// CHECK-INST: fsub za.s[w8, 1, vgx4], { z0.s - z3.s }518// CHECK-ENCODING: [0x09,0x1c,0xa1,0xc1]519// CHECK-ERROR: instruction requires: sme2520// CHECK-UNKNOWN: c1a11c09 <unknown>521 522fsub za.s[w10, 0, vgx4], {z16.s - z19.s} // 11000001-10100001-01011110-00001000523// CHECK-INST: fsub za.s[w10, 0, vgx4], { z16.s - z19.s }524// CHECK-ENCODING: [0x08,0x5e,0xa1,0xc1]525// CHECK-ERROR: instruction requires: sme2526// CHECK-UNKNOWN: c1a15e08 <unknown>527 528fsub za.s[w10, 0], {z16.s - z19.s} // 11000001-10100001-01011110-00001000529// CHECK-INST: fsub za.s[w10, 0, vgx4], { z16.s - z19.s }530// CHECK-ENCODING: [0x08,0x5e,0xa1,0xc1]531// CHECK-ERROR: instruction requires: sme2532// CHECK-UNKNOWN: c1a15e08 <unknown>533 534fsub za.s[w8, 0, vgx4], {z12.s - z15.s} // 11000001-10100001-00011101-10001000535// CHECK-INST: fsub za.s[w8, 0, vgx4], { z12.s - z15.s }536// CHECK-ENCODING: [0x88,0x1d,0xa1,0xc1]537// CHECK-ERROR: instruction requires: sme2538// CHECK-UNKNOWN: c1a11d88 <unknown>539 540fsub za.s[w8, 0], {z12.s - z15.s} // 11000001-10100001-00011101-10001000541// CHECK-INST: fsub za.s[w8, 0, vgx4], { z12.s - z15.s }542// CHECK-ENCODING: [0x88,0x1d,0xa1,0xc1]543// CHECK-ERROR: instruction requires: sme2544// CHECK-UNKNOWN: c1a11d88 <unknown>545 546fsub za.s[w10, 1, vgx4], {z0.s - z3.s} // 11000001-10100001-01011100-00001001547// CHECK-INST: fsub za.s[w10, 1, vgx4], { z0.s - z3.s }548// CHECK-ENCODING: [0x09,0x5c,0xa1,0xc1]549// CHECK-ERROR: instruction requires: sme2550// CHECK-UNKNOWN: c1a15c09 <unknown>551 552fsub za.s[w10, 1], {z0.s - z3.s} // 11000001-10100001-01011100-00001001553// CHECK-INST: fsub za.s[w10, 1, vgx4], { z0.s - z3.s }554// CHECK-ENCODING: [0x09,0x5c,0xa1,0xc1]555// CHECK-ERROR: instruction requires: sme2556// CHECK-UNKNOWN: c1a15c09 <unknown>557 558fsub za.s[w8, 5, vgx4], {z20.s - z23.s} // 11000001-10100001-00011110-10001101559// CHECK-INST: fsub za.s[w8, 5, vgx4], { z20.s - z23.s }560// CHECK-ENCODING: [0x8d,0x1e,0xa1,0xc1]561// CHECK-ERROR: instruction requires: sme2562// CHECK-UNKNOWN: c1a11e8d <unknown>563 564fsub za.s[w8, 5], {z20.s - z23.s} // 11000001-10100001-00011110-10001101565// CHECK-INST: fsub za.s[w8, 5, vgx4], { z20.s - z23.s }566// CHECK-ENCODING: [0x8d,0x1e,0xa1,0xc1]567// CHECK-ERROR: instruction requires: sme2568// CHECK-UNKNOWN: c1a11e8d <unknown>569 570fsub za.s[w11, 2, vgx4], {z8.s - z11.s} // 11000001-10100001-01111101-00001010571// CHECK-INST: fsub za.s[w11, 2, vgx4], { z8.s - z11.s }572// CHECK-ENCODING: [0x0a,0x7d,0xa1,0xc1]573// CHECK-ERROR: instruction requires: sme2574// CHECK-UNKNOWN: c1a17d0a <unknown>575 576fsub za.s[w11, 2], {z8.s - z11.s} // 11000001-10100001-01111101-00001010577// CHECK-INST: fsub za.s[w11, 2, vgx4], { z8.s - z11.s }578// CHECK-ENCODING: [0x0a,0x7d,0xa1,0xc1]579// CHECK-ERROR: instruction requires: sme2580// CHECK-UNKNOWN: c1a17d0a <unknown>581 582fsub za.s[w9, 7, vgx4], {z12.s - z15.s} // 11000001-10100001-00111101-10001111583// CHECK-INST: fsub za.s[w9, 7, vgx4], { z12.s - z15.s }584// CHECK-ENCODING: [0x8f,0x3d,0xa1,0xc1]585// CHECK-ERROR: instruction requires: sme2586// CHECK-UNKNOWN: c1a13d8f <unknown>587 588fsub za.s[w9, 7], {z12.s - z15.s} // 11000001-10100001-00111101-10001111589// CHECK-INST: fsub za.s[w9, 7, vgx4], { z12.s - z15.s }590// CHECK-ENCODING: [0x8f,0x3d,0xa1,0xc1]591// CHECK-ERROR: instruction requires: sme2592// CHECK-UNKNOWN: c1a13d8f <unknown>593 594