brintos

brintos / llvm-project-archived public Read only

0
0
Text · 14.1 KiB · bdb7690 Raw
303 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: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f8f16 < %s \4// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST5// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \6// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f16f16 < %s \8// RUN:        | llvm-objdump -d --mattr=+sme-f16f16 - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f16f16 < %s \10// RUN:        | llvm-objdump -d --mattr=-sme2p1 - | FileCheck %s --check-prefix=CHECK-UNKNOWN11// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f16f16 < %s \12// RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \13// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-f16f16 -disassemble -show-encoding \14// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST15 16fadd    za.h[w8, 0, vgx2], {z0.h, z1.h}  // 11000001-10100100-00011100-0000000017// CHECK-INST: fadd    za.h[w8, 0, vgx2], { z0.h, z1.h }18// CHECK-ENCODING: [0x00,0x1c,0xa4,0xc1]19// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1620// CHECK-UNKNOWN: c1a41c00 <unknown>21 22fadd    za.h[w8, 0], {z0.h - z1.h}  // 11000001-10100100-00011100-0000000023// CHECK-INST: fadd    za.h[w8, 0, vgx2], { z0.h, z1.h }24// CHECK-ENCODING: [0x00,0x1c,0xa4,0xc1]25// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1626// CHECK-UNKNOWN: c1a41c00 <unknown>27 28fadd    za.h[w10, 5, vgx2], {z10.h, z11.h}  // 11000001-10100100-01011101-0100010129// CHECK-INST: fadd    za.h[w10, 5, vgx2], { z10.h, z11.h }30// CHECK-ENCODING: [0x45,0x5d,0xa4,0xc1]31// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1632// CHECK-UNKNOWN: c1a45d45 <unknown>33 34fadd    za.h[w10, 5], {z10.h - z11.h}  // 11000001-10100100-01011101-0100010135// CHECK-INST: fadd    za.h[w10, 5, vgx2], { z10.h, z11.h }36// CHECK-ENCODING: [0x45,0x5d,0xa4,0xc1]37// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1638// CHECK-UNKNOWN: c1a45d45 <unknown>39 40fadd    za.h[w11, 7, vgx2], {z12.h, z13.h}  // 11000001-10100100-01111101-1000011141// CHECK-INST: fadd    za.h[w11, 7, vgx2], { z12.h, z13.h }42// CHECK-ENCODING: [0x87,0x7d,0xa4,0xc1]43// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1644// CHECK-UNKNOWN: c1a47d87 <unknown>45 46fadd    za.h[w11, 7], {z12.h - z13.h}  // 11000001-10100100-01111101-1000011147// CHECK-INST: fadd    za.h[w11, 7, vgx2], { z12.h, z13.h }48// CHECK-ENCODING: [0x87,0x7d,0xa4,0xc1]49// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1650// CHECK-UNKNOWN: c1a47d87 <unknown>51 52fadd    za.h[w11, 7, vgx2], {z30.h, z31.h}  // 11000001-10100100-01111111-1100011153// CHECK-INST: fadd    za.h[w11, 7, vgx2], { z30.h, z31.h }54// CHECK-ENCODING: [0xc7,0x7f,0xa4,0xc1]55// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1656// CHECK-UNKNOWN: c1a47fc7 <unknown>57 58fadd    za.h[w11, 7], {z30.h - z31.h}  // 11000001-10100100-01111111-1100011159// CHECK-INST: fadd    za.h[w11, 7, vgx2], { z30.h, z31.h }60// CHECK-ENCODING: [0xc7,0x7f,0xa4,0xc1]61// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1662// CHECK-UNKNOWN: c1a47fc7 <unknown>63 64fadd    za.h[w8, 5, vgx2], {z16.h, z17.h}  // 11000001-10100100-00011110-0000010165// CHECK-INST: fadd    za.h[w8, 5, vgx2], { z16.h, z17.h }66// CHECK-ENCODING: [0x05,0x1e,0xa4,0xc1]67// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1668// CHECK-UNKNOWN: c1a41e05 <unknown>69 70fadd    za.h[w8, 5], {z16.h - z17.h}  // 11000001-10100100-00011110-0000010171// CHECK-INST: fadd    za.h[w8, 5, vgx2], { z16.h, z17.h }72// CHECK-ENCODING: [0x05,0x1e,0xa4,0xc1]73// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1674// CHECK-UNKNOWN: c1a41e05 <unknown>75 76fadd    za.h[w8, 1, vgx2], {z0.h, z1.h}  // 11000001-10100100-00011100-0000000177// CHECK-INST: fadd    za.h[w8, 1, vgx2], { z0.h, z1.h }78// CHECK-ENCODING: [0x01,0x1c,0xa4,0xc1]79// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1680// CHECK-UNKNOWN: c1a41c01 <unknown>81 82fadd    za.h[w8, 1], {z0.h - z1.h}  // 11000001-10100100-00011100-0000000183// CHECK-INST: fadd    za.h[w8, 1, vgx2], { z0.h, z1.h }84// CHECK-ENCODING: [0x01,0x1c,0xa4,0xc1]85// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1686// CHECK-UNKNOWN: c1a41c01 <unknown>87 88fadd    za.h[w10, 0, vgx2], {z18.h, z19.h}  // 11000001-10100100-01011110, 0100000089// CHECK-INST: fadd    za.h[w10, 0, vgx2], { z18.h, z19.h }90// CHECK-ENCODING: [0x40,0x5e,0xa4,0xc1]91// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1692// CHECK-UNKNOWN: c1a45e40 <unknown>93 94fadd    za.h[w10, 0], {z18.h - z19.h}  // 11000001-10100100-01011110-0100000095// CHECK-INST: fadd    za.h[w10, 0, vgx2], { z18.h, z19.h }96// CHECK-ENCODING: [0x40,0x5e,0xa4,0xc1]97// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f1698// CHECK-UNKNOWN: c1a45e40 <unknown>99 100fadd    za.h[w8, 0, vgx2], {z12.h, z13.h}  // 11000001-10100100-00011101-10000000101// CHECK-INST: fadd    za.h[w8, 0, vgx2], { z12.h, z13.h }102// CHECK-ENCODING: [0x80,0x1d,0xa4,0xc1]103// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16104// CHECK-UNKNOWN: c1a41d80 <unknown>105 106fadd    za.h[w8, 0], {z12.h - z13.h}  // 11000001-10100100-00011101-10000000107// CHECK-INST: fadd    za.h[w8, 0, vgx2], { z12.h, z13.h }108// CHECK-ENCODING: [0x80,0x1d,0xa4,0xc1]109// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16110// CHECK-UNKNOWN: c1a41d80 <unknown>111 112fadd    za.h[w10, 1, vgx2], {z0.h, z1.h}  // 11000001-10100100-01011100-00000001113// CHECK-INST: fadd    za.h[w10, 1, vgx2], { z0.h, z1.h }114// CHECK-ENCODING: [0x01,0x5c,0xa4,0xc1]115// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16116// CHECK-UNKNOWN: c1a45c01 <unknown>117 118fadd    za.h[w10, 1], {z0.h - z1.h}  // 11000001-10100100-01011100-00000001119// CHECK-INST: fadd    za.h[w10, 1, vgx2], { z0.h, z1.h }120// CHECK-ENCODING: [0x01,0x5c,0xa4,0xc1]121// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16122// CHECK-UNKNOWN: c1a45c01 <unknown>123 124fadd    za.h[w8, 5, vgx2], {z22.h, z23.h}  // 11000001-10100100-00011110, 11000101125// CHECK-INST: fadd    za.h[w8, 5, vgx2], { z22.h, z23.h }126// CHECK-ENCODING: [0xc5,0x1e,0xa4,0xc1]127// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16128// CHECK-UNKNOWN: c1a41ec5 <unknown>129 130fadd    za.h[w8, 5], {z22.h - z23.h}  // 11000001-10100100-00011110-11000101131// CHECK-INST: fadd    za.h[w8, 5, vgx2], { z22.h, z23.h }132// CHECK-ENCODING: [0xc5,0x1e,0xa4,0xc1]133// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16134// CHECK-UNKNOWN: c1a41ec5 <unknown>135 136fadd    za.h[w11, 2, vgx2], {z8.h, z9.h}  // 11000001-10100100-01111101-00000010137// CHECK-INST: fadd    za.h[w11, 2, vgx2], { z8.h, z9.h }138// CHECK-ENCODING: [0x02,0x7d,0xa4,0xc1]139// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16140// CHECK-UNKNOWN: c1a47d02 <unknown>141 142fadd    za.h[w11, 2], {z8.h - z9.h}  // 11000001-10100100-01111101-00000010143// CHECK-INST: fadd    za.h[w11, 2, vgx2], { z8.h, z9.h }144// CHECK-ENCODING: [0x02,0x7d,0xa4,0xc1]145// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16146// CHECK-UNKNOWN: c1a47d02 <unknown>147 148fadd    za.h[w9, 7, vgx2], {z12.h, z13.h}  // 11000001-10100100-00111101-10000111149// CHECK-INST: fadd    za.h[w9, 7, vgx2], { z12.h, z13.h }150// CHECK-ENCODING: [0x87,0x3d,0xa4,0xc1]151// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16152// CHECK-UNKNOWN: c1a43d87 <unknown>153 154fadd    za.h[w9, 7], {z12.h - z13.h}  // 11000001-10100100-00111101-10000111155// CHECK-INST: fadd    za.h[w9, 7, vgx2], { z12.h, z13.h }156// CHECK-ENCODING: [0x87,0x3d,0xa4,0xc1]157// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16158// CHECK-UNKNOWN: c1a43d87 <unknown>159 160fadd    za.h[w8, 0, vgx4], {z0.h - z3.h}  // 11000001-10100101-00011100-00000000161// CHECK-INST: fadd    za.h[w8, 0, vgx4], { z0.h - z3.h }162// CHECK-ENCODING: [0x00,0x1c,0xa5,0xc1]163// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16164// CHECK-UNKNOWN: c1a51c00 <unknown>165 166fadd    za.h[w8, 0], {z0.h - z3.h}  // 11000001-10100101-00011100-00000000167// CHECK-INST: fadd    za.h[w8, 0, vgx4], { z0.h - z3.h }168// CHECK-ENCODING: [0x00,0x1c,0xa5,0xc1]169// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16170// CHECK-UNKNOWN: c1a51c00 <unknown>171 172fadd    za.h[w10, 5, vgx4], {z8.h - z11.h}  // 11000001-10100101-01011101-00000101173// CHECK-INST: fadd    za.h[w10, 5, vgx4], { z8.h - z11.h }174// CHECK-ENCODING: [0x05,0x5d,0xa5,0xc1]175// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16176// CHECK-UNKNOWN: c1a55d05 <unknown>177 178fadd    za.h[w10, 5], {z8.h - z11.h}  // 11000001-10100101-01011101-00000101179// CHECK-INST: fadd    za.h[w10, 5, vgx4], { z8.h - z11.h }180// CHECK-ENCODING: [0x05,0x5d,0xa5,0xc1]181// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16182// CHECK-UNKNOWN: c1a55d05 <unknown>183 184fadd    za.h[w11, 7, vgx4], {z12.h - z15.h}  // 11000001-10100101-01111101-10000111185// CHECK-INST: fadd    za.h[w11, 7, vgx4], { z12.h - z15.h }186// CHECK-ENCODING: [0x87,0x7d,0xa5,0xc1]187// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16188// CHECK-UNKNOWN: c1a57d87 <unknown>189 190fadd    za.h[w11, 7], {z12.h - z15.h}  // 11000001-10100101-01111101-10000111191// CHECK-INST: fadd    za.h[w11, 7, vgx4], { z12.h - z15.h }192// CHECK-ENCODING: [0x87,0x7d,0xa5,0xc1]193// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16194// CHECK-UNKNOWN: c1a57d87 <unknown>195 196fadd    za.h[w11, 7, vgx4], {z28.h - z31.h}  // 11000001-10100101-01111111-10000111197// CHECK-INST: fadd    za.h[w11, 7, vgx4], { z28.h - z31.h }198// CHECK-ENCODING: [0x87,0x7f,0xa5,0xc1]199// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16200// CHECK-UNKNOWN: c1a57f87 <unknown>201 202fadd    za.h[w11, 7], {z28.h - z31.h}  // 11000001-10100101-01111111-10000111203// CHECK-INST: fadd    za.h[w11, 7, vgx4], { z28.h - z31.h }204// CHECK-ENCODING: [0x87,0x7f,0xa5,0xc1]205// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16206// CHECK-UNKNOWN: c1a57f87 <unknown>207 208fadd    za.h[w8, 5, vgx4], {z16.h - z19.h}  // 11000001-10100101-00011110-00000101209// CHECK-INST: fadd    za.h[w8, 5, vgx4], { z16.h - z19.h }210// CHECK-ENCODING: [0x05,0x1e,0xa5,0xc1]211// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16212// CHECK-UNKNOWN: c1a51e05 <unknown>213 214fadd    za.h[w8, 5], {z16.h - z19.h}  // 11000001-10100101-00011110-00000101215// CHECK-INST: fadd    za.h[w8, 5, vgx4], { z16.h - z19.h }216// CHECK-ENCODING: [0x05,0x1e,0xa5,0xc1]217// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16218// CHECK-UNKNOWN: c1a51e05 <unknown>219 220fadd    za.h[w8, 1, vgx4], {z0.h - z3.h}  // 11000001-10100101-00011100-00000001221// CHECK-INST: fadd    za.h[w8, 1, vgx4], { z0.h - z3.h }222// CHECK-ENCODING: [0x01,0x1c,0xa5,0xc1]223// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16224// CHECK-UNKNOWN: c1a51c01 <unknown>225 226fadd    za.h[w8, 1], {z0.h - z3.h}  // 11000001-10100101-00011100-00000001227// CHECK-INST: fadd    za.h[w8, 1, vgx4], { z0.h - z3.h }228// CHECK-ENCODING: [0x01,0x1c,0xa5,0xc1]229// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16230// CHECK-UNKNOWN: c1a51c01 <unknown>231 232fadd    za.h[w10, 0, vgx4], {z16.h - z19.h}  // 11000001-10100101-01011110-00000000233// CHECK-INST: fadd    za.h[w10, 0, vgx4], { z16.h - z19.h }234// CHECK-ENCODING: [0x00,0x5e,0xa5,0xc1]235// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16236// CHECK-UNKNOWN: c1a55e00 <unknown>237 238fadd    za.h[w10, 0], {z16.h - z19.h}  // 11000001-10100101-01011110-00000000239// CHECK-INST: fadd    za.h[w10, 0, vgx4], { z16.h - z19.h }240// CHECK-ENCODING: [0x00,0x5e,0xa5,0xc1]241// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16242// CHECK-UNKNOWN: c1a55e00 <unknown>243 244fadd    za.h[w8, 0, vgx4], {z12.h - z15.h}  // 11000001-10100101-00011101-10000000245// CHECK-INST: fadd    za.h[w8, 0, vgx4], { z12.h - z15.h }246// CHECK-ENCODING: [0x80,0x1d,0xa5,0xc1]247// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16248// CHECK-UNKNOWN: c1a51d80 <unknown>249 250fadd    za.h[w8, 0], {z12.h - z15.h}  // 11000001-10100101-00011101-10000000251// CHECK-INST: fadd    za.h[w8, 0, vgx4], { z12.h - z15.h }252// CHECK-ENCODING: [0x80,0x1d,0xa5,0xc1]253// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16254// CHECK-UNKNOWN: c1a51d80 <unknown>255 256fadd    za.h[w10, 1, vgx4], {z0.h - z3.h}  // 11000001-10100101-01011100-00000001257// CHECK-INST: fadd    za.h[w10, 1, vgx4], { z0.h - z3.h }258// CHECK-ENCODING: [0x01,0x5c,0xa5,0xc1]259// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16260// CHECK-UNKNOWN: c1a55c01 <unknown>261 262fadd    za.h[w10, 1], {z0.h - z3.h}  // 11000001-10100101-01011100-00000001263// CHECK-INST: fadd    za.h[w10, 1, vgx4], { z0.h - z3.h }264// CHECK-ENCODING: [0x01,0x5c,0xa5,0xc1]265// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16266// CHECK-UNKNOWN: c1a55c01 <unknown>267 268fadd    za.h[w8, 5, vgx4], {z20.h - z23.h}  // 11000001-10100101-00011110-10000101269// CHECK-INST: fadd    za.h[w8, 5, vgx4], { z20.h - z23.h }270// CHECK-ENCODING: [0x85,0x1e,0xa5,0xc1]271// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16272// CHECK-UNKNOWN: c1a51e85 <unknown>273 274fadd    za.h[w8, 5], {z20.h - z23.h}  // 11000001-10100101-00011110-10000101275// CHECK-INST: fadd    za.h[w8, 5, vgx4], { z20.h - z23.h }276// CHECK-ENCODING: [0x85,0x1e,0xa5,0xc1]277// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16278// CHECK-UNKNOWN: c1a51e85 <unknown>279 280fadd    za.h[w11, 2, vgx4], {z8.h - z11.h}  // 11000001-10100101-01111101-00000010281// CHECK-INST: fadd    za.h[w11, 2, vgx4], { z8.h - z11.h }282// CHECK-ENCODING: [0x02,0x7d,0xa5,0xc1]283// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16284// CHECK-UNKNOWN: c1a57d02 <unknown>285 286fadd    za.h[w11, 2], {z8.h - z11.h}  // 11000001-10100101-01111101-00000010287// CHECK-INST: fadd    za.h[w11, 2, vgx4], { z8.h - z11.h }288// CHECK-ENCODING: [0x02,0x7d,0xa5,0xc1]289// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16290// CHECK-UNKNOWN: c1a57d02 <unknown>291 292fadd    za.h[w9, 7, vgx4], {z12.h - z15.h}  // 11000001-10100101-00111101-10000111293// CHECK-INST: fadd    za.h[w9, 7, vgx4], { z12.h - z15.h }294// CHECK-ENCODING: [0x87,0x3d,0xa5,0xc1]295// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16296// CHECK-UNKNOWN: c1a53d87 <unknown>297 298fadd    za.h[w9, 7], {z12.h - z15.h}  // 11000001-10100101-00111101-10000111299// CHECK-INST: fadd    za.h[w9, 7, vgx4], { z12.h - z15.h }300// CHECK-ENCODING: [0x87,0x3d,0xa5,0xc1]301// CHECK-ERROR: instruction requires: sme-f16f16 or sme-f8f16302// CHECK-UNKNOWN: c1a53d87 <unknown>303