1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %s \
// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
// RUN: | FileCheck %s --check-prefix=CHECK-ERROR
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \
// RUN: | llvm-objdump -d --mattr=+sme - | FileCheck %s --check-prefix=CHECK-INST
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \
// RUN: | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
// --------------------------------------------------------------------------//
// read
mrs x3, ID_AA64SMFR0_EL1
// CHECK-INST: mrs x3, ID_AA64SMFR0_EL1
// CHECK-ENCODING: [0xa3,0x04,0x38,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53804a3 mrs x3, S3_0_C0_C4_5
mrs x3, SMCR_EL1
// CHECK-INST: mrs x3, SMCR_EL1
// CHECK-ENCODING: [0xc3,0x12,0x38,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53812c3 mrs x3, S3_0_C1_C2_6
mrs x3, SMCR_EL2
// CHECK-INST: mrs x3, SMCR_EL2
// CHECK-ENCODING: [0xc3,0x12,0x3c,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53c12c3 mrs x3, S3_4_C1_C2_6
mrs x3, SMCR_EL3
// CHECK-INST: mrs x3, SMCR_EL3
// CHECK-ENCODING: [0xc3,0x12,0x3e,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53e12c3 mrs x3, S3_6_C1_C2_6
mrs x3, SMCR_EL12
// CHECK-INST: mrs x3, SMCR_EL12
// CHECK-ENCODING: [0xc3,0x12,0x3d,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53d12c3 mrs x3, S3_5_C1_C2_6
mrs x3, SVCR
// CHECK-INST: mrs x3, SVCR
// CHECK-ENCODING: [0x43,0x42,0x3b,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53b4243 mrs x3, S3_3_C4_C2_2
mrs x3, SMPRI_EL1
// CHECK-INST: mrs x3, SMPRI_EL1
// CHECK-ENCODING: [0x83,0x12,0x38,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d5381283 mrs x3, S3_0_C1_C2_4
mrs x3, SMPRIMAP_EL2
// CHECK-INST: mrs x3, SMPRIMAP_EL2
// CHECK-ENCODING: [0xa3,0x12,0x3c,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53c12a3 mrs x3, S3_4_C1_C2_5
mrs x3, SMIDR_EL1
// CHECK-INST: mrs x3, SMIDR_EL1
// CHECK-ENCODING: [0xc3,0x00,0x39,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53900c3 mrs x3, S3_1_C0_C0_6
mrs x3, TPIDR2_EL0
// CHECK-INST: mrs x3, TPIDR2_EL0
// CHECK-ENCODING: [0xa3,0xd0,0x3b,0xd5]
// CHECK-ERROR: expected readable system register
// CHECK-UNKNOWN: d53bd0a3 mrs x3, S3_3_C13_C0_5
// --------------------------------------------------------------------------//
// write
msr SMCR_EL1, x3
// CHECK-INST: msr SMCR_EL1, x3
// CHECK-ENCODING: [0xc3,0x12,0x18,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d51812c3 msr S3_0_C1_C2_6, x3
msr SMCR_EL2, x3
// CHECK-INST: msr SMCR_EL2, x3
// CHECK-ENCODING: [0xc3,0x12,0x1c,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d51c12c3 msr S3_4_C1_C2_6, x3
msr SMCR_EL3, x3
// CHECK-INST: msr SMCR_EL3, x3
// CHECK-ENCODING: [0xc3,0x12,0x1e,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d51e12c3 msr S3_6_C1_C2_6, x3
msr SMCR_EL12, x3
// CHECK-INST: msr SMCR_EL12, x3
// CHECK-ENCODING: [0xc3,0x12,0x1d,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d51d12c3 msr S3_5_C1_C2_6, x3
msr SVCR, x3
// CHECK-INST: msr SVCR, x3
// CHECK-ENCODING: [0x43,0x42,0x1b,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d51b4243 msr S3_3_C4_C2_2, x3
msr SMPRI_EL1, x3
// CHECK-INST: msr SMPRI_EL1, x3
// CHECK-ENCODING: [0x83,0x12,0x18,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d5181283 msr S3_0_C1_C2_4, x3
msr SMPRIMAP_EL2, x3
// CHECK-INST: msr SMPRIMAP_EL2, x3
// CHECK-ENCODING: [0xa3,0x12,0x1c,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d51c12a3 msr S3_4_C1_C2_5, x3
msr SVCRSM, #0
// CHECK-INST: smstop sm
// CHECK-ENCODING: [0x7f,0x42,0x03,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d503427f msr S0_3_C4_C2_3, xzr
msr SVCRSM, #1
// CHECK-INST: smstart
// CHECK-ENCODING: [0x7f,0x43,0x03,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d503437f msr S0_3_C4_C3_3, xzr
msr SVCRZA, #0
// CHECK-INST: smstop za
// CHECK-ENCODING: [0x7f,0x44,0x03,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d503447f msr S0_3_C4_C4_3, xzr
msr SVCRZA, #1
// CHECK-INST: smstart za
// CHECK-ENCODING: [0x7f,0x45,0x03,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d503457f msr S0_3_C4_C5_3, xzr
msr SVCRSMZA, #0
// CHECK-INST: smstop
// CHECK-ENCODING: [0x7f,0x46,0x03,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d503467f msr S0_3_C4_C6_3, xzr
msr SVCRSMZA, #1
// CHECK-INST: smstart
// CHECK-ENCODING: [0x7f,0x47,0x03,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d503477f msr S0_3_C4_C7_3, xzr
msr TPIDR2_EL0, x3
// CHECK-INST: msr TPIDR2_EL0, x3
// CHECK-ENCODING: [0xa3,0xd0,0x1b,0xd5]
// CHECK-ERROR: expected writable system register or pstate
// CHECK-UNKNOWN: d51bd0a3 msr S3_3_C13_C0_5, x3
|