257 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p1 < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p1 < %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=+sme2p1 < %s \8// RUN: | llvm-objdump -d --no-print-imm-hex --mattr=+sme2p1 - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2p1 < %s \10// RUN: | llvm-objdump -d --mattr=-sme2p1,-sve2p1 - | FileCheck %s --check-prefix=CHECK-UNKNOWN11// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p1 < %s \12// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \13// RUN: | llvm-mc -triple=aarch64 -mattr=+sme2p1 -disassemble -show-encoding \14// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST15 16 17pmov p0.h, z0[0] // 00000101-00101100-00111000-0000000018// CHECK-INST: pmov p0.h, z0[0]19// CHECK-ENCODING: [0x00,0x38,0x2c,0x05]20// CHECK-ERROR: instruction requires: sme2p1 or sve2p121// CHECK-UNKNOWN: 052c3800 <unknown>22 23pmov p0.h, z0 // 00000101-00101100-00111000-0000000024// CHECK-INST: pmov p0.h, z0[0]25// CHECK-ENCODING: [0x00,0x38,0x2c,0x05]26// CHECK-ERROR: instruction requires: sme2p1 or sve2p127// CHECK-UNKNOWN: 052c3800 <unknown>28 29pmov p5.h, z10[0] // 00000101-00101100-00111001-0100010130// CHECK-INST: pmov p5.h, z10[0]31// CHECK-ENCODING: [0x45,0x39,0x2c,0x05]32// CHECK-ERROR: instruction requires: sme2p1 or sve2p133// CHECK-UNKNOWN: 052c3945 <unknown>34 35pmov p7.h, z13[0] // 00000101-00101100-00111001-1010011136// CHECK-INST: pmov p7.h, z13[0]37// CHECK-ENCODING: [0xa7,0x39,0x2c,0x05]38// CHECK-ERROR: instruction requires: sme2p1 or sve2p139// CHECK-UNKNOWN: 052c39a7 <unknown>40 41pmov p15.h, z31[1] // 00000101-00101110-00111011-1110111142// CHECK-INST: pmov p15.h, z31[1]43// CHECK-ENCODING: [0xef,0x3b,0x2e,0x05]44// CHECK-ERROR: instruction requires: sme2p1 or sve2p145// CHECK-UNKNOWN: 052e3bef <unknown>46 47pmov p0.s, z0[0] // 00000101-01101000-00111000-0000000048// CHECK-INST: pmov p0.s, z0[0]49// CHECK-ENCODING: [0x00,0x38,0x68,0x05]50// CHECK-ERROR: instruction requires: sme2p1 or sve2p151// CHECK-UNKNOWN: 05683800 <unknown>52 53pmov p0.s, z0 // 00000101-01101000-00111000-0000000054// CHECK-INST: pmov p0.s, z0[0]55// CHECK-ENCODING: [0x00,0x38,0x68,0x05]56// CHECK-ERROR: instruction requires: sme2p1 or sve2p157// CHECK-UNKNOWN: 05683800 <unknown>58 59pmov p5.s, z10[2] // 00000101-01101100-00111001-0100010160// CHECK-INST: pmov p5.s, z10[2]61// CHECK-ENCODING: [0x45,0x39,0x6c,0x05]62// CHECK-ERROR: instruction requires: sme2p1 or sve2p163// CHECK-UNKNOWN: 056c3945 <unknown>64 65pmov p7.s, z13[0] // 00000101-01101000-00111001-1010011166// CHECK-INST: pmov p7.s, z13[0]67// CHECK-ENCODING: [0xa7,0x39,0x68,0x05]68// CHECK-ERROR: instruction requires: sme2p1 or sve2p169// CHECK-UNKNOWN: 056839a7 <unknown>70 71pmov p15.s, z31[3] // 00000101-01101110-00111011-1110111172// CHECK-INST: pmov p15.s, z31[3]73// CHECK-ENCODING: [0xef,0x3b,0x6e,0x05]74// CHECK-ERROR: instruction requires: sme2p1 or sve2p175// CHECK-UNKNOWN: 056e3bef <unknown>76 77pmov p0.d, z0[0] // 00000101-10101000-00111000-0000000078// CHECK-INST: pmov p0.d, z0[0]79// CHECK-ENCODING: [0x00,0x38,0xa8,0x05]80// CHECK-ERROR: instruction requires: sme2p1 or sve2p181// CHECK-UNKNOWN: 05a83800 <unknown>82 83pmov p0.d, z0 // 00000101-10101000-00111000-0000000084// CHECK-INST: pmov p0.d, z0[0]85// CHECK-ENCODING: [0x00,0x38,0xa8,0x05]86// CHECK-ERROR: instruction requires: sme2p1 or sve2p187// CHECK-UNKNOWN: 05a83800 <unknown>88 89pmov p5.d, z10[6] // 00000101-11101100-00111001-0100010190// CHECK-INST: pmov p5.d, z10[6]91// CHECK-ENCODING: [0x45,0x39,0xec,0x05]92// CHECK-ERROR: instruction requires: sme2p1 or sve2p193// CHECK-UNKNOWN: 05ec3945 <unknown>94 95pmov p7.d, z13[4] // 00000101-11101000-00111001-1010011196// CHECK-INST: pmov p7.d, z13[4]97// CHECK-ENCODING: [0xa7,0x39,0xe8,0x05]98// CHECK-ERROR: instruction requires: sme2p1 or sve2p199// CHECK-UNKNOWN: 05e839a7 <unknown>100 101pmov p15.d, z31[7] // 00000101-11101110-00111011-11101111102// CHECK-INST: pmov p15.d, z31[7]103// CHECK-ENCODING: [0xef,0x3b,0xee,0x05]104// CHECK-ERROR: instruction requires: sme2p1 or sve2p1105// CHECK-UNKNOWN: 05ee3bef <unknown>106 107pmov p0.b, z0 // 00000101-00101010-00111000-00000000108// CHECK-INST: pmov p0.b, z0109// CHECK-ENCODING: [0x00,0x38,0x2a,0x05]110// CHECK-ERROR: instruction requires: sme2p1 or sve2p1111// CHECK-UNKNOWN: 052a3800 <unknown>112 113pmov p5.b, z10 // 00000101-00101010-00111001-01000101114// CHECK-INST: pmov p5.b, z10115// CHECK-ENCODING: [0x45,0x39,0x2a,0x05]116// CHECK-ERROR: instruction requires: sme2p1 or sve2p1117// CHECK-UNKNOWN: 052a3945 <unknown>118 119pmov p7.b, z13 // 00000101-00101010-00111001-10100111120// CHECK-INST: pmov p7.b, z13121// CHECK-ENCODING: [0xa7,0x39,0x2a,0x05]122// CHECK-ERROR: instruction requires: sme2p1 or sve2p1123// CHECK-UNKNOWN: 052a39a7 <unknown>124 125pmov p15.b, z31 // 00000101-00101010-00111011-11101111126// CHECK-INST: pmov p15.b, z31127// CHECK-ENCODING: [0xef,0x3b,0x2a,0x05]128// CHECK-ERROR: instruction requires: sme2p1 or sve2p1129// CHECK-UNKNOWN: 052a3bef <unknown>130 131pmov p0.b, z0[0] // 00000101-00101010-00111000-00000000132// CHECK-INST: pmov p0.b, z0133// CHECK-ENCODING: [0x00,0x38,0x2a,0x05]134// CHECK-ERROR: instruction requires: sme2p1 or sve2p1135// CHECK-UNKNOWN: 052a3800 <unknown>136 137pmov z0[0], p0.h // 00000101-00101101-00111000-00000000138// CHECK-INST: pmov z0[0], p0.h139// CHECK-ENCODING: [0x00,0x38,0x2d,0x05]140// CHECK-ERROR: instruction requires: sme2p1 or sve2p1141// CHECK-UNKNOWN: 052d3800 <unknown>142 143pmov z0, p0.h // 00000101-00101101-00111000-00000000144// CHECK-INST: pmov z0[0], p0.h145// CHECK-ENCODING: [0x00,0x38,0x2d,0x05]146// CHECK-ERROR: instruction requires: sme2p1 or sve2p1147// CHECK-UNKNOWN: 052d3800 <unknown>148 149pmov z21[0], p10.h // 00000101-00101101-00111001-01010101150// CHECK-INST: pmov z21[0], p10.h151// CHECK-ENCODING: [0x55,0x39,0x2d,0x05]152// CHECK-ERROR: instruction requires: sme2p1 or sve2p1153// CHECK-UNKNOWN: 052d3955 <unknown>154 155pmov z23[0], p13.h // 00000101-00101101-00111001-10110111156// CHECK-INST: pmov z23[0], p13.h157// CHECK-ENCODING: [0xb7,0x39,0x2d,0x05]158// CHECK-ERROR: instruction requires: sme2p1 or sve2p1159// CHECK-UNKNOWN: 052d39b7 <unknown>160 161pmov z31[1], p15.h // 00000101-00101111-00111001-11111111162// CHECK-INST: pmov z31[1], p15.h163// CHECK-ENCODING: [0xff,0x39,0x2f,0x05]164// CHECK-ERROR: instruction requires: sme2p1 or sve2p1165// CHECK-UNKNOWN: 052f39ff <unknown>166 167 168pmov z0[0], p0.s // 00000101-01101001-00111000-00000000169// CHECK-INST: pmov z0[0], p0.s170// CHECK-ENCODING: [0x00,0x38,0x69,0x05]171// CHECK-ERROR: instruction requires: sme2p1 or sve2p1172// CHECK-UNKNOWN: 05693800 <unknown>173 174pmov z0, p0.s // 00000101-01101001-00111000-00000000175// CHECK-INST: pmov z0[0], p0.s176// CHECK-ENCODING: [0x00,0x38,0x69,0x05]177// CHECK-ERROR: instruction requires: sme2p1 or sve2p1178// CHECK-UNKNOWN: 05693800 <unknown>179 180pmov z21[2], p10.s // 00000101-01101101-00111001-01010101181// CHECK-INST: pmov z21[2], p10.s182// CHECK-ENCODING: [0x55,0x39,0x6d,0x05]183// CHECK-ERROR: instruction requires: sme2p1 or sve2p1184// CHECK-UNKNOWN: 056d3955 <unknown>185 186pmov z23[0], p13.s // 00000101-01101001-00111001-10110111187// CHECK-INST: pmov z23[0], p13.s188// CHECK-ENCODING: [0xb7,0x39,0x69,0x05]189// CHECK-ERROR: instruction requires: sme2p1 or sve2p1190// CHECK-UNKNOWN: 056939b7 <unknown>191 192pmov z31[3], p15.s // 00000101-01101111-00111001-11111111193// CHECK-INST: pmov z31[3], p15.s194// CHECK-ENCODING: [0xff,0x39,0x6f,0x05]195// CHECK-ERROR: instruction requires: sme2p1 or sve2p1196// CHECK-UNKNOWN: 056f39ff <unknown>197 198pmov z0[0], p0.d // 00000101-10101001-00111000-00000000199// CHECK-INST: pmov z0[0], p0.d200// CHECK-ENCODING: [0x00,0x38,0xa9,0x05]201// CHECK-ERROR: instruction requires: sme2p1 or sve2p1202// CHECK-UNKNOWN: 05a93800 <unknown>203 204pmov z0, p0.d // 00000101-10101001-00111000-00000000205// CHECK-INST: pmov z0[0], p0.d206// CHECK-ENCODING: [0x00,0x38,0xa9,0x05]207// CHECK-ERROR: instruction requires: sme2p1 or sve2p1208// CHECK-UNKNOWN: 05a93800 <unknown>209 210pmov z21[6], p10.d // 00000101-11101101-00111001-01010101211// CHECK-INST: pmov z21[6], p10.d212// CHECK-ENCODING: [0x55,0x39,0xed,0x05]213// CHECK-ERROR: instruction requires: sme2p1 or sve2p1214// CHECK-UNKNOWN: 05ed3955 <unknown>215 216pmov z23[4], p13.d // 00000101-11101001-00111001-10110111217// CHECK-INST: pmov z23[4], p13.d218// CHECK-ENCODING: [0xb7,0x39,0xe9,0x05]219// CHECK-ERROR: instruction requires: sme2p1 or sve2p1220// CHECK-UNKNOWN: 05e939b7 <unknown>221 222pmov z31[7], p15.d // 00000101-11101111-00111001-11111111223// CHECK-INST: pmov z31[7], p15.d224// CHECK-ENCODING: [0xff,0x39,0xef,0x05]225// CHECK-ERROR: instruction requires: sme2p1 or sve2p1226// CHECK-UNKNOWN: 05ef39ff <unknown>227 228pmov z0, p0.b // 00000101-00101011-00111000-00000000229// CHECK-INST: pmov z0, p0.b230// CHECK-ENCODING: [0x00,0x38,0x2b,0x05]231// CHECK-ERROR: instruction requires: sme2p1 or sve2p1232// CHECK-UNKNOWN: 052b3800 <unknown>233 234pmov z21, p10.b // 00000101-00101011-00111001-01010101235// CHECK-INST: pmov z21, p10.b236// CHECK-ENCODING: [0x55,0x39,0x2b,0x05]237// CHECK-ERROR: instruction requires: sme2p1 or sve2p1238// CHECK-UNKNOWN: 052b3955 <unknown>239 240pmov z23, p13.b // 00000101-00101011-00111001-10110111241// CHECK-INST: pmov z23, p13.b242// CHECK-ENCODING: [0xb7,0x39,0x2b,0x05]243// CHECK-ERROR: instruction requires: sme2p1 or sve2p1244// CHECK-UNKNOWN: 052b39b7 <unknown>245 246pmov z31, p15.b // 00000101-00101011-00111001-11111111247// CHECK-INST: pmov z31, p15.b248// CHECK-ENCODING: [0xff,0x39,0x2b,0x05]249// CHECK-ERROR: instruction requires: sme2p1 or sve2p1250// CHECK-UNKNOWN: 052b39ff <unknown>251 252pmov z0[0], p0.b // 00000101-00101011-00111000-00000000253// CHECK-INST: pmov z0, p0.b254// CHECK-ENCODING: [0x00,0x38,0x2b,0x05]255// CHECK-ERROR: instruction requires: sme2p1 or sve2p1256// CHECK-UNKNOWN: 052b3800 <unknown>257