Home | History | Annotate | Download | only in AArch64
      1  // RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding < %s | FileCheck %s
      2 
      3         mrs x8, icc_iar1_el1
      4         mrs x26, icc_iar0_el1
      5         mrs x2, icc_hppir1_el1
      6         mrs x17, icc_hppir0_el1
      7         mrs x29, icc_rpr_el1
      8         mrs x4, ich_vtr_el2
      9         mrs x24, ich_eisr_el2
     10         mrs x9, ich_elsr_el2
     11         mrs x24, icc_bpr1_el1
     12         mrs x14, icc_bpr0_el1
     13         mrs x19, icc_pmr_el1
     14         mrs x23, icc_ctlr_el1
     15         mrs x20, icc_ctlr_el3
     16         mrs x28, icc_sre_el1
     17         mrs x25, icc_sre_el2
     18         mrs x8, icc_sre_el3
     19         mrs x22, icc_igrpen0_el1
     20         mrs x5, icc_igrpen1_el1
     21         mrs x7, icc_igrpen1_el3
     22         mrs x22, icc_seien_el1
     23         mrs x4, icc_ap0r0_el1
     24         mrs x11, icc_ap0r1_el1
     25         mrs x27, icc_ap0r2_el1
     26         mrs x21, icc_ap0r3_el1
     27         mrs x2, icc_ap1r0_el1
     28         mrs x21, icc_ap1r1_el1
     29         mrs x10, icc_ap1r2_el1
     30         mrs x27, icc_ap1r3_el1
     31         mrs x20, ich_ap0r0_el2
     32         mrs x21, ich_ap0r1_el2
     33         mrs x5, ich_ap0r2_el2
     34         mrs x4, ich_ap0r3_el2
     35         mrs x15, ich_ap1r0_el2
     36         mrs x12, ich_ap1r1_el2
     37         mrs x27, ich_ap1r2_el2
     38         mrs x20, ich_ap1r3_el2
     39         mrs x10, ich_hcr_el2
     40         mrs x27, ich_misr_el2
     41         mrs x6, ich_vmcr_el2
     42         mrs x19, ich_vseir_el2
     43         mrs x3, ich_lr0_el2
     44         mrs x1, ich_lr1_el2
     45         mrs x22, ich_lr2_el2
     46         mrs x21, ich_lr3_el2
     47         mrs x6, ich_lr4_el2
     48         mrs x10, ich_lr5_el2
     49         mrs x11, ich_lr6_el2
     50         mrs x12, ich_lr7_el2
     51         mrs x0, ich_lr8_el2
     52         mrs x21, ich_lr9_el2
     53         mrs x13, ich_lr10_el2
     54         mrs x26, ich_lr11_el2
     55         mrs x1, ich_lr12_el2
     56         mrs x8, ich_lr13_el2
     57         mrs x2, ich_lr14_el2
     58         mrs x8, ich_lr15_el2
     59 // CHECK: mrs      x8, icc_iar1_el1           // encoding: [0x08,0xcc,0x38,0xd5]
     60 // CHECK: mrs      x26, icc_iar0_el1          // encoding: [0x1a,0xc8,0x38,0xd5]
     61 // CHECK: mrs      x2, icc_hppir1_el1         // encoding: [0x42,0xcc,0x38,0xd5]
     62 // CHECK: mrs      x17, icc_hppir0_el1        // encoding: [0x51,0xc8,0x38,0xd5]
     63 // CHECK: mrs      x29, icc_rpr_el1           // encoding: [0x7d,0xcb,0x38,0xd5]
     64 // CHECK: mrs      x4, ich_vtr_el2            // encoding: [0x24,0xcb,0x3c,0xd5]
     65 // CHECK: mrs      x24, ich_eisr_el2          // encoding: [0x78,0xcb,0x3c,0xd5]
     66 // CHECK: mrs      x9, ich_elsr_el2           // encoding: [0xa9,0xcb,0x3c,0xd5]
     67 // CHECK: mrs      x24, icc_bpr1_el1          // encoding: [0x78,0xcc,0x38,0xd5]
     68 // CHECK: mrs      x14, icc_bpr0_el1          // encoding: [0x6e,0xc8,0x38,0xd5]
     69 // CHECK: mrs      x19, icc_pmr_el1           // encoding: [0x13,0x46,0x38,0xd5]
     70 // CHECK: mrs      x23, icc_ctlr_el1          // encoding: [0x97,0xcc,0x38,0xd5]
     71 // CHECK: mrs      x20, icc_ctlr_el3          // encoding: [0x94,0xcc,0x3e,0xd5]
     72 // CHECK: mrs      x28, icc_sre_el1           // encoding: [0xbc,0xcc,0x38,0xd5]
     73 // CHECK: mrs      x25, icc_sre_el2           // encoding: [0xb9,0xc9,0x3c,0xd5]
     74 // CHECK: mrs      x8, icc_sre_el3            // encoding: [0xa8,0xcc,0x3e,0xd5]
     75 // CHECK: mrs      x22, icc_igrpen0_el1       // encoding: [0xd6,0xcc,0x38,0xd5]
     76 // CHECK: mrs      x5, icc_igrpen1_el1        // encoding: [0xe5,0xcc,0x38,0xd5]
     77 // CHECK: mrs      x7, icc_igrpen1_el3        // encoding: [0xe7,0xcc,0x3e,0xd5]
     78 // CHECK: mrs      x22, icc_seien_el1         // encoding: [0x16,0xcd,0x38,0xd5]
     79 // CHECK: mrs      x4, icc_ap0r0_el1          // encoding: [0x84,0xc8,0x38,0xd5]
     80 // CHECK: mrs      x11, icc_ap0r1_el1         // encoding: [0xab,0xc8,0x38,0xd5]
     81 // CHECK: mrs      x27, icc_ap0r2_el1         // encoding: [0xdb,0xc8,0x38,0xd5]
     82 // CHECK: mrs      x21, icc_ap0r3_el1         // encoding: [0xf5,0xc8,0x38,0xd5]
     83 // CHECK: mrs      x2, icc_ap1r0_el1          // encoding: [0x02,0xc9,0x38,0xd5]
     84 // CHECK: mrs      x21, icc_ap1r1_el1         // encoding: [0x35,0xc9,0x38,0xd5]
     85 // CHECK: mrs      x10, icc_ap1r2_el1         // encoding: [0x4a,0xc9,0x38,0xd5]
     86 // CHECK: mrs      x27, icc_ap1r3_el1         // encoding: [0x7b,0xc9,0x38,0xd5]
     87 // CHECK: mrs      x20, ich_ap0r0_el2         // encoding: [0x14,0xc8,0x3c,0xd5]
     88 // CHECK: mrs      x21, ich_ap0r1_el2         // encoding: [0x35,0xc8,0x3c,0xd5]
     89 // CHECK: mrs      x5, ich_ap0r2_el2          // encoding: [0x45,0xc8,0x3c,0xd5]
     90 // CHECK: mrs      x4, ich_ap0r3_el2          // encoding: [0x64,0xc8,0x3c,0xd5]
     91 // CHECK: mrs      x15, ich_ap1r0_el2         // encoding: [0x0f,0xc9,0x3c,0xd5]
     92 // CHECK: mrs      x12, ich_ap1r1_el2         // encoding: [0x2c,0xc9,0x3c,0xd5]
     93 // CHECK: mrs      x27, ich_ap1r2_el2         // encoding: [0x5b,0xc9,0x3c,0xd5]
     94 // CHECK: mrs      x20, ich_ap1r3_el2         // encoding: [0x74,0xc9,0x3c,0xd5]
     95 // CHECK: mrs      x10, ich_hcr_el2           // encoding: [0x0a,0xcb,0x3c,0xd5]
     96 // CHECK: mrs      x27, ich_misr_el2          // encoding: [0x5b,0xcb,0x3c,0xd5]
     97 // CHECK: mrs      x6, ich_vmcr_el2           // encoding: [0xe6,0xcb,0x3c,0xd5]
     98 // CHECK: mrs      x19, ich_vseir_el2         // encoding: [0x93,0xc9,0x3c,0xd5]
     99 // CHECK: mrs      x3, ich_lr0_el2            // encoding: [0x03,0xcc,0x3c,0xd5]
    100 // CHECK: mrs      x1, ich_lr1_el2            // encoding: [0x21,0xcc,0x3c,0xd5]
    101 // CHECK: mrs      x22, ich_lr2_el2           // encoding: [0x56,0xcc,0x3c,0xd5]
    102 // CHECK: mrs      x21, ich_lr3_el2           // encoding: [0x75,0xcc,0x3c,0xd5]
    103 // CHECK: mrs      x6, ich_lr4_el2            // encoding: [0x86,0xcc,0x3c,0xd5]
    104 // CHECK: mrs      x10, ich_lr5_el2           // encoding: [0xaa,0xcc,0x3c,0xd5]
    105 // CHECK: mrs      x11, ich_lr6_el2           // encoding: [0xcb,0xcc,0x3c,0xd5]
    106 // CHECK: mrs      x12, ich_lr7_el2           // encoding: [0xec,0xcc,0x3c,0xd5]
    107 // CHECK: mrs      x0, ich_lr8_el2            // encoding: [0x00,0xcd,0x3c,0xd5]
    108 // CHECK: mrs      x21, ich_lr9_el2           // encoding: [0x35,0xcd,0x3c,0xd5]
    109 // CHECK: mrs      x13, ich_lr10_el2          // encoding: [0x4d,0xcd,0x3c,0xd5]
    110 // CHECK: mrs      x26, ich_lr11_el2          // encoding: [0x7a,0xcd,0x3c,0xd5]
    111 // CHECK: mrs      x1, ich_lr12_el2           // encoding: [0x81,0xcd,0x3c,0xd5]
    112 // CHECK: mrs      x8, ich_lr13_el2           // encoding: [0xa8,0xcd,0x3c,0xd5]
    113 // CHECK: mrs      x2, ich_lr14_el2           // encoding: [0xc2,0xcd,0x3c,0xd5]
    114 // CHECK: mrs      x8, ich_lr15_el2           // encoding: [0xe8,0xcd,0x3c,0xd5]
    115 
    116         msr icc_eoir1_el1, x27
    117         msr icc_eoir0_el1, x5
    118         msr icc_dir_el1, x13
    119         msr icc_sgi1r_el1, x21
    120         msr icc_asgi1r_el1, x25
    121         msr icc_sgi0r_el1, x28
    122         msr icc_bpr1_el1, x7
    123         msr icc_bpr0_el1, x9
    124         msr icc_pmr_el1, x29
    125         msr icc_ctlr_el1, x24
    126         msr icc_ctlr_el3, x0
    127         msr icc_sre_el1, x2
    128         msr icc_sre_el2, x5
    129         msr icc_sre_el3, x10
    130         msr icc_igrpen0_el1, x22
    131         msr icc_igrpen1_el1, x11
    132         msr icc_igrpen1_el3, x8
    133         msr icc_seien_el1, x4
    134         msr icc_ap0r0_el1, x27
    135         msr icc_ap0r1_el1, x5
    136         msr icc_ap0r2_el1, x20
    137         msr icc_ap0r3_el1, x0
    138         msr icc_ap1r0_el1, x2
    139         msr icc_ap1r1_el1, x29
    140         msr icc_ap1r2_el1, x23
    141         msr icc_ap1r3_el1, x11
    142         msr ich_ap0r0_el2, x2
    143         msr ich_ap0r1_el2, x27
    144         msr ich_ap0r2_el2, x7
    145         msr ich_ap0r3_el2, x1
    146         msr ich_ap1r0_el2, x7
    147         msr ich_ap1r1_el2, x12
    148         msr ich_ap1r2_el2, x14
    149         msr ich_ap1r3_el2, x13
    150         msr ich_hcr_el2, x1
    151         msr ich_misr_el2, x10
    152         msr ich_vmcr_el2, x24
    153         msr ich_vseir_el2, x29
    154         msr ich_lr0_el2, x26
    155         msr ich_lr1_el2, x9
    156         msr ich_lr2_el2, x18
    157         msr ich_lr3_el2, x26
    158         msr ich_lr4_el2, x22
    159         msr ich_lr5_el2, x26
    160         msr ich_lr6_el2, x27
    161         msr ich_lr7_el2, x8
    162         msr ich_lr8_el2, x17
    163         msr ich_lr9_el2, x19
    164         msr ich_lr10_el2, x17
    165         msr ich_lr11_el2, x5
    166         msr ich_lr12_el2, x29
    167         msr ich_lr13_el2, x2
    168         msr ich_lr14_el2, x13
    169         msr ich_lr15_el2, x27
    170 // CHECK: msr      icc_eoir1_el1, x27         // encoding: [0x3b,0xcc,0x18,0xd5]
    171 // CHECK: msr      icc_eoir0_el1, x5          // encoding: [0x25,0xc8,0x18,0xd5]
    172 // CHECK: msr      icc_dir_el1, x13           // encoding: [0x2d,0xcb,0x18,0xd5]
    173 // CHECK: msr      icc_sgi1r_el1, x21         // encoding: [0xb5,0xcb,0x18,0xd5]
    174 // CHECK: msr      icc_asgi1r_el1, x25        // encoding: [0xd9,0xcb,0x18,0xd5]
    175 // CHECK: msr      icc_sgi0r_el1, x28         // encoding: [0xfc,0xcb,0x18,0xd5]
    176 // CHECK: msr      icc_bpr1_el1, x7           // encoding: [0x67,0xcc,0x18,0xd5]
    177 // CHECK: msr      icc_bpr0_el1, x9           // encoding: [0x69,0xc8,0x18,0xd5]
    178 // CHECK: msr      icc_pmr_el1, x29           // encoding: [0x1d,0x46,0x18,0xd5]
    179 // CHECK: msr      icc_ctlr_el1, x24          // encoding: [0x98,0xcc,0x18,0xd5]
    180 // CHECK: msr      icc_ctlr_el3, x0           // encoding: [0x80,0xcc,0x1e,0xd5]
    181 // CHECK: msr      icc_sre_el1, x2            // encoding: [0xa2,0xcc,0x18,0xd5]
    182 // CHECK: msr      icc_sre_el2, x5            // encoding: [0xa5,0xc9,0x1c,0xd5]
    183 // CHECK: msr      icc_sre_el3, x10           // encoding: [0xaa,0xcc,0x1e,0xd5]
    184 // CHECK: msr      icc_igrpen0_el1, x22       // encoding: [0xd6,0xcc,0x18,0xd5]
    185 // CHECK: msr      icc_igrpen1_el1, x11       // encoding: [0xeb,0xcc,0x18,0xd5]
    186 // CHECK: msr      icc_igrpen1_el3, x8        // encoding: [0xe8,0xcc,0x1e,0xd5]
    187 // CHECK: msr      icc_seien_el1, x4          // encoding: [0x04,0xcd,0x18,0xd5]
    188 // CHECK: msr      icc_ap0r0_el1, x27         // encoding: [0x9b,0xc8,0x18,0xd5]
    189 // CHECK: msr      icc_ap0r1_el1, x5          // encoding: [0xa5,0xc8,0x18,0xd5]
    190 // CHECK: msr      icc_ap0r2_el1, x20         // encoding: [0xd4,0xc8,0x18,0xd5]
    191 // CHECK: msr      icc_ap0r3_el1, x0          // encoding: [0xe0,0xc8,0x18,0xd5]
    192 // CHECK: msr      icc_ap1r0_el1, x2          // encoding: [0x02,0xc9,0x18,0xd5]
    193 // CHECK: msr      icc_ap1r1_el1, x29         // encoding: [0x3d,0xc9,0x18,0xd5]
    194 // CHECK: msr      icc_ap1r2_el1, x23         // encoding: [0x57,0xc9,0x18,0xd5]
    195 // CHECK: msr      icc_ap1r3_el1, x11         // encoding: [0x6b,0xc9,0x18,0xd5]
    196 // CHECK: msr      ich_ap0r0_el2, x2          // encoding: [0x02,0xc8,0x1c,0xd5]
    197 // CHECK: msr      ich_ap0r1_el2, x27         // encoding: [0x3b,0xc8,0x1c,0xd5]
    198 // CHECK: msr      ich_ap0r2_el2, x7          // encoding: [0x47,0xc8,0x1c,0xd5]
    199 // CHECK: msr      ich_ap0r3_el2, x1          // encoding: [0x61,0xc8,0x1c,0xd5]
    200 // CHECK: msr      ich_ap1r0_el2, x7          // encoding: [0x07,0xc9,0x1c,0xd5]
    201 // CHECK: msr      ich_ap1r1_el2, x12         // encoding: [0x2c,0xc9,0x1c,0xd5]
    202 // CHECK: msr      ich_ap1r2_el2, x14         // encoding: [0x4e,0xc9,0x1c,0xd5]
    203 // CHECK: msr      ich_ap1r3_el2, x13         // encoding: [0x6d,0xc9,0x1c,0xd5]
    204 // CHECK: msr      ich_hcr_el2, x1            // encoding: [0x01,0xcb,0x1c,0xd5]
    205 // CHECK: msr      ich_misr_el2, x10          // encoding: [0x4a,0xcb,0x1c,0xd5]
    206 // CHECK: msr      ich_vmcr_el2, x24          // encoding: [0xf8,0xcb,0x1c,0xd5]
    207 // CHECK: msr      ich_vseir_el2, x29         // encoding: [0x9d,0xc9,0x1c,0xd5]
    208 // CHECK: msr      ich_lr0_el2, x26           // encoding: [0x1a,0xcc,0x1c,0xd5]
    209 // CHECK: msr      ich_lr1_el2, x9            // encoding: [0x29,0xcc,0x1c,0xd5]
    210 // CHECK: msr      ich_lr2_el2, x18           // encoding: [0x52,0xcc,0x1c,0xd5]
    211 // CHECK: msr      ich_lr3_el2, x26           // encoding: [0x7a,0xcc,0x1c,0xd5]
    212 // CHECK: msr      ich_lr4_el2, x22           // encoding: [0x96,0xcc,0x1c,0xd5]
    213 // CHECK: msr      ich_lr5_el2, x26           // encoding: [0xba,0xcc,0x1c,0xd5]
    214 // CHECK: msr      ich_lr6_el2, x27           // encoding: [0xdb,0xcc,0x1c,0xd5]
    215 // CHECK: msr      ich_lr7_el2, x8            // encoding: [0xe8,0xcc,0x1c,0xd5]
    216 // CHECK: msr      ich_lr8_el2, x17           // encoding: [0x11,0xcd,0x1c,0xd5]
    217 // CHECK: msr      ich_lr9_el2, x19           // encoding: [0x33,0xcd,0x1c,0xd5]
    218 // CHECK: msr      ich_lr10_el2, x17          // encoding: [0x51,0xcd,0x1c,0xd5]
    219 // CHECK: msr      ich_lr11_el2, x5           // encoding: [0x65,0xcd,0x1c,0xd5]
    220 // CHECK: msr      ich_lr12_el2, x29          // encoding: [0x9d,0xcd,0x1c,0xd5]
    221 // CHECK: msr      ich_lr13_el2, x2           // encoding: [0xa2,0xcd,0x1c,0xd5]
    222 // CHECK: msr      ich_lr14_el2, x13          // encoding: [0xcd,0xcd,0x1c,0xd5]
    223 // CHECK: msr      ich_lr15_el2, x27          // encoding: [0xfb,0xcd,0x1c,0xd5]
    224