• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
9msr MPAM0_EL1, x0
10msr MPAM1_EL1, x0
11msr MPAM2_EL2, x0
12msr MPAM3_EL3, x0
13msr MPAM1_EL12, x0
14msr MPAMHCR_EL2, x0
15msr MPAMVPMV_EL2, x0
16msr MPAMVPM0_EL2, x0
17msr MPAMVPM1_EL2, x0
18msr MPAMVPM2_EL2, x0
19msr MPAMVPM3_EL2, x0
20msr MPAMVPM4_EL2, x0
21msr MPAMVPM5_EL2, x0
22msr MPAMVPM6_EL2, x0
23msr MPAMVPM7_EL2, x0
24msr MPAMIDR_EL1, x0
25
26mrs x0, MPAM0_EL1
27mrs x0, MPAM1_EL1
28mrs x0, MPAM2_EL2
29mrs x0, MPAM3_EL3
30mrs x0, MPAM1_EL12
31mrs x0, MPAMHCR_EL2
32mrs x0, MPAMVPMV_EL2
33mrs x0, MPAMVPM0_EL2
34mrs x0, MPAMVPM1_EL2
35mrs x0, MPAMVPM2_EL2
36mrs x0, MPAMVPM3_EL2
37mrs x0, MPAMVPM4_EL2
38mrs x0, MPAMVPM5_EL2
39mrs x0, MPAMVPM6_EL2
40mrs x0, MPAMVPM7_EL2
41mrs 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