1 // RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.4a < %s 2> %t | FileCheck %s --check-prefix=CHECK 2 // RUN: FileCheck --check-prefix=CHECK-RO < %t %s 3 // RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=-v8.4a < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR 4 5 //------------------------------------------------------------------------------ 6 // ARMV8.4-A MPAM Extensions 7 //------------------------------------------------------------------------------ 8 9 msr MPAM0_EL1, x0 10 msr MPAM1_EL1, x0 11 msr MPAM2_EL2, x0 12 msr MPAM3_EL3, x0 13 msr MPAM1_EL12, x0 14 msr MPAMHCR_EL2, x0 15 msr MPAMVPMV_EL2, x0 16 msr MPAMVPM0_EL2, x0 17 msr MPAMVPM1_EL2, x0 18 msr MPAMVPM2_EL2, x0 19 msr MPAMVPM3_EL2, x0 20 msr MPAMVPM4_EL2, x0 21 msr MPAMVPM5_EL2, x0 22 msr MPAMVPM6_EL2, x0 23 msr MPAMVPM7_EL2, x0 24 msr MPAMIDR_EL1, x0 25 26 mrs x0, MPAM0_EL1 27 mrs x0, MPAM1_EL1 28 mrs x0, MPAM2_EL2 29 mrs x0, MPAM3_EL3 30 mrs x0, MPAM1_EL12 31 mrs x0, MPAMHCR_EL2 32 mrs x0, MPAMVPMV_EL2 33 mrs x0, MPAMVPM0_EL2 34 mrs x0, MPAMVPM1_EL2 35 mrs x0, MPAMVPM2_EL2 36 mrs x0, MPAMVPM3_EL2 37 mrs x0, MPAMVPM4_EL2 38 mrs x0, MPAMVPM5_EL2 39 mrs x0, MPAMVPM6_EL2 40 mrs x0, MPAMVPM7_EL2 41 mrs x0, MPAMIDR_EL1 42 43 //CHECK: msr MPAM0_EL1, x0 // encoding: [0x20,0xa5,0x18,0xd5] 44 //CHECK: msr MPAM1_EL1, x0 // encoding: [0x00,0xa5,0x18,0xd5] 45 //CHECK: msr MPAM2_EL2, x0 // encoding: [0x00,0xa5,0x1c,0xd5] 46 //CHECK: msr MPAM3_EL3, x0 // encoding: [0x00,0xa5,0x1e,0xd5] 47 //CHECK: msr MPAM1_EL12, x0 // encoding: [0x00,0xa5,0x1d,0xd5] 48 //CHECK: msr MPAMHCR_EL2, x0 // encoding: [0x00,0xa4,0x1c,0xd5] 49 //CHECK: msr MPAMVPMV_EL2, x0 // encoding: [0x20,0xa4,0x1c,0xd5] 50 //CHECK: msr MPAMVPM0_EL2, x0 // encoding: [0x00,0xa6,0x1c,0xd5] 51 //CHECK: msr MPAMVPM1_EL2, x0 // encoding: [0x20,0xa6,0x1c,0xd5] 52 //CHECK: msr MPAMVPM2_EL2, x0 // encoding: [0x40,0xa6,0x1c,0xd5] 53 //CHECK: msr MPAMVPM3_EL2, x0 // encoding: [0x60,0xa6,0x1c,0xd5] 54 //CHECK: msr MPAMVPM4_EL2, x0 // encoding: [0x80,0xa6,0x1c,0xd5] 55 //CHECK: msr MPAMVPM5_EL2, x0 // encoding: [0xa0,0xa6,0x1c,0xd5] 56 //CHECK: msr MPAMVPM6_EL2, x0 // encoding: [0xc0,0xa6,0x1c,0xd5] 57 //CHECK: msr MPAMVPM7_EL2, x0 // encoding: [0xe0,0xa6,0x1c,0xd5] 58 59 //CHECK-RO: error: expected writable system register or pstate 60 //CHECK-RO: msr MPAMIDR_EL1, x0 61 //CHECK-RO: ^ 62 63 //CHECK: mrs x0, MPAM0_EL1 // encoding: [0x20,0xa5,0x38,0xd5] 64 //CHECK: mrs x0, MPAM1_EL1 // encoding: [0x00,0xa5,0x38,0xd5] 65 //CHECK: mrs x0, MPAM2_EL2 // encoding: [0x00,0xa5,0x3c,0xd5] 66 //CHECK: mrs x0, MPAM3_EL3 // encoding: [0x00,0xa5,0x3e,0xd5] 67 //CHECK: mrs x0, MPAM1_EL12 // encoding: [0x00,0xa5,0x3d,0xd5] 68 //CHECK: mrs x0, MPAMHCR_EL2 // encoding: [0x00,0xa4,0x3c,0xd5] 69 //CHECK: mrs x0, MPAMVPMV_EL2 // encoding: [0x20,0xa4,0x3c,0xd5] 70 //CHECK: mrs x0, MPAMVPM0_EL2 // encoding: [0x00,0xa6,0x3c,0xd5] 71 //CHECK: mrs x0, MPAMVPM1_EL2 // encoding: [0x20,0xa6,0x3c,0xd5] 72 //CHECK: mrs x0, MPAMVPM2_EL2 // encoding: [0x40,0xa6,0x3c,0xd5] 73 //CHECK: mrs x0, MPAMVPM3_EL2 // encoding: [0x60,0xa6,0x3c,0xd5] 74 //CHECK: mrs x0, MPAMVPM4_EL2 // encoding: [0x80,0xa6,0x3c,0xd5] 75 //CHECK: mrs x0, MPAMVPM5_EL2 // encoding: [0xa0,0xa6,0x3c,0xd5] 76 //CHECK: mrs x0, MPAMVPM6_EL2 // encoding: [0xc0,0xa6,0x3c,0xd5] 77 //CHECK: mrs x0, MPAMVPM7_EL2 // encoding: [0xe0,0xa6,0x3c,0xd5] 78 //CHECK: mrs x0, MPAMIDR_EL1 // encoding: [0x80,0xa4,0x38,0xd5] 79 80 //CHECK-ERROR: error: expected writable system register or pstate 81 //CHECK-ERROR: msr MPAM0_EL1, x0 82 //CHECK-ERROR: ^ 83 //CHECK-ERROR: error: expected writable system register or pstate 84 //CHECK-ERROR: msr MPAM1_EL1, x0 85 //CHECK-ERROR: ^ 86 //CHECK-ERROR: error: expected writable system register or pstate 87 //CHECK-ERROR: msr MPAM2_EL2, x0 88 //CHECK-ERROR: ^ 89 //CHECK-ERROR: error: expected writable system register or pstate 90 //CHECK-ERROR: msr MPAM3_EL3, x0 91 //CHECK-ERROR: ^ 92 //CHECK-ERROR: error: expected writable system register or pstate 93 //CHECK-ERROR: msr MPAM1_EL12, x0 94 //CHECK-ERROR: ^ 95 //CHECK-ERROR: error: expected writable system register or pstate 96 //CHECK-ERROR: msr MPAMHCR_EL2, x0 97 //CHECK-ERROR: ^ 98 //CHECK-ERROR: error: expected writable system register or pstate 99 //CHECK-ERROR: msr MPAMVPMV_EL2, x0 100 //CHECK-ERROR: ^ 101 //CHECK-ERROR: error: expected writable system register or pstate 102 //CHECK-ERROR: msr MPAMVPM0_EL2, x0 103 //CHECK-ERROR: ^ 104 //CHECK-ERROR: error: expected writable system register or pstate 105 //CHECK-ERROR: msr MPAMVPM1_EL2, x0 106 //CHECK-ERROR: ^ 107 //CHECK-ERROR: error: expected writable system register or pstate 108 //CHECK-ERROR: msr MPAMVPM2_EL2, x0 109 //CHECK-ERROR: ^ 110 //CHECK-ERROR: error: expected writable system register or pstate 111 //CHECK-ERROR: msr MPAMVPM3_EL2, x0 112 //CHECK-ERROR: ^ 113 //CHECK-ERROR: error: expected writable system register or pstate 114 //CHECK-ERROR: msr MPAMVPM4_EL2, x0 115 //CHECK-ERROR: ^ 116 //CHECK-ERROR: error: expected writable system register or pstate 117 //CHECK-ERROR: msr MPAMVPM5_EL2, x0 118 //CHECK-ERROR: ^ 119 //CHECK-ERROR: error: expected writable system register or pstate 120 //CHECK-ERROR: msr MPAMVPM6_EL2, x0 121 //CHECK-ERROR: ^ 122 //CHECK-ERROR: error: expected writable system register or pstate 123 //CHECK-ERROR: msr MPAMVPM7_EL2, x0 124 //CHECK-ERROR: ^ 125 //CHECK-ERROR: error: expected writable system register or pstate 126 //CHECK-ERROR: msr MPAMIDR_EL1, x0 127 //CHECK-ERROR: ^ 128 129 //CHECK-ERROR: error: expected readable system register 130 //CHECK-ERROR: mrs x0, MPAM0_EL1 131 //CHECK-ERROR: ^ 132 //CHECK-ERROR: error: expected readable system register 133 //CHECK-ERROR: mrs x0, MPAM1_EL1 134 //CHECK-ERROR: ^ 135 //CHECK-ERROR: error: expected readable system register 136 //CHECK-ERROR: mrs x0, MPAM2_EL2 137 //CHECK-ERROR: ^ 138 //CHECK-ERROR: error: expected readable system register 139 //CHECK-ERROR: mrs x0, MPAM3_EL3 140 //CHECK-ERROR: ^ 141 //CHECK-ERROR: error: expected readable system register 142 //CHECK-ERROR: mrs x0, MPAM1_EL12 143 //CHECK-ERROR: ^ 144 //CHECK-ERROR: error: expected readable system register 145 //CHECK-ERROR: mrs x0, MPAMHCR_EL2 146 //CHECK-ERROR: ^ 147 //CHECK-ERROR: error: expected readable system register 148 //CHECK-ERROR: mrs x0, MPAMVPMV_EL2 149 //CHECK-ERROR: ^ 150 //CHECK-ERROR: error: expected readable system register 151 //CHECK-ERROR: mrs x0, MPAMVPM0_EL2 152 //CHECK-ERROR: ^ 153 //CHECK-ERROR: error: expected readable system register 154 //CHECK-ERROR: mrs x0, MPAMVPM1_EL2 155 //CHECK-ERROR: ^ 156 //CHECK-ERROR: error: expected readable system register 157 //CHECK-ERROR: mrs x0, MPAMVPM2_EL2 158 //CHECK-ERROR: ^ 159 //CHECK-ERROR: error: expected readable system register 160 //CHECK-ERROR: mrs x0, MPAMVPM3_EL2 161 //CHECK-ERROR: ^ 162 //CHECK-ERROR: error: expected readable system register 163 //CHECK-ERROR: mrs x0, MPAMVPM4_EL2 164 //CHECK-ERROR: ^ 165 //CHECK-ERROR: error: expected readable system register 166 //CHECK-ERROR: mrs x0, MPAMVPM5_EL2 167 //CHECK-ERROR: ^ 168 //CHECK-ERROR: error: expected readable system register 169 //CHECK-ERROR: mrs x0, MPAMVPM6_EL2 170 //CHECK-ERROR: ^ 171 //CHECK-ERROR: error: expected readable system register 172 //CHECK-ERROR: mrs x0, MPAMVPM7_EL2 173 //CHECK-ERROR: ^ 174 //CHECK-ERROR: error: expected readable system register 175 //CHECK-ERROR: mrs x0, MPAMIDR_EL1 176 //CHECK-ERROR: ^ 177