brintos

brintos / llvm-project-archived public Read only

0
0
Text · 41.5 KiB · df9ac80 Raw
878 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f16f16 < %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=+sme-f16f16 < %s \6// RUN:        | llvm-objdump -d --mattr=+sme-f16f16 - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f16f16 < %s \8// RUN:        | llvm-objdump -d --mattr=-sme2p1 - | FileCheck %s --check-prefix=CHECK-UNKNOWN9// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f16f16 < %s \10// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \11// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-f16f16 -disassemble -show-encoding \12// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST13 14fmla    za.h[w8, 0, vgx2], {z0.h, z1.h}, z0.h  // 11000001-00100000-00011100-0000000015// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z0.h, z1.h }, z0.h16// CHECK-ENCODING: [0x00,0x1c,0x20,0xc1]17// CHECK-ERROR: instruction requires: sme-f16f1618// CHECK-UNKNOWN: c1201c00 <unknown>19 20fmla    za.h[w8, 0], {z0.h - z1.h}, z0.h  // 11000001-00100000-00011100-0000000021// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z0.h, z1.h }, z0.h22// CHECK-ENCODING: [0x00,0x1c,0x20,0xc1]23// CHECK-ERROR: instruction requires: sme-f16f1624// CHECK-UNKNOWN: c1201c00 <unknown>25 26fmla    za.h[w10, 5, vgx2], {z10.h, z11.h}, z5.h  // 11000001-00100101-01011101-0100010127// CHECK-INST: fmla    za.h[w10, 5, vgx2], { z10.h, z11.h }, z5.h28// CHECK-ENCODING: [0x45,0x5d,0x25,0xc1]29// CHECK-ERROR: instruction requires: sme-f16f1630// CHECK-UNKNOWN: c1255d45 <unknown>31 32fmla    za.h[w10, 5], {z10.h - z11.h}, z5.h  // 11000001-00100101-01011101-0100010133// CHECK-INST: fmla    za.h[w10, 5, vgx2], { z10.h, z11.h }, z5.h34// CHECK-ENCODING: [0x45,0x5d,0x25,0xc1]35// CHECK-ERROR: instruction requires: sme-f16f1636// CHECK-UNKNOWN: c1255d45 <unknown>37 38fmla    za.h[w11, 7, vgx2], {z13.h, z14.h}, z8.h  // 11000001-00101000-01111101-1010011139// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z13.h, z14.h }, z8.h40// CHECK-ENCODING: [0xa7,0x7d,0x28,0xc1]41// CHECK-ERROR: instruction requires: sme-f16f1642// CHECK-UNKNOWN: c1287da7 <unknown>43 44fmla    za.h[w11, 7], {z13.h - z14.h}, z8.h  // 11000001-00101000-01111101-1010011145// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z13.h, z14.h }, z8.h46// CHECK-ENCODING: [0xa7,0x7d,0x28,0xc1]47// CHECK-ERROR: instruction requires: sme-f16f1648// CHECK-UNKNOWN: c1287da7 <unknown>49 50fmla    za.h[w11, 7, vgx2], {z31.h, z0.h}, z15.h  // 11000001-00101111-01111111-1110011151// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z31.h, z0.h }, z15.h52// CHECK-ENCODING: [0xe7,0x7f,0x2f,0xc1]53// CHECK-ERROR: instruction requires: sme-f16f1654// CHECK-UNKNOWN: c12f7fe7 <unknown>55 56fmla    za.h[w11, 7], {z31.h - z0.h}, z15.h  // 11000001-00101111-01111111-1110011157// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z31.h, z0.h }, z15.h58// CHECK-ENCODING: [0xe7,0x7f,0x2f,0xc1]59// CHECK-ERROR: instruction requires: sme-f16f1660// CHECK-UNKNOWN: c12f7fe7 <unknown>61 62fmla    za.h[w8, 5, vgx2], {z17.h, z18.h}, z0.h  // 11000001-00100000-00011110-0010010163// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z17.h, z18.h }, z0.h64// CHECK-ENCODING: [0x25,0x1e,0x20,0xc1]65// CHECK-ERROR: instruction requires: sme-f16f1666// CHECK-UNKNOWN: c1201e25 <unknown>67 68fmla    za.h[w8, 5], {z17.h - z18.h}, z0.h  // 11000001-00100000-00011110-0010010169// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z17.h, z18.h }, z0.h70// CHECK-ENCODING: [0x25,0x1e,0x20,0xc1]71// CHECK-ERROR: instruction requires: sme-f16f1672// CHECK-UNKNOWN: c1201e25 <unknown>73 74fmla    za.h[w8, 1, vgx2], {z1.h, z2.h}, z14.h  // 11000001-00101110-00011100-0010000175// CHECK-INST: fmla    za.h[w8, 1, vgx2], { z1.h, z2.h }, z14.h76// CHECK-ENCODING: [0x21,0x1c,0x2e,0xc1]77// CHECK-ERROR: instruction requires: sme-f16f1678// CHECK-UNKNOWN: c12e1c21 <unknown>79 80fmla    za.h[w8, 1], {z1.h - z2.h}, z14.h  // 11000001-00101110-00011100-0010000181// CHECK-INST: fmla    za.h[w8, 1, vgx2], { z1.h, z2.h }, z14.h82// CHECK-ENCODING: [0x21,0x1c,0x2e,0xc1]83// CHECK-ERROR: instruction requires: sme-f16f1684// CHECK-UNKNOWN: c12e1c21 <unknown>85 86fmla    za.h[w10, 0, vgx2], {z19.h, z20.h}, z4.h  // 11000001-00100100-01011110-0110000087// CHECK-INST: fmla    za.h[w10, 0, vgx2], { z19.h, z20.h }, z4.h88// CHECK-ENCODING: [0x60,0x5e,0x24,0xc1]89// CHECK-ERROR: instruction requires: sme-f16f1690// CHECK-UNKNOWN: c1245e60 <unknown>91 92fmla    za.h[w10, 0], {z19.h - z20.h}, z4.h  // 11000001-00100100-01011110-0110000093// CHECK-INST: fmla    za.h[w10, 0, vgx2], { z19.h, z20.h }, z4.h94// CHECK-ENCODING: [0x60,0x5e,0x24,0xc1]95// CHECK-ERROR: instruction requires: sme-f16f1696// CHECK-UNKNOWN: c1245e60 <unknown>97 98fmla    za.h[w8, 0, vgx2], {z12.h, z13.h}, z2.h  // 11000001-00100010-00011101-1000000099// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z12.h, z13.h }, z2.h100// CHECK-ENCODING: [0x80,0x1d,0x22,0xc1]101// CHECK-ERROR: instruction requires: sme-f16f16102// CHECK-UNKNOWN: c1221d80 <unknown>103 104fmla    za.h[w8, 0], {z12.h - z13.h}, z2.h  // 11000001-00100010-00011101-10000000105// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z12.h, z13.h }, z2.h106// CHECK-ENCODING: [0x80,0x1d,0x22,0xc1]107// CHECK-ERROR: instruction requires: sme-f16f16108// CHECK-UNKNOWN: c1221d80 <unknown>109 110fmla    za.h[w10, 1, vgx2], {z1.h, z2.h}, z10.h  // 11000001-00101010-01011100-00100001111// CHECK-INST: fmla    za.h[w10, 1, vgx2], { z1.h, z2.h }, z10.h112// CHECK-ENCODING: [0x21,0x5c,0x2a,0xc1]113// CHECK-ERROR: instruction requires: sme-f16f16114// CHECK-UNKNOWN: c12a5c21 <unknown>115 116fmla    za.h[w10, 1], {z1.h - z2.h}, z10.h  // 11000001-00101010-01011100-00100001117// CHECK-INST: fmla    za.h[w10, 1, vgx2], { z1.h, z2.h }, z10.h118// CHECK-ENCODING: [0x21,0x5c,0x2a,0xc1]119// CHECK-ERROR: instruction requires: sme-f16f16120// CHECK-UNKNOWN: c12a5c21 <unknown>121 122fmla    za.h[w8, 5, vgx2], {z22.h, z23.h}, z14.h  // 11000001-00101110-00011110-11000101123// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z22.h, z23.h }, z14.h124// CHECK-ENCODING: [0xc5,0x1e,0x2e,0xc1]125// CHECK-ERROR: instruction requires: sme-f16f16126// CHECK-UNKNOWN: c12e1ec5 <unknown>127 128fmla    za.h[w8, 5], {z22.h - z23.h}, z14.h  // 11000001-00101110-00011110-11000101129// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z22.h, z23.h }, z14.h130// CHECK-ENCODING: [0xc5,0x1e,0x2e,0xc1]131// CHECK-ERROR: instruction requires: sme-f16f16132// CHECK-UNKNOWN: c12e1ec5 <unknown>133 134fmla    za.h[w11, 2, vgx2], {z9.h, z10.h}, z1.h  // 11000001-00100001-01111101-00100010135// CHECK-INST: fmla    za.h[w11, 2, vgx2], { z9.h, z10.h }, z1.h136// CHECK-ENCODING: [0x22,0x7d,0x21,0xc1]137// CHECK-ERROR: instruction requires: sme-f16f16138// CHECK-UNKNOWN: c1217d22 <unknown>139 140fmla    za.h[w11, 2], {z9.h - z10.h}, z1.h  // 11000001-00100001-01111101-00100010141// CHECK-INST: fmla    za.h[w11, 2, vgx2], { z9.h, z10.h }, z1.h142// CHECK-ENCODING: [0x22,0x7d,0x21,0xc1]143// CHECK-ERROR: instruction requires: sme-f16f16144// CHECK-UNKNOWN: c1217d22 <unknown>145 146fmla    za.h[w9, 7, vgx2], {z12.h, z13.h}, z11.h  // 11000001-00101011-00111101-10000111147// CHECK-INST: fmla    za.h[w9, 7, vgx2], { z12.h, z13.h }, z11.h148// CHECK-ENCODING: [0x87,0x3d,0x2b,0xc1]149// CHECK-ERROR: instruction requires: sme-f16f16150// CHECK-UNKNOWN: c12b3d87 <unknown>151 152fmla    za.h[w9, 7], {z12.h - z13.h}, z11.h  // 11000001-00101011-00111101-10000111153// CHECK-INST: fmla    za.h[w9, 7, vgx2], { z12.h, z13.h }, z11.h154// CHECK-ENCODING: [0x87,0x3d,0x2b,0xc1]155// CHECK-ERROR: instruction requires: sme-f16f16156// CHECK-UNKNOWN: c12b3d87 <unknown>157 158fmla    za.h[w8, 0, vgx2], {z0.h, z1.h}, z0.h[0]  // 11000001-00010000-00010000-00000000159// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z0.h, z1.h }, z0.h[0]160// CHECK-ENCODING: [0x00,0x10,0x10,0xc1]161// CHECK-ERROR: instruction requires: sme-f16f16162// CHECK-UNKNOWN: c1101000 <unknown>163 164fmla    za.h[w8, 0], {z0.h - z1.h}, z0.h[0]  // 11000001-00010000-00010000-00000000165// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z0.h, z1.h }, z0.h[0]166// CHECK-ENCODING: [0x00,0x10,0x10,0xc1]167// CHECK-ERROR: instruction requires: sme-f16f16168// CHECK-UNKNOWN: c1101000 <unknown>169 170fmla    za.h[w10, 5, vgx2], {z10.h, z11.h}, z5.h[2]  // 11000001-00010101-01010101-01000101171// CHECK-INST: fmla    za.h[w10, 5, vgx2], { z10.h, z11.h }, z5.h[2]172// CHECK-ENCODING: [0x45,0x55,0x15,0xc1]173// CHECK-ERROR: instruction requires: sme-f16f16174// CHECK-UNKNOWN: c1155545 <unknown>175 176fmla    za.h[w10, 5], {z10.h - z11.h}, z5.h[2]  // 11000001-00010101-01010101-01000101177// CHECK-INST: fmla    za.h[w10, 5, vgx2], { z10.h, z11.h }, z5.h[2]178// CHECK-ENCODING: [0x45,0x55,0x15,0xc1]179// CHECK-ERROR: instruction requires: sme-f16f16180// CHECK-UNKNOWN: c1155545 <unknown>181 182fmla    za.h[w11, 7, vgx2], {z12.h, z13.h}, z8.h[6]  // 11000001-00011000-01111101-10000111183// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z12.h, z13.h }, z8.h[6]184// CHECK-ENCODING: [0x87,0x7d,0x18,0xc1]185// CHECK-ERROR: instruction requires: sme-f16f16186// CHECK-UNKNOWN: c1187d87 <unknown>187 188fmla    za.h[w11, 7], {z12.h - z13.h}, z8.h[6]  // 11000001-00011000-01111101-10000111189// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z12.h, z13.h }, z8.h[6]190// CHECK-ENCODING: [0x87,0x7d,0x18,0xc1]191// CHECK-ERROR: instruction requires: sme-f16f16192// CHECK-UNKNOWN: c1187d87 <unknown>193 194fmla    za.h[w11, 7, vgx2], {z30.h, z31.h}, z15.h[7]  // 11000001-00011111-01111111-11001111195// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z30.h, z31.h }, z15.h[7]196// CHECK-ENCODING: [0xcf,0x7f,0x1f,0xc1]197// CHECK-ERROR: instruction requires: sme-f16f16198// CHECK-UNKNOWN: c11f7fcf <unknown>199 200fmla    za.h[w11, 7], {z30.h - z31.h}, z15.h[7]  // 11000001-00011111-01111111-11001111201// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z30.h, z31.h }, z15.h[7]202// CHECK-ENCODING: [0xcf,0x7f,0x1f,0xc1]203// CHECK-ERROR: instruction requires: sme-f16f16204// CHECK-UNKNOWN: c11f7fcf <unknown>205 206fmla    za.h[w8, 5, vgx2], {z16.h, z17.h}, z0.h[6]  // 11000001-00010000-00011110-00000101207// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z16.h, z17.h }, z0.h[6]208// CHECK-ENCODING: [0x05,0x1e,0x10,0xc1]209// CHECK-ERROR: instruction requires: sme-f16f16210// CHECK-UNKNOWN: c1101e05 <unknown>211 212fmla    za.h[w8, 5], {z16.h - z17.h}, z0.h[6]  // 11000001-00010000-00011110-00000101213// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z16.h, z17.h }, z0.h[6]214// CHECK-ENCODING: [0x05,0x1e,0x10,0xc1]215// CHECK-ERROR: instruction requires: sme-f16f16216// CHECK-UNKNOWN: c1101e05 <unknown>217 218fmla    za.h[w8, 1, vgx2], {z0.h, z1.h}, z14.h[2]  // 11000001-00011110-00010100-00000001219// CHECK-INST: fmla    za.h[w8, 1, vgx2], { z0.h, z1.h }, z14.h[2]220// CHECK-ENCODING: [0x01,0x14,0x1e,0xc1]221// CHECK-ERROR: instruction requires: sme-f16f16222// CHECK-UNKNOWN: c11e1401 <unknown>223 224fmla    za.h[w8, 1], {z0.h - z1.h}, z14.h[2]  // 11000001-00011110-00010100-00000001225// CHECK-INST: fmla    za.h[w8, 1, vgx2], { z0.h, z1.h }, z14.h[2]226// CHECK-ENCODING: [0x01,0x14,0x1e,0xc1]227// CHECK-ERROR: instruction requires: sme-f16f16228// CHECK-UNKNOWN: c11e1401 <unknown>229 230fmla    za.h[w10, 0, vgx2], {z18.h, z19.h}, z4.h[3]  // 11000001-00010100-01010110-01001000231// CHECK-INST: fmla    za.h[w10, 0, vgx2], { z18.h, z19.h }, z4.h[3]232// CHECK-ENCODING: [0x48,0x56,0x14,0xc1]233// CHECK-ERROR: instruction requires: sme-f16f16234// CHECK-UNKNOWN: c1145648 <unknown>235 236fmla    za.h[w10, 0], {z18.h - z19.h}, z4.h[3]  // 11000001-00010100-01010110-01001000237// CHECK-INST: fmla    za.h[w10, 0, vgx2], { z18.h, z19.h }, z4.h[3]238// CHECK-ENCODING: [0x48,0x56,0x14,0xc1]239// CHECK-ERROR: instruction requires: sme-f16f16240// CHECK-UNKNOWN: c1145648 <unknown>241 242fmla    za.h[w8, 0, vgx2], {z12.h, z13.h}, z2.h[4]  // 11000001-00010010-00011001-10000000243// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z12.h, z13.h }, z2.h[4]244// CHECK-ENCODING: [0x80,0x19,0x12,0xc1]245// CHECK-ERROR: instruction requires: sme-f16f16246// CHECK-UNKNOWN: c1121980 <unknown>247 248fmla    za.h[w8, 0], {z12.h - z13.h}, z2.h[4]  // 11000001-00010010-00011001-10000000249// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z12.h, z13.h }, z2.h[4]250// CHECK-ENCODING: [0x80,0x19,0x12,0xc1]251// CHECK-ERROR: instruction requires: sme-f16f16252// CHECK-UNKNOWN: c1121980 <unknown>253 254fmla    za.h[w10, 1, vgx2], {z0.h, z1.h}, z10.h[4]  // 11000001-00011010-01011000-00000001255// CHECK-INST: fmla    za.h[w10, 1, vgx2], { z0.h, z1.h }, z10.h[4]256// CHECK-ENCODING: [0x01,0x58,0x1a,0xc1]257// CHECK-ERROR: instruction requires: sme-f16f16258// CHECK-UNKNOWN: c11a5801 <unknown>259 260fmla    za.h[w10, 1], {z0.h - z1.h}, z10.h[4]  // 11000001-00011010-01011000-00000001261// CHECK-INST: fmla    za.h[w10, 1, vgx2], { z0.h, z1.h }, z10.h[4]262// CHECK-ENCODING: [0x01,0x58,0x1a,0xc1]263// CHECK-ERROR: instruction requires: sme-f16f16264// CHECK-UNKNOWN: c11a5801 <unknown>265 266fmla    za.h[w8, 5, vgx2], {z22.h, z23.h}, z14.h[5]  // 11000001-00011110-00011010-11001101267// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z22.h, z23.h }, z14.h[5]268// CHECK-ENCODING: [0xcd,0x1a,0x1e,0xc1]269// CHECK-ERROR: instruction requires: sme-f16f16270// CHECK-UNKNOWN: c11e1acd <unknown>271 272fmla    za.h[w8, 5], {z22.h - z23.h}, z14.h[5]  // 11000001-00011110-00011010-11001101273// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z22.h, z23.h }, z14.h[5]274// CHECK-ENCODING: [0xcd,0x1a,0x1e,0xc1]275// CHECK-ERROR: instruction requires: sme-f16f16276// CHECK-UNKNOWN: c11e1acd <unknown>277 278fmla    za.h[w11, 2, vgx2], {z8.h, z9.h}, z1.h[2]  // 11000001-00010001-01110101-00000010279// CHECK-INST: fmla    za.h[w11, 2, vgx2], { z8.h, z9.h }, z1.h[2]280// CHECK-ENCODING: [0x02,0x75,0x11,0xc1]281// CHECK-ERROR: instruction requires: sme-f16f16282// CHECK-UNKNOWN: c1117502 <unknown>283 284fmla    za.h[w11, 2], {z8.h - z9.h}, z1.h[2]  // 11000001-00010001-01110101-00000010285// CHECK-INST: fmla    za.h[w11, 2, vgx2], { z8.h, z9.h }, z1.h[2]286// CHECK-ENCODING: [0x02,0x75,0x11,0xc1]287// CHECK-ERROR: instruction requires: sme-f16f16288// CHECK-UNKNOWN: c1117502 <unknown>289 290fmla    za.h[w9, 7, vgx2], {z12.h, z13.h}, z11.h[4]  // 11000001-00011011-00111001-10000111291// CHECK-INST: fmla    za.h[w9, 7, vgx2], { z12.h, z13.h }, z11.h[4]292// CHECK-ENCODING: [0x87,0x39,0x1b,0xc1]293// CHECK-ERROR: instruction requires: sme-f16f16294// CHECK-UNKNOWN: c11b3987 <unknown>295 296fmla    za.h[w9, 7], {z12.h - z13.h}, z11.h[4]  // 11000001-00011011-00111001-10000111297// CHECK-INST: fmla    za.h[w9, 7, vgx2], { z12.h, z13.h }, z11.h[4]298// CHECK-ENCODING: [0x87,0x39,0x1b,0xc1]299// CHECK-ERROR: instruction requires: sme-f16f16300// CHECK-UNKNOWN: c11b3987 <unknown>301 302fmla    za.h[w8, 0, vgx2], {z0.h, z1.h}, {z0.h, z1.h}  // 11000001-10100000-00010000-00001000303// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z0.h, z1.h }, { z0.h, z1.h }304// CHECK-ENCODING: [0x08,0x10,0xa0,0xc1]305// CHECK-ERROR: instruction requires: sme-f16f16306// CHECK-UNKNOWN: c1a01008 <unknown>307 308fmla    za.h[w8, 0], {z0.h - z1.h}, {z0.h - z1.h}  // 11000001-10100000-00010000-00001000309// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z0.h, z1.h }, { z0.h, z1.h }310// CHECK-ENCODING: [0x08,0x10,0xa0,0xc1]311// CHECK-ERROR: instruction requires: sme-f16f16312// CHECK-UNKNOWN: c1a01008 <unknown>313 314fmla    za.h[w10, 5, vgx2], {z10.h, z11.h}, {z20.h, z21.h}  // 11000001-10110100-01010001-01001101315// CHECK-INST: fmla    za.h[w10, 5, vgx2], { z10.h, z11.h }, { z20.h, z21.h }316// CHECK-ENCODING: [0x4d,0x51,0xb4,0xc1]317// CHECK-ERROR: instruction requires: sme-f16f16318// CHECK-UNKNOWN: c1b4514d <unknown>319 320fmla    za.h[w10, 5], {z10.h - z11.h}, {z20.h - z21.h}  // 11000001-10110100-01010001-01001101321// CHECK-INST: fmla    za.h[w10, 5, vgx2], { z10.h, z11.h }, { z20.h, z21.h }322// CHECK-ENCODING: [0x4d,0x51,0xb4,0xc1]323// CHECK-ERROR: instruction requires: sme-f16f16324// CHECK-UNKNOWN: c1b4514d <unknown>325 326fmla    za.h[w11, 7, vgx2], {z12.h, z13.h}, {z8.h, z9.h}  // 11000001-10101000-01110001-10001111327// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }328// CHECK-ENCODING: [0x8f,0x71,0xa8,0xc1]329// CHECK-ERROR: instruction requires: sme-f16f16330// CHECK-UNKNOWN: c1a8718f <unknown>331 332fmla    za.h[w11, 7], {z12.h - z13.h}, {z8.h - z9.h}  // 11000001-10101000-01110001-10001111333// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z12.h, z13.h }, { z8.h, z9.h }334// CHECK-ENCODING: [0x8f,0x71,0xa8,0xc1]335// CHECK-ERROR: instruction requires: sme-f16f16336// CHECK-UNKNOWN: c1a8718f <unknown>337 338fmla    za.h[w11, 7, vgx2], {z30.h, z31.h}, {z30.h, z31.h}  // 11000001-10111110-01110011-11001111339// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }340// CHECK-ENCODING: [0xcf,0x73,0xbe,0xc1]341// CHECK-ERROR: instruction requires: sme-f16f16342// CHECK-UNKNOWN: c1be73cf <unknown>343 344fmla    za.h[w11, 7], {z30.h - z31.h}, {z30.h - z31.h}  // 11000001-10111110-01110011-11001111345// CHECK-INST: fmla    za.h[w11, 7, vgx2], { z30.h, z31.h }, { z30.h, z31.h }346// CHECK-ENCODING: [0xcf,0x73,0xbe,0xc1]347// CHECK-ERROR: instruction requires: sme-f16f16348// CHECK-UNKNOWN: c1be73cf <unknown>349 350fmla    za.h[w8, 5, vgx2], {z16.h, z17.h}, {z16.h, z17.h}  // 11000001-10110000-00010010-00001101351// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z16.h, z17.h }, { z16.h, z17.h }352// CHECK-ENCODING: [0x0d,0x12,0xb0,0xc1]353// CHECK-ERROR: instruction requires: sme-f16f16354// CHECK-UNKNOWN: c1b0120d <unknown>355 356fmla    za.h[w8, 5], {z16.h - z17.h}, {z16.h - z17.h}  // 11000001-10110000-00010010-00001101357// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z16.h, z17.h }, { z16.h, z17.h }358// CHECK-ENCODING: [0x0d,0x12,0xb0,0xc1]359// CHECK-ERROR: instruction requires: sme-f16f16360// CHECK-UNKNOWN: c1b0120d <unknown>361 362fmla    za.h[w8, 1, vgx2], {z0.h, z1.h}, {z30.h, z31.h}  // 11000001-10111110-00010000-00001001363// CHECK-INST: fmla    za.h[w8, 1, vgx2], { z0.h, z1.h }, { z30.h, z31.h }364// CHECK-ENCODING: [0x09,0x10,0xbe,0xc1]365// CHECK-ERROR: instruction requires: sme-f16f16366// CHECK-UNKNOWN: c1be1009 <unknown>367 368fmla    za.h[w8, 1], {z0.h - z1.h}, {z30.h - z31.h}  // 11000001-10111110-00010000-00001001369// CHECK-INST: fmla    za.h[w8, 1, vgx2], { z0.h, z1.h }, { z30.h, z31.h }370// CHECK-ENCODING: [0x09,0x10,0xbe,0xc1]371// CHECK-ERROR: instruction requires: sme-f16f16372// CHECK-UNKNOWN: c1be1009 <unknown>373 374fmla    za.h[w10, 0, vgx2], {z18.h, z19.h}, {z20.h, z21.h}  // 11000001-10110100-01010010-01001000375// CHECK-INST: fmla    za.h[w10, 0, vgx2], { z18.h, z19.h }, { z20.h, z21.h }376// CHECK-ENCODING: [0x48,0x52,0xb4,0xc1]377// CHECK-ERROR: instruction requires: sme-f16f16378// CHECK-UNKNOWN: c1b45248 <unknown>379 380fmla    za.h[w10, 0], {z18.h - z19.h}, {z20.h - z21.h}  // 11000001-10110100-01010010-01001000381// CHECK-INST: fmla    za.h[w10, 0, vgx2], { z18.h, z19.h }, { z20.h, z21.h }382// CHECK-ENCODING: [0x48,0x52,0xb4,0xc1]383// CHECK-ERROR: instruction requires: sme-f16f16384// CHECK-UNKNOWN: c1b45248 <unknown>385 386fmla    za.h[w8, 0, vgx2], {z12.h, z13.h}, {z2.h, z3.h}  // 11000001-10100010-00010001-10001000387// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z12.h, z13.h }, { z2.h, z3.h }388// CHECK-ENCODING: [0x88,0x11,0xa2,0xc1]389// CHECK-ERROR: instruction requires: sme-f16f16390// CHECK-UNKNOWN: c1a21188 <unknown>391 392fmla    za.h[w8, 0], {z12.h - z13.h}, {z2.h - z3.h}  // 11000001-10100010-00010001-10001000393// CHECK-INST: fmla    za.h[w8, 0, vgx2], { z12.h, z13.h }, { z2.h, z3.h }394// CHECK-ENCODING: [0x88,0x11,0xa2,0xc1]395// CHECK-ERROR: instruction requires: sme-f16f16396// CHECK-UNKNOWN: c1a21188 <unknown>397 398fmla    za.h[w10, 1, vgx2], {z0.h, z1.h}, {z26.h, z27.h}  // 11000001-10111010-01010000-00001001399// CHECK-INST: fmla    za.h[w10, 1, vgx2], { z0.h, z1.h }, { z26.h, z27.h }400// CHECK-ENCODING: [0x09,0x50,0xba,0xc1]401// CHECK-ERROR: instruction requires: sme-f16f16402// CHECK-UNKNOWN: c1ba5009 <unknown>403 404fmla    za.h[w10, 1], {z0.h - z1.h}, {z26.h - z27.h}  // 11000001-10111010-01010000-00001001405// CHECK-INST: fmla    za.h[w10, 1, vgx2], { z0.h, z1.h }, { z26.h, z27.h }406// CHECK-ENCODING: [0x09,0x50,0xba,0xc1]407// CHECK-ERROR: instruction requires: sme-f16f16408// CHECK-UNKNOWN: c1ba5009 <unknown>409 410fmla    za.h[w8, 5, vgx2], {z22.h, z23.h}, {z30.h, z31.h}  // 11000001-10111110-00010010-11001101411// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z22.h, z23.h }, { z30.h, z31.h }412// CHECK-ENCODING: [0xcd,0x12,0xbe,0xc1]413// CHECK-ERROR: instruction requires: sme-f16f16414// CHECK-UNKNOWN: c1be12cd <unknown>415 416fmla    za.h[w8, 5], {z22.h - z23.h}, {z30.h - z31.h}  // 11000001-10111110-00010010-11001101417// CHECK-INST: fmla    za.h[w8, 5, vgx2], { z22.h, z23.h }, { z30.h, z31.h }418// CHECK-ENCODING: [0xcd,0x12,0xbe,0xc1]419// CHECK-ERROR: instruction requires: sme-f16f16420// CHECK-UNKNOWN: c1be12cd <unknown>421 422fmla    za.h[w11, 2, vgx2], {z8.h, z9.h}, {z0.h, z1.h}  // 11000001-10100000-01110001-00001010423// CHECK-INST: fmla    za.h[w11, 2, vgx2], { z8.h, z9.h }, { z0.h, z1.h }424// CHECK-ENCODING: [0x0a,0x71,0xa0,0xc1]425// CHECK-ERROR: instruction requires: sme-f16f16426// CHECK-UNKNOWN: c1a0710a <unknown>427 428fmla    za.h[w11, 2], {z8.h - z9.h}, {z0.h - z1.h}  // 11000001-10100000-01110001-00001010429// CHECK-INST: fmla    za.h[w11, 2, vgx2], { z8.h, z9.h }, { z0.h, z1.h }430// CHECK-ENCODING: [0x0a,0x71,0xa0,0xc1]431// CHECK-ERROR: instruction requires: sme-f16f16432// CHECK-UNKNOWN: c1a0710a <unknown>433 434fmla    za.h[w9, 7, vgx2], {z12.h, z13.h}, {z10.h, z11.h}  // 11000001-10101010-00110001-10001111435// CHECK-INST: fmla    za.h[w9, 7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }436// CHECK-ENCODING: [0x8f,0x31,0xaa,0xc1]437// CHECK-ERROR: instruction requires: sme-f16f16438// CHECK-UNKNOWN: c1aa318f <unknown>439 440fmla    za.h[w9, 7], {z12.h - z13.h}, {z10.h - z11.h}  // 11000001-10101010-00110001-10001111441// CHECK-INST: fmla    za.h[w9, 7, vgx2], { z12.h, z13.h }, { z10.h, z11.h }442// CHECK-ENCODING: [0x8f,0x31,0xaa,0xc1]443// CHECK-ERROR: instruction requires: sme-f16f16444// CHECK-UNKNOWN: c1aa318f <unknown>445 446 447fmla    za.h[w8, 0, vgx4], {z0.h - z3.h}, z0.h  // 11000001-00110000-00011100-00000000448// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z0.h - z3.h }, z0.h449// CHECK-ENCODING: [0x00,0x1c,0x30,0xc1]450// CHECK-ERROR: instruction requires: sme-f16f16451// CHECK-UNKNOWN: c1301c00 <unknown>452 453fmla    za.h[w8, 0], {z0.h - z3.h}, z0.h  // 11000001-00110000-00011100-00000000454// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z0.h - z3.h }, z0.h455// CHECK-ENCODING: [0x00,0x1c,0x30,0xc1]456// CHECK-ERROR: instruction requires: sme-f16f16457// CHECK-UNKNOWN: c1301c00 <unknown>458 459fmla    za.h[w10, 5, vgx4], {z10.h - z13.h}, z5.h  // 11000001-00110101-01011101-01000101460// CHECK-INST: fmla    za.h[w10, 5, vgx4], { z10.h - z13.h }, z5.h461// CHECK-ENCODING: [0x45,0x5d,0x35,0xc1]462// CHECK-ERROR: instruction requires: sme-f16f16463// CHECK-UNKNOWN: c1355d45 <unknown>464 465fmla    za.h[w10, 5], {z10.h - z13.h}, z5.h  // 11000001-00110101-01011101-01000101466// CHECK-INST: fmla    za.h[w10, 5, vgx4], { z10.h - z13.h }, z5.h467// CHECK-ENCODING: [0x45,0x5d,0x35,0xc1]468// CHECK-ERROR: instruction requires: sme-f16f16469// CHECK-UNKNOWN: c1355d45 <unknown>470 471fmla    za.h[w11, 7, vgx4], {z13.h - z16.h}, z8.h  // 11000001-00111000-01111101-10100111472// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z13.h - z16.h }, z8.h473// CHECK-ENCODING: [0xa7,0x7d,0x38,0xc1]474// CHECK-ERROR: instruction requires: sme-f16f16475// CHECK-UNKNOWN: c1387da7 <unknown>476 477fmla    za.h[w11, 7], {z13.h - z16.h}, z8.h  // 11000001-00111000-01111101-10100111478// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z13.h - z16.h }, z8.h479// CHECK-ENCODING: [0xa7,0x7d,0x38,0xc1]480// CHECK-ERROR: instruction requires: sme-f16f16481// CHECK-UNKNOWN: c1387da7 <unknown>482 483fmla    za.h[w11, 7, vgx4], {z31.h, z0.h, z1.h, z2.h}, z15.h  // 11000001-00111111-01111111-11100111484// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h485// CHECK-ENCODING: [0xe7,0x7f,0x3f,0xc1]486// CHECK-ERROR: instruction requires: sme-f16f16487// CHECK-UNKNOWN: c13f7fe7 <unknown>488 489fmla    za.h[w11, 7], {z31.h, z0.h, z1.h, z2.h}, z15.h  // 11000001-00111111-01111111-11100111490// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z31.h, z0.h, z1.h, z2.h }, z15.h491// CHECK-ENCODING: [0xe7,0x7f,0x3f,0xc1]492// CHECK-ERROR: instruction requires: sme-f16f16493// CHECK-UNKNOWN: c13f7fe7 <unknown>494 495fmla    za.h[w8, 5, vgx4], {z17.h - z20.h}, z0.h  // 11000001-00110000-00011110-00100101496// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z17.h - z20.h }, z0.h497// CHECK-ENCODING: [0x25,0x1e,0x30,0xc1]498// CHECK-ERROR: instruction requires: sme-f16f16499// CHECK-UNKNOWN: c1301e25 <unknown>500 501fmla    za.h[w8, 5], {z17.h - z20.h}, z0.h  // 11000001-00110000-00011110-00100101502// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z17.h - z20.h }, z0.h503// CHECK-ENCODING: [0x25,0x1e,0x30,0xc1]504// CHECK-ERROR: instruction requires: sme-f16f16505// CHECK-UNKNOWN: c1301e25 <unknown>506 507fmla    za.h[w8, 1, vgx4], {z1.h - z4.h}, z14.h  // 11000001-00111110-00011100-00100001508// CHECK-INST: fmla    za.h[w8, 1, vgx4], { z1.h - z4.h }, z14.h509// CHECK-ENCODING: [0x21,0x1c,0x3e,0xc1]510// CHECK-ERROR: instruction requires: sme-f16f16511// CHECK-UNKNOWN: c13e1c21 <unknown>512 513fmla    za.h[w8, 1], {z1.h - z4.h}, z14.h  // 11000001-00111110-00011100-00100001514// CHECK-INST: fmla    za.h[w8, 1, vgx4], { z1.h - z4.h }, z14.h515// CHECK-ENCODING: [0x21,0x1c,0x3e,0xc1]516// CHECK-ERROR: instruction requires: sme-f16f16517// CHECK-UNKNOWN: c13e1c21 <unknown>518 519fmla    za.h[w10, 0, vgx4], {z19.h - z22.h}, z4.h  // 11000001-00110100-01011110-01100000520// CHECK-INST: fmla    za.h[w10, 0, vgx4], { z19.h - z22.h }, z4.h521// CHECK-ENCODING: [0x60,0x5e,0x34,0xc1]522// CHECK-ERROR: instruction requires: sme-f16f16523// CHECK-UNKNOWN: c1345e60 <unknown>524 525fmla    za.h[w10, 0], {z19.h - z22.h}, z4.h  // 11000001-00110100-01011110-01100000526// CHECK-INST: fmla    za.h[w10, 0, vgx4], { z19.h - z22.h }, z4.h527// CHECK-ENCODING: [0x60,0x5e,0x34,0xc1]528// CHECK-ERROR: instruction requires: sme-f16f16529// CHECK-UNKNOWN: c1345e60 <unknown>530 531fmla    za.h[w8, 0, vgx4], {z12.h - z15.h}, z2.h  // 11000001-00110010-00011101-10000000532// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z12.h - z15.h }, z2.h533// CHECK-ENCODING: [0x80,0x1d,0x32,0xc1]534// CHECK-ERROR: instruction requires: sme-f16f16535// CHECK-UNKNOWN: c1321d80 <unknown>536 537fmla    za.h[w8, 0], {z12.h - z15.h}, z2.h  // 11000001-00110010-00011101-10000000538// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z12.h - z15.h }, z2.h539// CHECK-ENCODING: [0x80,0x1d,0x32,0xc1]540// CHECK-ERROR: instruction requires: sme-f16f16541// CHECK-UNKNOWN: c1321d80 <unknown>542 543fmla    za.h[w10, 1, vgx4], {z1.h - z4.h}, z10.h  // 11000001-00111010-01011100-00100001544// CHECK-INST: fmla    za.h[w10, 1, vgx4], { z1.h - z4.h }, z10.h545// CHECK-ENCODING: [0x21,0x5c,0x3a,0xc1]546// CHECK-ERROR: instruction requires: sme-f16f16547// CHECK-UNKNOWN: c13a5c21 <unknown>548 549fmla    za.h[w10, 1], {z1.h - z4.h}, z10.h  // 11000001-00111010-01011100-00100001550// CHECK-INST: fmla    za.h[w10, 1, vgx4], { z1.h - z4.h }, z10.h551// CHECK-ENCODING: [0x21,0x5c,0x3a,0xc1]552// CHECK-ERROR: instruction requires: sme-f16f16553// CHECK-UNKNOWN: c13a5c21 <unknown>554 555fmla    za.h[w8, 5, vgx4], {z22.h - z25.h}, z14.h  // 11000001-00111110-00011110-11000101556// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z22.h - z25.h }, z14.h557// CHECK-ENCODING: [0xc5,0x1e,0x3e,0xc1]558// CHECK-ERROR: instruction requires: sme-f16f16559// CHECK-UNKNOWN: c13e1ec5 <unknown>560 561fmla    za.h[w8, 5], {z22.h - z25.h}, z14.h  // 11000001-00111110-00011110-11000101562// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z22.h - z25.h }, z14.h563// CHECK-ENCODING: [0xc5,0x1e,0x3e,0xc1]564// CHECK-ERROR: instruction requires: sme-f16f16565// CHECK-UNKNOWN: c13e1ec5 <unknown>566 567fmla    za.h[w11, 2, vgx4], {z9.h - z12.h}, z1.h  // 11000001-00110001-01111101-00100010568// CHECK-INST: fmla    za.h[w11, 2, vgx4], { z9.h - z12.h }, z1.h569// CHECK-ENCODING: [0x22,0x7d,0x31,0xc1]570// CHECK-ERROR: instruction requires: sme-f16f16571// CHECK-UNKNOWN: c1317d22 <unknown>572 573fmla    za.h[w11, 2], {z9.h - z12.h}, z1.h  // 11000001-00110001-01111101-00100010574// CHECK-INST: fmla    za.h[w11, 2, vgx4], { z9.h - z12.h }, z1.h575// CHECK-ENCODING: [0x22,0x7d,0x31,0xc1]576// CHECK-ERROR: instruction requires: sme-f16f16577// CHECK-UNKNOWN: c1317d22 <unknown>578 579fmla    za.h[w9, 7, vgx4], {z12.h - z15.h}, z11.h  // 11000001-00111011-00111101-10000111580// CHECK-INST: fmla    za.h[w9, 7, vgx4], { z12.h - z15.h }, z11.h581// CHECK-ENCODING: [0x87,0x3d,0x3b,0xc1]582// CHECK-ERROR: instruction requires: sme-f16f16583// CHECK-UNKNOWN: c13b3d87 <unknown>584 585fmla    za.h[w9, 7], {z12.h - z15.h}, z11.h  // 11000001-00111011-00111101-10000111586// CHECK-INST: fmla    za.h[w9, 7, vgx4], { z12.h - z15.h }, z11.h587// CHECK-ENCODING: [0x87,0x3d,0x3b,0xc1]588// CHECK-ERROR: instruction requires: sme-f16f16589// CHECK-UNKNOWN: c13b3d87 <unknown>590 591fmla    za.h[w8, 0, vgx4], {z0.h - z3.h}, z0.h[0]  // 11000001-00010000-10010000-00000000592// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0]593// CHECK-ENCODING: [0x00,0x90,0x10,0xc1]594// CHECK-ERROR: instruction requires: sme-f16f16595// CHECK-UNKNOWN: c1109000 <unknown>596 597fmla    za.h[w8, 0], {z0.h - z3.h}, z0.h[0]  // 11000001-00010000-10010000-00000000598// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z0.h - z3.h }, z0.h[0]599// CHECK-ENCODING: [0x00,0x90,0x10,0xc1]600// CHECK-ERROR: instruction requires: sme-f16f16601// CHECK-UNKNOWN: c1109000 <unknown>602 603fmla    za.h[w10, 5, vgx4], {z8.h - z11.h}, z5.h[2]  // 11000001-00010101-11010101-00000101604// CHECK-INST: fmla    za.h[w10, 5, vgx4], { z8.h - z11.h }, z5.h[2]605// CHECK-ENCODING: [0x05,0xd5,0x15,0xc1]606// CHECK-ERROR: instruction requires: sme-f16f16607// CHECK-UNKNOWN: c115d505 <unknown>608 609fmla    za.h[w10, 5], {z8.h - z11.h}, z5.h[2]  // 11000001-00010101-11010101-00000101610// CHECK-INST: fmla    za.h[w10, 5, vgx4], { z8.h - z11.h }, z5.h[2]611// CHECK-ENCODING: [0x05,0xd5,0x15,0xc1]612// CHECK-ERROR: instruction requires: sme-f16f16613// CHECK-UNKNOWN: c115d505 <unknown>614 615fmla    za.h[w11, 7, vgx4], {z12.h - z15.h}, z8.h[6]  // 11000001-00011000-11111101-10000111616// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z12.h - z15.h }, z8.h[6]617// CHECK-ENCODING: [0x87,0xfd,0x18,0xc1]618// CHECK-ERROR: instruction requires: sme-f16f16619// CHECK-UNKNOWN: c118fd87 <unknown>620 621fmla    za.h[w11, 7], {z12.h - z15.h}, z8.h[6]  // 11000001-00011000-11111101-10000111622// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z12.h - z15.h }, z8.h[6]623// CHECK-ENCODING: [0x87,0xfd,0x18,0xc1]624// CHECK-ERROR: instruction requires: sme-f16f16625// CHECK-UNKNOWN: c118fd87 <unknown>626 627fmla    za.h[w11, 7, vgx4], {z28.h - z31.h}, z15.h[7]  // 11000001-00011111-11111111-10001111628// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z28.h - z31.h }, z15.h[7]629// CHECK-ENCODING: [0x8f,0xff,0x1f,0xc1]630// CHECK-ERROR: instruction requires: sme-f16f16631// CHECK-UNKNOWN: c11fff8f <unknown>632 633fmla    za.h[w11, 7], {z28.h - z31.h}, z15.h[7]  // 11000001-00011111-11111111-10001111634// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z28.h - z31.h }, z15.h[7]635// CHECK-ENCODING: [0x8f,0xff,0x1f,0xc1]636// CHECK-ERROR: instruction requires: sme-f16f16637// CHECK-UNKNOWN: c11fff8f <unknown>638 639fmla    za.h[w8, 5, vgx4], {z16.h - z19.h}, z0.h[6]  // 11000001-00010000-10011110-00000101640// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z16.h - z19.h }, z0.h[6]641// CHECK-ENCODING: [0x05,0x9e,0x10,0xc1]642// CHECK-ERROR: instruction requires: sme-f16f16643// CHECK-UNKNOWN: c1109e05 <unknown>644 645fmla    za.h[w8, 5], {z16.h - z19.h}, z0.h[6]  // 11000001-00010000-10011110-00000101646// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z16.h - z19.h }, z0.h[6]647// CHECK-ENCODING: [0x05,0x9e,0x10,0xc1]648// CHECK-ERROR: instruction requires: sme-f16f16649// CHECK-UNKNOWN: c1109e05 <unknown>650 651fmla    za.h[w8, 1, vgx4], {z0.h - z3.h}, z14.h[2]  // 11000001-00011110-10010100-00000001652// CHECK-INST: fmla    za.h[w8, 1, vgx4], { z0.h - z3.h }, z14.h[2]653// CHECK-ENCODING: [0x01,0x94,0x1e,0xc1]654// CHECK-ERROR: instruction requires: sme-f16f16655// CHECK-UNKNOWN: c11e9401 <unknown>656 657fmla    za.h[w8, 1], {z0.h - z3.h}, z14.h[2]  // 11000001-00011110-10010100-00000001658// CHECK-INST: fmla    za.h[w8, 1, vgx4], { z0.h - z3.h }, z14.h[2]659// CHECK-ENCODING: [0x01,0x94,0x1e,0xc1]660// CHECK-ERROR: instruction requires: sme-f16f16661// CHECK-UNKNOWN: c11e9401 <unknown>662 663fmla    za.h[w10, 0, vgx4], {z16.h - z19.h}, z4.h[3]  // 11000001-00010100-11010110-00001000664// CHECK-INST: fmla    za.h[w10, 0, vgx4], { z16.h - z19.h }, z4.h[3]665// CHECK-ENCODING: [0x08,0xd6,0x14,0xc1]666// CHECK-ERROR: instruction requires: sme-f16f16667// CHECK-UNKNOWN: c114d608 <unknown>668 669fmla    za.h[w10, 0], {z16.h - z19.h}, z4.h[3]  // 11000001-00010100-11010110-00001000670// CHECK-INST: fmla    za.h[w10, 0, vgx4], { z16.h - z19.h }, z4.h[3]671// CHECK-ENCODING: [0x08,0xd6,0x14,0xc1]672// CHECK-ERROR: instruction requires: sme-f16f16673// CHECK-UNKNOWN: c114d608 <unknown>674 675fmla    za.h[w8, 0, vgx4], {z12.h - z15.h}, z2.h[4]  // 11000001-00010010-10011001-10000000676// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z12.h - z15.h }, z2.h[4]677// CHECK-ENCODING: [0x80,0x99,0x12,0xc1]678// CHECK-ERROR: instruction requires: sme-f16f16679// CHECK-UNKNOWN: c1129980 <unknown>680 681fmla    za.h[w8, 0], {z12.h - z15.h}, z2.h[4]  // 11000001-00010010-10011001-10000000682// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z12.h - z15.h }, z2.h[4]683// CHECK-ENCODING: [0x80,0x99,0x12,0xc1]684// CHECK-ERROR: instruction requires: sme-f16f16685// CHECK-UNKNOWN: c1129980 <unknown>686 687fmla    za.h[w10, 1, vgx4], {z0.h - z3.h}, z10.h[4]  // 11000001-00011010-11011000-00000001688// CHECK-INST: fmla    za.h[w10, 1, vgx4], { z0.h - z3.h }, z10.h[4]689// CHECK-ENCODING: [0x01,0xd8,0x1a,0xc1]690// CHECK-ERROR: instruction requires: sme-f16f16691// CHECK-UNKNOWN: c11ad801 <unknown>692 693fmla    za.h[w10, 1], {z0.h - z3.h}, z10.h[4]  // 11000001-00011010-11011000-00000001694// CHECK-INST: fmla    za.h[w10, 1, vgx4], { z0.h - z3.h }, z10.h[4]695// CHECK-ENCODING: [0x01,0xd8,0x1a,0xc1]696// CHECK-ERROR: instruction requires: sme-f16f16697// CHECK-UNKNOWN: c11ad801 <unknown>698 699fmla    za.h[w8, 5, vgx4], {z20.h - z23.h}, z14.h[5]  // 11000001-00011110-10011010-10001101700// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z20.h - z23.h }, z14.h[5]701// CHECK-ENCODING: [0x8d,0x9a,0x1e,0xc1]702// CHECK-ERROR: instruction requires: sme-f16f16703// CHECK-UNKNOWN: c11e9a8d <unknown>704 705fmla    za.h[w8, 5], {z20.h - z23.h}, z14.h[5]  // 11000001-00011110-10011010-10001101706// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z20.h - z23.h }, z14.h[5]707// CHECK-ENCODING: [0x8d,0x9a,0x1e,0xc1]708// CHECK-ERROR: instruction requires: sme-f16f16709// CHECK-UNKNOWN: c11e9a8d <unknown>710 711fmla    za.h[w11, 2, vgx4], {z8.h - z11.h}, z1.h[2]  // 11000001-00010001-11110101-00000010712// CHECK-INST: fmla    za.h[w11, 2, vgx4], { z8.h - z11.h }, z1.h[2]713// CHECK-ENCODING: [0x02,0xf5,0x11,0xc1]714// CHECK-ERROR: instruction requires: sme-f16f16715// CHECK-UNKNOWN: c111f502 <unknown>716 717fmla    za.h[w11, 2], {z8.h - z11.h}, z1.h[2]  // 11000001-00010001-11110101-00000010718// CHECK-INST: fmla    za.h[w11, 2, vgx4], { z8.h - z11.h }, z1.h[2]719// CHECK-ENCODING: [0x02,0xf5,0x11,0xc1]720// CHECK-ERROR: instruction requires: sme-f16f16721// CHECK-UNKNOWN: c111f502 <unknown>722 723fmla    za.h[w9, 7, vgx4], {z12.h - z15.h}, z11.h[4]  // 11000001-00011011-10111001-10000111724// CHECK-INST: fmla    za.h[w9, 7, vgx4], { z12.h - z15.h }, z11.h[4]725// CHECK-ENCODING: [0x87,0xb9,0x1b,0xc1]726// CHECK-ERROR: instruction requires: sme-f16f16727// CHECK-UNKNOWN: c11bb987 <unknown>728 729fmla    za.h[w9, 7], {z12.h - z15.h}, z11.h[4]  // 11000001-00011011-10111001-10000111730// CHECK-INST: fmla    za.h[w9, 7, vgx4], { z12.h - z15.h }, z11.h[4]731// CHECK-ENCODING: [0x87,0xb9,0x1b,0xc1]732// CHECK-ERROR: instruction requires: sme-f16f16733// CHECK-UNKNOWN: c11bb987 <unknown>734 735fmla    za.h[w8, 0, vgx4], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-10100001-00010000-00001000736// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z0.h - z3.h }, { z0.h - z3.h }737// CHECK-ENCODING: [0x08,0x10,0xa1,0xc1]738// CHECK-ERROR: instruction requires: sme-f16f16739// CHECK-UNKNOWN: c1a11008 <unknown>740 741fmla    za.h[w8, 0], {z0.h - z3.h}, {z0.h - z3.h}  // 11000001-10100001-00010000-00001000742// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z0.h - z3.h }, { z0.h - z3.h }743// CHECK-ENCODING: [0x08,0x10,0xa1,0xc1]744// CHECK-ERROR: instruction requires: sme-f16f16745// CHECK-UNKNOWN: c1a11008 <unknown>746 747fmla    za.h[w10, 5, vgx4], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-10110101-01010001-00001101748// CHECK-INST: fmla    za.h[w10, 5, vgx4], { z8.h - z11.h }, { z20.h - z23.h }749// CHECK-ENCODING: [0x0d,0x51,0xb5,0xc1]750// CHECK-ERROR: instruction requires: sme-f16f16751// CHECK-UNKNOWN: c1b5510d <unknown>752 753fmla    za.h[w10, 5], {z8.h - z11.h}, {z20.h - z23.h}  // 11000001-10110101-01010001-00001101754// CHECK-INST: fmla    za.h[w10, 5, vgx4], { z8.h - z11.h }, { z20.h - z23.h }755// CHECK-ENCODING: [0x0d,0x51,0xb5,0xc1]756// CHECK-ERROR: instruction requires: sme-f16f16757// CHECK-UNKNOWN: c1b5510d <unknown>758 759fmla    za.h[w11, 7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-10101001-01110001-10001111760// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }761// CHECK-ENCODING: [0x8f,0x71,0xa9,0xc1]762// CHECK-ERROR: instruction requires: sme-f16f16763// CHECK-UNKNOWN: c1a9718f <unknown>764 765fmla    za.h[w11, 7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-10101001-01110001-10001111766// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }767// CHECK-ENCODING: [0x8f,0x71,0xa9,0xc1]768// CHECK-ERROR: instruction requires: sme-f16f16769// CHECK-UNKNOWN: c1a9718f <unknown>770 771fmla    za.h[w11, 7, vgx4], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-10111101-01110011-10001111772// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }773// CHECK-ENCODING: [0x8f,0x73,0xbd,0xc1]774// CHECK-ERROR: instruction requires: sme-f16f16775// CHECK-UNKNOWN: c1bd738f <unknown>776 777fmla    za.h[w11, 7], {z28.h - z31.h}, {z28.h - z31.h}  // 11000001-10111101-01110011-10001111778// CHECK-INST: fmla    za.h[w11, 7, vgx4], { z28.h - z31.h }, { z28.h - z31.h }779// CHECK-ENCODING: [0x8f,0x73,0xbd,0xc1]780// CHECK-ERROR: instruction requires: sme-f16f16781// CHECK-UNKNOWN: c1bd738f <unknown>782 783fmla    za.h[w8, 5, vgx4], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-10110001-00010010-00001101784// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z16.h - z19.h }, { z16.h - z19.h }785// CHECK-ENCODING: [0x0d,0x12,0xb1,0xc1]786// CHECK-ERROR: instruction requires: sme-f16f16787// CHECK-UNKNOWN: c1b1120d <unknown>788 789fmla    za.h[w8, 5], {z16.h - z19.h}, {z16.h - z19.h}  // 11000001-10110001-00010010-00001101790// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z16.h - z19.h }, { z16.h - z19.h }791// CHECK-ENCODING: [0x0d,0x12,0xb1,0xc1]792// CHECK-ERROR: instruction requires: sme-f16f16793// CHECK-UNKNOWN: c1b1120d <unknown>794 795fmla    za.h[w8, 1, vgx4], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-10111101-00010000-00001001796// CHECK-INST: fmla    za.h[w8, 1, vgx4], { z0.h - z3.h }, { z28.h - z31.h }797// CHECK-ENCODING: [0x09,0x10,0xbd,0xc1]798// CHECK-ERROR: instruction requires: sme-f16f16799// CHECK-UNKNOWN: c1bd1009 <unknown>800 801fmla    za.h[w8, 1], {z0.h - z3.h}, {z28.h - z31.h}  // 11000001-10111101-00010000-00001001802// CHECK-INST: fmla    za.h[w8, 1, vgx4], { z0.h - z3.h }, { z28.h - z31.h }803// CHECK-ENCODING: [0x09,0x10,0xbd,0xc1]804// CHECK-ERROR: instruction requires: sme-f16f16805// CHECK-UNKNOWN: c1bd1009 <unknown>806 807fmla    za.h[w10, 0, vgx4], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-10110101-01010010-00001000808// CHECK-INST: fmla    za.h[w10, 0, vgx4], { z16.h - z19.h }, { z20.h - z23.h }809// CHECK-ENCODING: [0x08,0x52,0xb5,0xc1]810// CHECK-ERROR: instruction requires: sme-f16f16811// CHECK-UNKNOWN: c1b55208 <unknown>812 813fmla    za.h[w10, 0], {z16.h - z19.h}, {z20.h - z23.h}  // 11000001-10110101-01010010-00001000814// CHECK-INST: fmla    za.h[w10, 0, vgx4], { z16.h - z19.h }, { z20.h - z23.h }815// CHECK-ENCODING: [0x08,0x52,0xb5,0xc1]816// CHECK-ERROR: instruction requires: sme-f16f16817// CHECK-UNKNOWN: c1b55208 <unknown>818 819fmla    za.h[w8, 0, vgx4], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-10100001-00010001-10001000820// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z12.h - z15.h }, { z0.h - z3.h }821// CHECK-ENCODING: [0x88,0x11,0xa1,0xc1]822// CHECK-ERROR: instruction requires: sme-f16f16823// CHECK-UNKNOWN: c1a11188 <unknown>824 825fmla    za.h[w8, 0], {z12.h - z15.h}, {z0.h - z3.h}  // 11000001-10100001-00010001-10001000826// CHECK-INST: fmla    za.h[w8, 0, vgx4], { z12.h - z15.h }, { z0.h - z3.h }827// CHECK-ENCODING: [0x88,0x11,0xa1,0xc1]828// CHECK-ERROR: instruction requires: sme-f16f16829// CHECK-UNKNOWN: c1a11188 <unknown>830 831fmla    za.h[w10, 1, vgx4], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-10111001-01010000-00001001832// CHECK-INST: fmla    za.h[w10, 1, vgx4], { z0.h - z3.h }, { z24.h - z27.h }833// CHECK-ENCODING: [0x09,0x50,0xb9,0xc1]834// CHECK-ERROR: instruction requires: sme-f16f16835// CHECK-UNKNOWN: c1b95009 <unknown>836 837fmla    za.h[w10, 1], {z0.h - z3.h}, {z24.h - z27.h}  // 11000001-10111001-01010000-00001001838// CHECK-INST: fmla    za.h[w10, 1, vgx4], { z0.h - z3.h }, { z24.h - z27.h }839// CHECK-ENCODING: [0x09,0x50,0xb9,0xc1]840// CHECK-ERROR: instruction requires: sme-f16f16841// CHECK-UNKNOWN: c1b95009 <unknown>842 843fmla    za.h[w8, 5, vgx4], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-10111101-00010010-10001101844// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z20.h - z23.h }, { z28.h - z31.h }845// CHECK-ENCODING: [0x8d,0x12,0xbd,0xc1]846// CHECK-ERROR: instruction requires: sme-f16f16847// CHECK-UNKNOWN: c1bd128d <unknown>848 849fmla    za.h[w8, 5], {z20.h - z23.h}, {z28.h - z31.h}  // 11000001-10111101-00010010-10001101850// CHECK-INST: fmla    za.h[w8, 5, vgx4], { z20.h - z23.h }, { z28.h - z31.h }851// CHECK-ENCODING: [0x8d,0x12,0xbd,0xc1]852// CHECK-ERROR: instruction requires: sme-f16f16853// CHECK-UNKNOWN: c1bd128d <unknown>854 855fmla    za.h[w11, 2, vgx4], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-10100001-01110001-00001010856// CHECK-INST: fmla    za.h[w11, 2, vgx4], { z8.h - z11.h }, { z0.h - z3.h }857// CHECK-ENCODING: [0x0a,0x71,0xa1,0xc1]858// CHECK-ERROR: instruction requires: sme-f16f16859// CHECK-UNKNOWN: c1a1710a <unknown>860 861fmla    za.h[w11, 2], {z8.h - z11.h}, {z0.h - z3.h}  // 11000001-10100001-01110001-00001010862// CHECK-INST: fmla    za.h[w11, 2, vgx4], { z8.h - z11.h }, { z0.h - z3.h }863// CHECK-ENCODING: [0x0a,0x71,0xa1,0xc1]864// CHECK-ERROR: instruction requires: sme-f16f16865// CHECK-UNKNOWN: c1a1710a <unknown>866 867fmla    za.h[w9, 7, vgx4], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-10101001-00110001-10001111868// CHECK-INST: fmla    za.h[w9, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }869// CHECK-ENCODING: [0x8f,0x31,0xa9,0xc1]870// CHECK-ERROR: instruction requires: sme-f16f16871// CHECK-UNKNOWN: c1a9318f <unknown>872 873fmla    za.h[w9, 7], {z12.h - z15.h}, {z8.h - z11.h}  // 11000001-10101001-00110001-10001111874// CHECK-INST: fmla    za.h[w9, 7, vgx4], { z12.h - z15.h }, { z8.h - z11.h }875// CHECK-ENCODING: [0x8f,0x31,0xa9,0xc1]876// CHECK-ERROR: instruction requires: sme-f16f16877// CHECK-UNKNOWN: c1a9318f <unknown>878