87 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p2 < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p2 < %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=+sve2p2 < %s \8// RUN: | llvm-objdump -d --mattr=+sve2p2 - | FileCheck %s --check-prefix=CHECK-INST9// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve2p2 < %s \10// RUN: | llvm-objdump -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN11// Disassemble encoding and check the re-encoding (-show-encoding) matches.12// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p2 < %s \13// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \14// RUN: | llvm-mc -triple=aarch64 -mattr=+sve2p2 -disassemble -show-encoding \15// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST16 17lastp x0, p0, p0.b // 00100101-00100010-10000000-0000000018// CHECK-INST: lastp x0, p0, p0.b19// CHECK-ENCODING: [0x00,0x80,0x22,0x25]20// CHECK-ERROR: instruction requires: sme2p2 or sve2p221// CHECK-UNKNOWN: 25228000 <unknown>22 23lastp x23, p11, p13.b // 00100101-00100010-10101101-1011011124// CHECK-INST: lastp x23, p11, p13.b25// CHECK-ENCODING: [0xb7,0xad,0x22,0x25]26// CHECK-ERROR: instruction requires: sme2p2 or sve2p227// CHECK-UNKNOWN: 2522adb7 <unknown>28 29lastp xzr, p15, p15.b // 00100101-00100010-10111101-1111111130// CHECK-INST: lastp xzr, p15, p15.b31// CHECK-ENCODING: [0xff,0xbd,0x22,0x25]32// CHECK-ERROR: instruction requires: sme2p2 or sve2p233// CHECK-UNKNOWN: 2522bdff <unknown>34 35lastp x0, p0, p0.h // 00100101-01100010-10000000-0000000036// CHECK-INST: lastp x0, p0, p0.h37// CHECK-ENCODING: [0x00,0x80,0x62,0x25]38// CHECK-ERROR: instruction requires: sme2p2 or sve2p239// CHECK-UNKNOWN: 25628000 <unknown>40 41lastp x23, p11, p13.h // 00100101-01100010-10101101-1011011142// CHECK-INST: lastp x23, p11, p13.h43// CHECK-ENCODING: [0xb7,0xad,0x62,0x25]44// CHECK-ERROR: instruction requires: sme2p2 or sve2p245// CHECK-UNKNOWN: 2562adb7 <unknown>46 47lastp xzr, p15, p15.h // 00100101-01100010-10111101-1111111148// CHECK-INST: lastp xzr, p15, p15.h49// CHECK-ENCODING: [0xff,0xbd,0x62,0x25]50// CHECK-ERROR: instruction requires: sme2p2 or sve2p251// CHECK-UNKNOWN: 2562bdff <unknown>52 53lastp x0, p0, p0.s // 00100101-10100010-10000000-0000000054// CHECK-INST: lastp x0, p0, p0.s55// CHECK-ENCODING: [0x00,0x80,0xa2,0x25]56// CHECK-ERROR: instruction requires: sme2p2 or sve2p257// CHECK-UNKNOWN: 25a28000 <unknown>58 59lastp x23, p11, p13.s // 00100101-10100010-10101101-1011011160// CHECK-INST: lastp x23, p11, p13.s61// CHECK-ENCODING: [0xb7,0xad,0xa2,0x25]62// CHECK-ERROR: instruction requires: sme2p2 or sve2p263// CHECK-UNKNOWN: 25a2adb7 <unknown>64 65lastp xzr, p15, p15.s // 00100101-10100010-10111101-1111111166// CHECK-INST: lastp xzr, p15, p15.s67// CHECK-ENCODING: [0xff,0xbd,0xa2,0x25]68// CHECK-ERROR: instruction requires: sme2p2 or sve2p269// CHECK-UNKNOWN: 25a2bdff <unknown>70 71lastp x0, p0, p0.d // 00100101-11100010-10000000-0000000072// CHECK-INST: lastp x0, p0, p0.d73// CHECK-ENCODING: [0x00,0x80,0xe2,0x25]74// CHECK-ERROR: instruction requires: sme2p2 or sve2p275// CHECK-UNKNOWN: 25e28000 <unknown>76 77lastp x23, p11, p13.d // 00100101-11100010-10101101-1011011178// CHECK-INST: lastp x23, p11, p13.d79// CHECK-ENCODING: [0xb7,0xad,0xe2,0x25]80// CHECK-ERROR: instruction requires: sme2p2 or sve2p281// CHECK-UNKNOWN: 25e2adb7 <unknown>82 83lastp xzr, p15, p15.d // 00100101-11100010-10111101-1111111184// CHECK-INST: lastp xzr, p15, p15.d85// CHECK-ENCODING: [0xff,0xbd,0xe2,0x25]86// CHECK-ERROR: instruction requires: sme2p2 or sve2p287// CHECK-UNKNOWN: 25e2bdff <unknown>