Home | History | Annotate | Download | only in AArch64
      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