151 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: not llvm-mc -triple=aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \4// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \6// RUN: | llvm-objdump -d --mattr=+d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \8// RUN: | llvm-objdump -d --mattr=-d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-UNKNOWN9// Disassemble encoding and check the re-encoding (-show-encoding) matches.10// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \11// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN: | llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -disassemble -show-encoding \13// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15 16// +the required for RCWSMASK_EL1, RCWMASK_EL117// +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL218// +vh required for TTBR1_EL219 20msrr TTBR0_EL1, x0, x121// CHECK-INST: msrr TTBR0_EL1, x0, x122// CHECK-ENCODING: encoding: [0x00,0x20,0x58,0xd5]23// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12824// CHECK-UNKNOWN: d5582000 <unknown>25 26msrr TTBR1_EL1, x0, x127// CHECK-INST: msrr TTBR1_EL1, x0, x128// CHECK-ENCODING: encoding: [0x20,0x20,0x58,0xd5]29// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12830// CHECK-UNKNOWN: d5582020 <unknown>31 32msrr PAR_EL1, x0, x133// CHECK-INST: msrr PAR_EL1, x0, x134// CHECK-ENCODING: encoding: [0x00,0x74,0x58,0xd5]35// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12836// CHECK-UNKNOWN: d5587400 <unknown>37 38msrr RCWSMASK_EL1, x0, x139// CHECK-INST: msrr RCWSMASK_EL1, x0, x140// CHECK-ENCODING: encoding: [0x60,0xd0,0x58,0xd5]41// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12842// CHECK-UNKNOWN: d558d060 <unknown>43 44msrr RCWMASK_EL1, x0, x145// CHECK-INST: msrr RCWMASK_EL1, x0, x146// CHECK-ENCODING: encoding: [0xc0,0xd0,0x58,0xd5]47// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12848// CHECK-UNKNOWN: d558d0c0 <unknown>49 50msrr TTBR0_EL2, x0, x151// CHECK-INST: msrr TTBR0_EL2, x0, x152// CHECK-ENCODING: encoding: [0x00,0x20,0x5c,0xd5]53// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12854// CHECK-UNKNOWN: d55c2000 <unknown>55 56msrr TTBR1_EL2, x0, x157// CHECK-INST: msrr TTBR1_EL2, x0, x158// CHECK-ENCODING: encoding: [0x20,0x20,0x5c,0xd5]59// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12860// CHECK-UNKNOWN: d55c2020 <unknown>61 62msrr VTTBR_EL2, x0, x163// CHECK-INST: msrr VTTBR_EL2, x0, x164// CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5]65// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12866// CHECK-UNKNOWN: d55c2100 <unknown>67 68msrr VTTBR_EL2, x0, x169// CHECK-INST: msrr VTTBR_EL2, x0, x170// CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5]71// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12872// CHECK-UNKNOWN: d55c2100 <unknown>73 74msrr VTTBR_EL2, x2, x375// CHECK-INST: msrr VTTBR_EL2, x2, x376// CHECK-ENCODING: encoding: [0x02,0x21,0x5c,0xd5]77// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12878// CHECK-UNKNOWN: d55c2102 <unknown>79 80msrr VTTBR_EL2, x4, x581// CHECK-INST: msrr VTTBR_EL2, x4, x582// CHECK-ENCODING: encoding: [0x04,0x21,0x5c,0xd5]83// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12884// CHECK-UNKNOWN: d55c2104 <unknown>85 86msrr VTTBR_EL2, x6, x787// CHECK-INST: msrr VTTBR_EL2, x6, x788// CHECK-ENCODING: encoding: [0x06,0x21,0x5c,0xd5]89// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12890// CHECK-UNKNOWN: d55c2106 <unknown>91 92msrr VTTBR_EL2, x8, x993// CHECK-INST: msrr VTTBR_EL2, x8, x994// CHECK-ENCODING: encoding: [0x08,0x21,0x5c,0xd5]95// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d12896// CHECK-UNKNOWN: d55c2108 <unknown>97 98msrr VTTBR_EL2, x10, x1199// CHECK-INST: msrr VTTBR_EL2, x10, x11100// CHECK-ENCODING: encoding: [0x0a,0x21,0x5c,0xd5]101// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128102// CHECK-UNKNOWN: d55c210a <unknown>103 104msrr VTTBR_EL2, x12, x13105// CHECK-INST: msrr VTTBR_EL2, x12, x13106// CHECK-ENCODING: encoding: [0x0c,0x21,0x5c,0xd5]107// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128108// CHECK-UNKNOWN: d55c210c <unknown>109 110msrr VTTBR_EL2, x14, x15111// CHECK-INST: msrr VTTBR_EL2, x14, x15112// CHECK-ENCODING: encoding: [0x0e,0x21,0x5c,0xd5]113// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128114// CHECK-UNKNOWN: d55c210e <unknown>115 116msrr VTTBR_EL2, x16, x17117// CHECK-INST: msrr VTTBR_EL2, x16, x17118// CHECK-ENCODING: encoding: [0x10,0x21,0x5c,0xd5]119// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128120// CHECK-UNKNOWN: d55c2110 <unknown>121 122msrr VTTBR_EL2, x18, x19123// CHECK-INST: msrr VTTBR_EL2, x18, x19124// CHECK-ENCODING: encoding: [0x12,0x21,0x5c,0xd5]125// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128126// CHECK-UNKNOWN: d55c2112 <unknown>127 128msrr VTTBR_EL2, x20, x21129// CHECK-INST: msrr VTTBR_EL2, x20, x21130// CHECK-ENCODING: encoding: [0x14,0x21,0x5c,0xd5]131// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128132// CHECK-UNKNOWN: d55c2114 <unknown>133 134msrr VTTBR_EL2, x22, x23135// CHECK-INST: msrr VTTBR_EL2, x22, x23136// CHECK-ENCODING: encoding: [0x16,0x21,0x5c,0xd5]137// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128138// CHECK-UNKNOWN: d55c2116 <unknown>139 140msrr VTTBR_EL2, x24, x25141// CHECK-INST: msrr VTTBR_EL2, x24, x25142// CHECK-ENCODING: encoding: [0x18,0x21,0x5c,0xd5]143// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128144// CHECK-UNKNOWN: d55c2118 <unknown>145 146msrr VTTBR_EL2, x26, x27147// CHECK-INST: msrr VTTBR_EL2, x26, x27148// CHECK-ENCODING: encoding: [0x1a,0x21,0x5c,0xd5]149// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128150// CHECK-UNKNOWN: d55c211a <unknown>151