1// RUN: llvm-mc -triple aarch64 -show-encoding -disassemble -mattr=+amvs %s  | FileCheck %s
2// RUN: llvm-mc -triple aarch64 -show-encoding -disassemble -mattr=+v8.6a -o - %s | FileCheck %s
3// RUN: llvm-mc -triple aarch64 -show-encoding -disassemble -o - %s | FileCheck --check-prefix=NOAMVS %s
4[0x00,0xd8,0x1c,0xd5]
5[0x20,0xd8,0x1c,0xd5]
6[0x40,0xd8,0x1c,0xd5]
7[0x60,0xd8,0x1c,0xd5]
8[0x80,0xd8,0x1c,0xd5]
9[0xa0,0xd8,0x1c,0xd5]
10[0xc0,0xd8,0x1c,0xd5]
11[0xe0,0xd8,0x1c,0xd5]
12[0x00,0xd9,0x1c,0xd5]
13[0x20,0xd9,0x1c,0xd5]
14[0x40,0xd9,0x1c,0xd5]
15[0x60,0xd9,0x1c,0xd5]
16[0x80,0xd9,0x1c,0xd5]
17[0xa0,0xd9,0x1c,0xd5]
18[0xc0,0xd9,0x1c,0xd5]
19[0xe0,0xd9,0x1c,0xd5]
20[0x00,0xd8,0x3c,0xd5]
21[0x20,0xd8,0x3c,0xd5]
22[0x40,0xd8,0x3c,0xd5]
23[0x60,0xd8,0x3c,0xd5]
24[0x80,0xd8,0x3c,0xd5]
25[0xa0,0xd8,0x3c,0xd5]
26[0xc0,0xd8,0x3c,0xd5]
27[0xe0,0xd8,0x3c,0xd5]
28[0x00,0xd9,0x3c,0xd5]
29[0x20,0xd9,0x3c,0xd5]
30[0x40,0xd9,0x3c,0xd5]
31[0x60,0xd9,0x3c,0xd5]
32[0x80,0xd9,0x3c,0xd5]
33[0xa0,0xd9,0x3c,0xd5]
34[0xc0,0xd9,0x3c,0xd5]
35[0xe0,0xd9,0x3c,0xd5]
36[0x00,0xda,0x1c,0xd5]
37[0x20,0xda,0x1c,0xd5]
38[0x40,0xda,0x1c,0xd5]
39[0x60,0xda,0x1c,0xd5]
40[0x80,0xda,0x1c,0xd5]
41[0xa0,0xda,0x1c,0xd5]
42[0xc0,0xda,0x1c,0xd5]
43[0xe0,0xda,0x1c,0xd5]
44[0x00,0xdb,0x1c,0xd5]
45[0x20,0xdb,0x1c,0xd5]
46[0x40,0xdb,0x1c,0xd5]
47[0x60,0xdb,0x1c,0xd5]
48[0x80,0xdb,0x1c,0xd5]
49[0xa0,0xdb,0x1c,0xd5]
50[0xc0,0xdb,0x1c,0xd5]
51[0xe0,0xdb,0x1c,0xd5]
52[0x00,0xda,0x3c,0xd5]
53[0x20,0xda,0x3c,0xd5]
54[0x40,0xda,0x3c,0xd5]
55[0x60,0xda,0x3c,0xd5]
56[0x80,0xda,0x3c,0xd5]
57[0xa0,0xda,0x3c,0xd5]
58[0xc0,0xda,0x3c,0xd5]
59[0xe0,0xda,0x3c,0xd5]
60[0x00,0xdb,0x3c,0xd5]
61[0x20,0xdb,0x3c,0xd5]
62[0x40,0xdb,0x3c,0xd5]
63[0x60,0xdb,0x3c,0xd5]
64[0x80,0xdb,0x3c,0xd5]
65[0xa0,0xdb,0x3c,0xd5]
66[0xc0,0xdb,0x3c,0xd5]
67[0xe0,0xdb,0x3c,0xd5]
68// CHECK:  .text
69// CHECK-NEXT:  msr     AMEVCNTVOFF00_EL2, x0   // encoding: [0x00,0xd8,0x1c,0xd5]
70// CHECK-NEXT:  msr     AMEVCNTVOFF01_EL2, x0   // encoding: [0x20,0xd8,0x1c,0xd5]
71// CHECK-NEXT:  msr     AMEVCNTVOFF02_EL2, x0   // encoding: [0x40,0xd8,0x1c,0xd5]
72// CHECK-NEXT:  msr     AMEVCNTVOFF03_EL2, x0   // encoding: [0x60,0xd8,0x1c,0xd5]
73// CHECK-NEXT:  msr     AMEVCNTVOFF04_EL2, x0   // encoding: [0x80,0xd8,0x1c,0xd5]
74// CHECK-NEXT:  msr     AMEVCNTVOFF05_EL2, x0   // encoding: [0xa0,0xd8,0x1c,0xd5]
75// CHECK-NEXT:  msr     AMEVCNTVOFF06_EL2, x0   // encoding: [0xc0,0xd8,0x1c,0xd5]
76// CHECK-NEXT:  msr     AMEVCNTVOFF07_EL2, x0   // encoding: [0xe0,0xd8,0x1c,0xd5]
77// CHECK-NEXT:  msr     AMEVCNTVOFF08_EL2, x0   // encoding: [0x00,0xd9,0x1c,0xd5]
78// CHECK-NEXT:  msr     AMEVCNTVOFF09_EL2, x0   // encoding: [0x20,0xd9,0x1c,0xd5]
79// CHECK-NEXT:  msr     AMEVCNTVOFF010_EL2, x0  // encoding: [0x40,0xd9,0x1c,0xd5]
80// CHECK-NEXT:  msr     AMEVCNTVOFF011_EL2, x0  // encoding: [0x60,0xd9,0x1c,0xd5]
81// CHECK-NEXT:  msr     AMEVCNTVOFF012_EL2, x0  // encoding: [0x80,0xd9,0x1c,0xd5]
82// CHECK-NEXT:  msr     AMEVCNTVOFF013_EL2, x0  // encoding: [0xa0,0xd9,0x1c,0xd5]
83// CHECK-NEXT:  msr     AMEVCNTVOFF014_EL2, x0  // encoding: [0xc0,0xd9,0x1c,0xd5]
84// CHECK-NEXT:  msr     AMEVCNTVOFF015_EL2, x0  // encoding: [0xe0,0xd9,0x1c,0xd5]
85// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF00_EL2   // encoding: [0x00,0xd8,0x3c,0xd5]
86// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF01_EL2   // encoding: [0x20,0xd8,0x3c,0xd5]
87// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF02_EL2   // encoding: [0x40,0xd8,0x3c,0xd5]
88// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF03_EL2   // encoding: [0x60,0xd8,0x3c,0xd5]
89// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF04_EL2   // encoding: [0x80,0xd8,0x3c,0xd5]
90// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF05_EL2   // encoding: [0xa0,0xd8,0x3c,0xd5]
91// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF06_EL2   // encoding: [0xc0,0xd8,0x3c,0xd5]
92// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF07_EL2   // encoding: [0xe0,0xd8,0x3c,0xd5]
93// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF08_EL2   // encoding: [0x00,0xd9,0x3c,0xd5]
94// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF09_EL2   // encoding: [0x20,0xd9,0x3c,0xd5]
95// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF010_EL2  // encoding: [0x40,0xd9,0x3c,0xd5]
96// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF011_EL2  // encoding: [0x60,0xd9,0x3c,0xd5]
97// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF012_EL2  // encoding: [0x80,0xd9,0x3c,0xd5]
98// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF013_EL2  // encoding: [0xa0,0xd9,0x3c,0xd5]
99// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF014_EL2  // encoding: [0xc0,0xd9,0x3c,0xd5]
100// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF015_EL2  // encoding: [0xe0,0xd9,0x3c,0xd5]
101// CHECK-NEXT:  msr     AMEVCNTVOFF10_EL2, x0   // encoding: [0x00,0xda,0x1c,0xd5]
102// CHECK-NEXT:  msr     AMEVCNTVOFF11_EL2, x0   // encoding: [0x20,0xda,0x1c,0xd5]
103// CHECK-NEXT:  msr     AMEVCNTVOFF12_EL2, x0   // encoding: [0x40,0xda,0x1c,0xd5]
104// CHECK-NEXT:  msr     AMEVCNTVOFF13_EL2, x0   // encoding: [0x60,0xda,0x1c,0xd5]
105// CHECK-NEXT:  msr     AMEVCNTVOFF14_EL2, x0   // encoding: [0x80,0xda,0x1c,0xd5]
106// CHECK-NEXT:  msr     AMEVCNTVOFF15_EL2, x0   // encoding: [0xa0,0xda,0x1c,0xd5]
107// CHECK-NEXT:  msr     AMEVCNTVOFF16_EL2, x0   // encoding: [0xc0,0xda,0x1c,0xd5]
108// CHECK-NEXT:  msr     AMEVCNTVOFF17_EL2, x0   // encoding: [0xe0,0xda,0x1c,0xd5]
109// CHECK-NEXT:  msr     AMEVCNTVOFF18_EL2, x0   // encoding: [0x00,0xdb,0x1c,0xd5]
110// CHECK-NEXT:  msr     AMEVCNTVOFF19_EL2, x0   // encoding: [0x20,0xdb,0x1c,0xd5]
111// CHECK-NEXT:  msr     AMEVCNTVOFF110_EL2, x0  // encoding: [0x40,0xdb,0x1c,0xd5]
112// CHECK-NEXT:  msr     AMEVCNTVOFF111_EL2, x0  // encoding: [0x60,0xdb,0x1c,0xd5]
113// CHECK-NEXT:  msr     AMEVCNTVOFF112_EL2, x0  // encoding: [0x80,0xdb,0x1c,0xd5]
114// CHECK-NEXT:  msr     AMEVCNTVOFF113_EL2, x0  // encoding: [0xa0,0xdb,0x1c,0xd5]
115// CHECK-NEXT:  msr     AMEVCNTVOFF114_EL2, x0  // encoding: [0xc0,0xdb,0x1c,0xd5]
116// CHECK-NEXT:  msr     AMEVCNTVOFF115_EL2, x0  // encoding: [0xe0,0xdb,0x1c,0xd5]
117// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF10_EL2   // encoding: [0x00,0xda,0x3c,0xd5]
118// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF11_EL2   // encoding: [0x20,0xda,0x3c,0xd5]
119// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF12_EL2   // encoding: [0x40,0xda,0x3c,0xd5]
120// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF13_EL2   // encoding: [0x60,0xda,0x3c,0xd5]
121// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF14_EL2   // encoding: [0x80,0xda,0x3c,0xd5]
122// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF15_EL2   // encoding: [0xa0,0xda,0x3c,0xd5]
123// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF16_EL2   // encoding: [0xc0,0xda,0x3c,0xd5]
124// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF17_EL2   // encoding: [0xe0,0xda,0x3c,0xd5]
125// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF18_EL2   // encoding: [0x00,0xdb,0x3c,0xd5]
126// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF19_EL2   // encoding: [0x20,0xdb,0x3c,0xd5]
127// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF110_EL2  // encoding: [0x40,0xdb,0x3c,0xd5]
128// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF111_EL2  // encoding: [0x60,0xdb,0x3c,0xd5]
129// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF112_EL2  // encoding: [0x80,0xdb,0x3c,0xd5]
130// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF113_EL2  // encoding: [0xa0,0xdb,0x3c,0xd5]
131// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF114_EL2  // encoding: [0xc0,0xdb,0x3c,0xd5]
132// CHECK-NEXT:  mrs     x0, AMEVCNTVOFF115_EL2  // encoding: [0xe0,0xdb,0x3c,0xd5]
133// NOAMVS:  .text
134// NOAMVS-NEXT:  msr     S3_4_C13_C8_0, x0       // encoding: [0x00,0xd8,0x1c,0xd5]
135// NOAMVS-NEXT:  msr     S3_4_C13_C8_1, x0       // encoding: [0x20,0xd8,0x1c,0xd5]
136// NOAMVS-NEXT:  msr     S3_4_C13_C8_2, x0       // encoding: [0x40,0xd8,0x1c,0xd5]
137// NOAMVS-NEXT:  msr     S3_4_C13_C8_3, x0       // encoding: [0x60,0xd8,0x1c,0xd5]
138// NOAMVS-NEXT:  msr     S3_4_C13_C8_4, x0       // encoding: [0x80,0xd8,0x1c,0xd5]
139// NOAMVS-NEXT:  msr     S3_4_C13_C8_5, x0       // encoding: [0xa0,0xd8,0x1c,0xd5]
140// NOAMVS-NEXT:  msr     S3_4_C13_C8_6, x0       // encoding: [0xc0,0xd8,0x1c,0xd5]
141// NOAMVS-NEXT:  msr     S3_4_C13_C8_7, x0       // encoding: [0xe0,0xd8,0x1c,0xd5]
142// NOAMVS-NEXT:  msr     S3_4_C13_C9_0, x0       // encoding: [0x00,0xd9,0x1c,0xd5]
143// NOAMVS-NEXT:  msr     S3_4_C13_C9_1, x0       // encoding: [0x20,0xd9,0x1c,0xd5]
144// NOAMVS-NEXT:  msr     S3_4_C13_C9_2, x0       // encoding: [0x40,0xd9,0x1c,0xd5]
145// NOAMVS-NEXT:  msr     S3_4_C13_C9_3, x0       // encoding: [0x60,0xd9,0x1c,0xd5]
146// NOAMVS-NEXT:  msr     S3_4_C13_C9_4, x0       // encoding: [0x80,0xd9,0x1c,0xd5]
147// NOAMVS-NEXT:  msr     S3_4_C13_C9_5, x0       // encoding: [0xa0,0xd9,0x1c,0xd5]
148// NOAMVS-NEXT:  msr     S3_4_C13_C9_6, x0       // encoding: [0xc0,0xd9,0x1c,0xd5]
149// NOAMVS-NEXT:  msr     S3_4_C13_C9_7, x0       // encoding: [0xe0,0xd9,0x1c,0xd5]
150// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C8_0       // encoding: [0x00,0xd8,0x3c,0xd5]
151// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C8_1       // encoding: [0x20,0xd8,0x3c,0xd5]
152// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C8_2       // encoding: [0x40,0xd8,0x3c,0xd5]
153// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C8_3       // encoding: [0x60,0xd8,0x3c,0xd5]
154// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C8_4       // encoding: [0x80,0xd8,0x3c,0xd5]
155// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C8_5       // encoding: [0xa0,0xd8,0x3c,0xd5]
156// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C8_6       // encoding: [0xc0,0xd8,0x3c,0xd5]
157// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C8_7       // encoding: [0xe0,0xd8,0x3c,0xd5]
158// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C9_0       // encoding: [0x00,0xd9,0x3c,0xd5]
159// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C9_1       // encoding: [0x20,0xd9,0x3c,0xd5]
160// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C9_2       // encoding: [0x40,0xd9,0x3c,0xd5]
161// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C9_3       // encoding: [0x60,0xd9,0x3c,0xd5]
162// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C9_4       // encoding: [0x80,0xd9,0x3c,0xd5]
163// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C9_5       // encoding: [0xa0,0xd9,0x3c,0xd5]
164// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C9_6       // encoding: [0xc0,0xd9,0x3c,0xd5]
165// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C9_7       // encoding: [0xe0,0xd9,0x3c,0xd5]
166// NOAMVS-NEXT:  msr     S3_4_C13_C10_0, x0      // encoding: [0x00,0xda,0x1c,0xd5]
167// NOAMVS-NEXT:  msr     S3_4_C13_C10_1, x0      // encoding: [0x20,0xda,0x1c,0xd5]
168// NOAMVS-NEXT:  msr     S3_4_C13_C10_2, x0      // encoding: [0x40,0xda,0x1c,0xd5]
169// NOAMVS-NEXT:  msr     S3_4_C13_C10_3, x0      // encoding: [0x60,0xda,0x1c,0xd5]
170// NOAMVS-NEXT:  msr     S3_4_C13_C10_4, x0      // encoding: [0x80,0xda,0x1c,0xd5]
171// NOAMVS-NEXT:  msr     S3_4_C13_C10_5, x0      // encoding: [0xa0,0xda,0x1c,0xd5]
172// NOAMVS-NEXT:  msr     S3_4_C13_C10_6, x0      // encoding: [0xc0,0xda,0x1c,0xd5]
173// NOAMVS-NEXT:  msr     S3_4_C13_C10_7, x0      // encoding: [0xe0,0xda,0x1c,0xd5]
174// NOAMVS-NEXT:  msr     S3_4_C13_C11_0, x0      // encoding: [0x00,0xdb,0x1c,0xd5]
175// NOAMVS-NEXT:  msr     S3_4_C13_C11_1, x0      // encoding: [0x20,0xdb,0x1c,0xd5]
176// NOAMVS-NEXT:  msr     S3_4_C13_C11_2, x0      // encoding: [0x40,0xdb,0x1c,0xd5]
177// NOAMVS-NEXT:  msr     S3_4_C13_C11_3, x0      // encoding: [0x60,0xdb,0x1c,0xd5]
178// NOAMVS-NEXT:  msr     S3_4_C13_C11_4, x0      // encoding: [0x80,0xdb,0x1c,0xd5]
179// NOAMVS-NEXT:  msr     S3_4_C13_C11_5, x0      // encoding: [0xa0,0xdb,0x1c,0xd5]
180// NOAMVS-NEXT:  msr     S3_4_C13_C11_6, x0      // encoding: [0xc0,0xdb,0x1c,0xd5]
181// NOAMVS-NEXT:  msr     S3_4_C13_C11_7, x0      // encoding: [0xe0,0xdb,0x1c,0xd5]
182// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C10_0      // encoding: [0x00,0xda,0x3c,0xd5]
183// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C10_1      // encoding: [0x20,0xda,0x3c,0xd5]
184// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C10_2      // encoding: [0x40,0xda,0x3c,0xd5]
185// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C10_3      // encoding: [0x60,0xda,0x3c,0xd5]
186// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C10_4      // encoding: [0x80,0xda,0x3c,0xd5]
187// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C10_5      // encoding: [0xa0,0xda,0x3c,0xd5]
188// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C10_6      // encoding: [0xc0,0xda,0x3c,0xd5]
189// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C10_7      // encoding: [0xe0,0xda,0x3c,0xd5]
190// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C11_0      // encoding: [0x00,0xdb,0x3c,0xd5]
191// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C11_1      // encoding: [0x20,0xdb,0x3c,0xd5]
192// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C11_2      // encoding: [0x40,0xdb,0x3c,0xd5]
193// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C11_3      // encoding: [0x60,0xdb,0x3c,0xd5]
194// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C11_4      // encoding: [0x80,0xdb,0x3c,0xd5]
195// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C11_5      // encoding: [0xa0,0xdb,0x3c,0xd5]
196// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C11_6      // encoding: [0xc0,0xdb,0x3c,0xd5]
197// NOAMVS-NEXT:  mrs     x0, S3_4_C13_C11_7      // encoding: [0xe0,0xdb,0x3c,0xd5]
198