1 // RUN: %clang_cc1 -triple armv4 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V4 %s
2 // RUN: %clang_cc1 -triple armv4t %s -E -dD -o - | FileCheck --check-prefix=CHECK-V4 %s
3 // RUN: %clang_cc1 -triple armv5 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5 %s
4 // RUN: %clang_cc1 -triple armv5te %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-TE %s
5 // RUN: %clang_cc1 -triple armv5tej %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-TE %s
6 // RUN: %clang_cc1 -triple armv6 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6 %s
7 // RUN: %clang_cc1 -triple armv6m %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6M %s
8 // RUN: %clang_cc1 -triple armv7a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
9 // RUN: %clang_cc1 -triple armv7r %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
10 // RUN: %clang_cc1 -triple armv7m %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
11 // RUN: %clang_cc1 -triple armv8a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
12 // RUN: %clang_cc1 -triple armv8r %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
13 // RUN: %clang_cc1 -triple armv8.1a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
14 // RUN: %clang_cc1 -triple armv8.2a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
15 // RUN: %clang_cc1 -triple armv8.3a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
16 // RUN: %clang_cc1 -triple armv8.4a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
17 // RUN: %clang_cc1 -triple armv8.5a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
18 // RUN: %clang_cc1 -triple armv8.6a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
19 // RUN: %clang_cc1 -triple armv8.7a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
20 // RUN: %clang_cc1 -triple armv8.8a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
21 // RUN: %clang_cc1 -triple armv8.9a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
22 // RUN: %clang_cc1 -triple armv9a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
23 // RUN: %clang_cc1 -triple armv9.1a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
24 // RUN: %clang_cc1 -triple armv9.2a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
25 // RUN: %clang_cc1 -triple armv9.3a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
26 // RUN: %clang_cc1 -triple armv9.4a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
27 // RUN: %clang_cc1 -triple armv9.5a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
28 // RUN: %clang_cc1 -triple armv9.6a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
29 // RUN: %clang_cc1 -triple thumbv4 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V4-THUMB %s
30 // RUN: %clang_cc1 -triple thumbv4t %s -E -dD -o - | FileCheck --check-prefix=CHECK-V4-THUMB %s
31 // RUN: %clang_cc1 -triple thumbv5 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-THUMB %s
32 // RUN: %clang_cc1 -triple thumbv5te %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-TE-THUMB %s
33 // RUN: %clang_cc1 -triple thumbv5tej %s -E -dD -o - | FileCheck --check-prefix=CHECK-V5-TE-THUMB %s
34 // RUN: %clang_cc1 -triple thumbv6 %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6-THUMB %s
35 // RUN: %clang_cc1 -triple thumbv6k %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6-THUMB %s
36 // RUN: %clang_cc1 -triple thumbv6kz %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6-THUMB %s
37 // RUN: %clang_cc1 -triple thumbv6m %s -E -dD -o - | FileCheck --check-prefix=CHECK-V6M %s
38 // RUN: %clang_cc1 -triple thumbv7a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
39 // RUN: %clang_cc1 -triple thumbv7r %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
40 // RUN: %clang_cc1 -triple thumbv7m %s -E -dD -o - | FileCheck --check-prefix=CHECK-V7 %s
41 // RUN: %clang_cc1 -triple thumbv8a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
42 // RUN: %clang_cc1 -triple thumbv8r %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
43 // RUN: %clang_cc1 -triple thumbv8.1a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
44 // RUN: %clang_cc1 -triple thumbv8.2a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
45 // RUN: %clang_cc1 -triple thumbv8.3a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
46 // RUN: %clang_cc1 -triple thumbv8.4a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
47 // RUN: %clang_cc1 -triple thumbv8.5a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
48 // RUN: %clang_cc1 -triple thumbv8.6a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
49 // RUN: %clang_cc1 -triple thumbv8.7a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
50 // RUN: %clang_cc1 -triple thumbv8.8a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
51 // RUN: %clang_cc1 -triple thumbv8.9a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
52 // RUN: %clang_cc1 -triple thumbv9a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
53 // RUN: %clang_cc1 -triple thumbv9.1a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
54 // RUN: %clang_cc1 -triple thumbv9.2a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
55 // RUN: %clang_cc1 -triple thumbv9.3a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
56 // RUN: %clang_cc1 -triple thumbv9.4a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
57 // RUN: %clang_cc1 -triple thumbv9.5a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
58 // RUN: %clang_cc1 -triple thumbv9.6a %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8 %s
59 // RUN: %clang_cc1 -triple thumbv8m.base %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8-BASE %s
60 // RUN: %clang_cc1 -triple thumbv8m.main %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8-MAIN %s
61 // RUN: %clang_cc1 -triple thumbv8.1m.main %s -E -dD -o - | FileCheck --check-prefix=CHECK-V8-MAIN %s
66 __arm_cdp(1, 2, 3, 4, 5, 6);
67 // CHECK-LABEL: void cdp()
68 // CHECK-V4: __builtin_arm_cdp
69 // CHECK-V4-THUMB-NOT: __builtin_arm_cdp
70 // CHECK-V5: __builtin_arm_cdp
71 // CHECK-V5-TE: __builtin_arm_cdp
72 // CHECK-V5-THUMB-NOT: __builtin_arm_cdp
73 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_cdp
74 // CHECK-V6: __builtin_arm_cdp
75 // CHECK-V6-THUMB-NOT: __builtin_arm_cdp
76 // CHECK-V6M-NOT: __builtin_arm_cdp
77 // CHECK-V7: __builtin_arm_cdp
78 // CHECK-V8-NOT: __builtin_arm_cdp
79 // CHECK-V8-BASE-NOT: __builtin_arm_cdp
80 // CHECK-V8-MAIN: __builtin_arm_cdp
84 __arm_cdp2(1, 2, 3, 4, 5, 6);
85 // CHECK-LABEL: void cdp2()
86 // CHECK-V4-NOT: __builtin_arm_cdp2
87 // CHECK-V4-THUMB-NOT: __builtin_arm_cdp2
88 // CHECK-V5: __builtin_arm_cdp2
89 // CHECK-V5-TE: __builtin_arm_cdp2
90 // CHECK-V5-THUMB-NOT: __builtin_arm_cdp2
91 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_cdp2
92 // CHECK-V6: __builtin_arm_cdp2
93 // CHECK-V6-THUMB-NOT: __builtin_arm_cdp2
94 // CHECK-V6M-NOT: __builtin_arm_cdp2
95 // CHECK-V7: __builtin_arm_cdp2
96 // CHECK-V8-NOT: __builtin_arm_cdp2
97 // CHECK-V8-BASE-NOT: __builtin_arm_cdp2
98 // CHECK-V8-MAIN: __builtin_arm_cdp2
103 // CHECK-LABEL: void ldc()
104 // CHECK-V4: __builtin_arm_ldc
105 // CHECK-V4-THUMB-NOT: __builtin_arm_ldc
106 // CHECK-V5: __builtin_arm_ldc
107 // CHECK-V5-TE: __builtin_arm_ldc
108 // CHECK-V5-THUMB-NOT: __builtin_arm_ldc
109 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_ldc
110 // CHECK-V6: __builtin_arm_ldc
111 // CHECK-V6-THUMB-NOT: __builtin_arm_ldc
112 // CHECK-V6M-NOT: __builtin_arm_ldc
113 // CHECK-V7: __builtin_arm_ldc
114 // CHECK-V8: __builtin_arm_ldc
115 // CHECK-V8-BASE-NOT: __builtin_arm_ldc
116 // CHECK-V8-MAIN: __builtin_arm_ldc
120 __arm_ldcl(1, 2, &i
);
121 // CHECK-LABEL: void ldcl()
122 // CHECK-V4-NOT: __builtin_arm_ldcl
123 // CHECK-V4-THUMB-NOT: __builtin_arm_ldcl
124 // CHECK-V5: __builtin_arm_ldcl
125 // CHECK-V5-TE: __builtin_arm_ldcl
126 // CHECK-V5-THUMB-NOT: __builtin_arm_ldcl
127 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_ldcl
128 // CHECK-V6: __builtin_arm_ldcl
129 // CHECK-V6-THUMB-NOT: __builtin_arm_ldcl
130 // CHECK-V6M-NOT: __builtin_arm_ldcl
131 // CHECK-V7: __builtin_arm_ldcl
132 // CHECK-V8-NOT: __builtin_arm_ldcl
133 // CHECK-V8-BASE-NOT: __builtin_arm_ldcl
134 // CHECK-V8-MAIN: __builtin_arm_ldcl
138 __arm_ldc2(1, 2, &i
);
139 // CHECK-LABEL: void ldc2()
140 // CHECK-V4-NOT: __builtin_arm_ldc2
141 // CHECK-V4-THUMB-NOT: __builtin_arm_ldc2
142 // CHECK-V5: __builtin_arm_ldc2
143 // CHECK-V5-TE: __builtin_arm_ldc2
144 // CHECK-V5-THUMB-NOT: __builtin_arm_ldc2
145 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_ldc2
146 // CHECK-V6: __builtin_arm_ldc2
147 // CHECK-V6-THUMB-NOT: __builtin_arm_ldc2
148 // CHECK-V6M-NOT: __builtin_arm_ldc2
149 // CHECK-V7: __builtin_arm_ldc2
150 // CHECK-V8-NOT: __builtin_arm_ldc2
151 // CHECK-V8-BASE-NOT: __builtin_arm_ldc2
152 // CHECK-V8-MAIN: __builtin_arm_ldc2
156 __arm_ldc2l(1, 2, &i
);
157 // CHECK-LABEL: void ldc2l()
158 // CHECK-V4-NOT: __builtin_arm_ldc2l
159 // CHECK-V4-THUMB-NOT: __builtin_arm_ldc2l
160 // CHECK-V5: __builtin_arm_ldc2l
161 // CHECK-V5-TE: __builtin_arm_ldc2l
162 // CHECK-V5-THUMB-NOT: __builtin_arm_ldc2l
163 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_ldc2l
164 // CHECK-V6: __builtin_arm_ldc2l
165 // CHECK-V6-THUMB-NOT: __builtin_arm_ldc2l
166 // CHECK-V6M-NOT: __builtin_arm_ldc2l
167 // CHECK-V7: __builtin_arm_ldc2l
168 // CHECK-V8-NOT: __builtin_arm_ldc2l
169 // CHECK-V8-BASE-NOT: __builtin_arm_ldc2l
170 // CHECK-V8-MAIN: __builtin_arm_ldc2l
175 // CHECK-LABEL: void stc()
176 // CHECK-V4: __builtin_arm_stc
177 // CHECK-V4-THUMB-NOT: __builtin_arm_stc
178 // CHECK-V5: __builtin_arm_stc
179 // CHECK-V5-TE: __builtin_arm_stc
180 // CHECK-V5-THUMB-NOT: __builtin_arm_stc
181 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_stc
182 // CHECK-V6: __builtin_arm_stc
183 // CHECK-V6-THUMB-NOT: __builtin_arm_stc
184 // CHECK-V6M-NOT: __builtin_arm_stc
185 // CHECK-V7: __builtin_arm_stc
186 // CHECK-V8: __builtin_arm_stc
187 // CHECK-V8-BASE-NOT: __builtin_arm_stc
188 // CHECK-V8-MAIN: __builtin_arm_stc
192 __arm_stcl(1, 2, &i
);
193 // CHECK-LABEL: void stcl()
194 // CHECK-V4-NOT: __builtin_arm_stcl
195 // CHECK-V4-THUMB-NOT: __builtin_arm_stcl
196 // CHECK-V5: __builtin_arm_stcl
197 // CHECK-V5-TE: __builtin_arm_stcl
198 // CHECK-V5-THUMB-NOT: __builtin_arm_stcl
199 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_stcl
200 // CHECK-V6: __builtin_arm_stcl
201 // CHECK-V6-THUMB-NOT: __builtin_arm_stcl
202 // CHECK-V6M-NOT: __builtin_arm_stcl
203 // CHECK-V7: __builtin_arm_stcl
204 // CHECK-V8-NOT: __builtin_arm_stcl
205 // CHECK-V8-BASE-NOT: __builtin_arm_stcl
206 // CHECK-V8-MAIN: __builtin_arm_stcl
210 __arm_stc2(1, 2, &i
);
211 // CHECK-LABEL: void stc2()
212 // CHECK-V4-NOT: __builtin_arm_stc2
213 // CHECK-V4-THUMB-NOT: __builtin_arm_stc2
214 // CHECK-V5: __builtin_arm_stc2
215 // CHECK-V5-TE: __builtin_arm_stc2
216 // CHECK-V5-THUMB-NOT: __builtin_arm_stc2
217 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_stc2
218 // CHECK-V6: __builtin_arm_stc2
219 // CHECK-V6-THUMB-NOT: __builtin_arm_stc2
220 // CHECK-V6M-NOT: __builtin_arm_stc2
221 // CHECK-V7: __builtin_arm_stc2
222 // CHECK-V8-NOT: __builtin_arm_stc2
223 // CHECK-V8-BASE-NOT: __builtin_arm_stc2
224 // CHECK-V8-MAIN: __builtin_arm_stc2
228 __arm_stc2l(1, 2, &i
);
229 // CHECK-LABEL: void stc2l()
230 // CHECK-V4-NOT: __builtin_arm_stc2l
231 // CHECK-V4-THUMB-NOT: __builtin_arm_stc2l
232 // CHECK-V5: __builtin_arm_stc2l
233 // CHECK-V5-TE: __builtin_arm_stc2l
234 // CHECK-V5-THUMB-NOT: __builtin_arm_stc2l
235 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_stc2l
236 // CHECK-V6: __builtin_arm_stc2l
237 // CHECK-V6-THUMB-NOT: __builtin_arm_stc2l
238 // CHECK-V6M-NOT: __builtin_arm_stc2l
239 // CHECK-V7: __builtin_arm_stc2l
240 // CHECK-V8-NOT: __builtin_arm_stc2l
241 // CHECK-V8-BASE-NOT: __builtin_arm_stc2l
242 // CHECK-V8-MAIN: __builtin_arm_stc2l
246 __arm_mcr(1, 2, 3, 4, 5, 6);
247 // CHECK-LABEL: void mcr()
248 // CHECK-V4: __builtin_arm_mcr
249 // CHECK-V4-THUMB-NOT: __builtin_arm_mcr
250 // CHECK-V5: __builtin_arm_mcr
251 // CHECK-V5-TE: __builtin_arm_mcr
252 // CHECK-V5-THUMB-NOT: __builtin_arm_mcr
253 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_mcr
254 // CHECK-V6: __builtin_arm_mcr
255 // CHECK-V6-THUMB-NOT: __builtin_arm_mcr
256 // CHECK-V6M-NOT: __builtin_arm_mcr
257 // CHECK-V7: __builtin_arm_mcr
258 // CHECK-V8: __builtin_arm_mcr
259 // CHECK-V8-BASE-NOT: __builtin_arm_mcr
260 // CHECK-V8-MAIN: __builtin_arm_mcr
264 __arm_mcr2(1, 2, 3, 4, 5, 6);
265 // CHECK-LABEL: void mcr2()
266 // CHECK-V4-NOT: __builtin_arm_mcr2
267 // CHECK-V4-THUMB-NOT: __builtin_arm_mcr2
268 // CHECK-V5: __builtin_arm_mcr2
269 // CHECK-V5-TE: __builtin_arm_mcr2
270 // CHECK-V5-THUMB-NOT: __builtin_arm_mcr2
271 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_mcr2
272 // CHECK-V6: __builtin_arm_mcr2
273 // CHECK-V6-THUMB-NOT: __builtin_arm_mcr2
274 // CHECK-V6M-NOT: __builtin_arm_mcr2
275 // CHECK-V7: __builtin_arm_mcr2
276 // CHECK-V8-NOT: __builtin_arm_mcr2
277 // CHECK-V8-BASE-NOT: __builtin_arm_mcr2
278 // CHECK-V8-MAIN: __builtin_arm_mcr2
282 __arm_mrc(1, 2, 3, 4, 5);
283 // CHECK-LABEL: void mrc()
284 // CHECK-V4: __builtin_arm_mrc
285 // CHECK-V4-THUMB-NOT: __builtin_arm_mrc
286 // CHECK-V5: __builtin_arm_mrc
287 // CHECK-V5-TE: __builtin_arm_mrc
288 // CHECK-V5-THUMB-NOT: __builtin_arm_mrc
289 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_mrc
290 // CHECK-V6: __builtin_arm_mrc
291 // CHECK-V6-THUMB-NOT: __builtin_arm_mrc
292 // CHECK-V6M-NOT: __builtin_arm_mrc
293 // CHECK-V7: __builtin_arm_mrc
294 // CHECK-V8: __builtin_arm_mrc
295 // CHECK-V8-BASE-NOT: __builtin_arm_mrc
296 // CHECK-V8-MAIN: __builtin_arm_mrc
300 __arm_mrc2(1, 2, 3, 4, 5);
301 // CHECK-LABEL: void mrc2()
302 // CHECK-V4-NOT: __builtin_arm_mrc2
303 // CHECK-V4-THUMB-NOT: __builtin_arm_mrc2
304 // CHECK-V5: __builtin_arm_mrc2
305 // CHECK-V5-TE: __builtin_arm_mrc2
306 // CHECK-V5-THUMB-NOT: __builtin_arm_mrc2
307 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_mrc2
308 // CHECK-V6: __builtin_arm_mrc2
309 // CHECK-V6-THUMB-NOT: __builtin_arm_mrc2
310 // CHECK-V6M-NOT: __builtin_arm_mrc2
311 // CHECK-V7: __builtin_arm_mrc2
312 // CHECK-V8-NOT: __builtin_arm_mrc2
313 // CHECK-V8-BASE-NOT: __builtin_arm_mrc2
314 // CHECK-V8-MAIN: __builtin_arm_mrc2
318 __arm_mcrr(1, 2, 3, 4);
319 // CHECK-LABEL: void mcrr()
320 // CHECK-V4-NOT: __builtin_arm_mcrr
321 // CHECK-V4-THUMB-NOT: __builtin_arm_mcrr
322 // CHECK-V5-NOT: __builtin_arm_mcrr
323 // CHECK-V5-TE: __builtin_arm_mcrr
324 // CHECK-V5-THUMB-NOT: __builtin_arm_mcrr
325 // CHECK-V5-THUMB-NOT: __builtin_arm_mcrr
326 // CHECK-V6: __builtin_arm_mcrr
327 // CHECK-V6-THUMB-NOT: __builtin_arm_mcrr
328 // CHECK-V6M-NOT: __builtin_arm_mcrr
329 // CHECK-V7: __builtin_arm_mcrr
330 // CHECK-V8: __builtin_arm_mcrr
331 // CHECK-V8-BASE-NOT: __builtin_arm_mcrr
332 // CHECK-V8-MAIN: __builtin_arm_mcrr
336 __arm_mcrr2(1, 2, 3, 4);
337 // CHECK-LABEL: void mcrr2()
338 // CHECK-V4-NOT: __builtin_arm_mcrr2
339 // CHECK-V4-THUMB-NOT: __builtin_arm_mcrr2
340 // CHECK-V5-NOT: __builtin_arm_mcrr2
341 // CHECK-V5-TE-NOT: __builtin_arm_mcrr2
342 // CHECK-V5-THUMB-NOT: __builtin_arm_mcrr2
343 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_mcrr2
344 // CHECK-V6: __builtin_arm_mcrr2
345 // CHECK-V6-THUMB-NOT: __builtin_arm_mcrr2
346 // CHECK-V6M-NOT: __builtin_arm_mcrr2
347 // CHECK-V7: __builtin_arm_mcrr2
348 // CHECK-V8-NOT: __builtin_arm_mcrr2
349 // CHECK-V8-BASE-NOT: __builtin_arm_mcrr2
350 // CHECK-V8-MAIN: __builtin_arm_mcrr2
355 // CHECK-LABEL: void mrrc()
356 // CHECK-V4-NOT: __builtin_arm_mrrc
357 // CHECK-V4-THUMB-NOT: __builtin_arm_mrrc
358 // CHECK-V5-NOT: __builtin_arm_mrrc
359 // CHECK-V5-TE: __builtin_arm_mrrc
360 // CHECK-V5-THUMB-NOT: __builtin_arm_mrrc
361 // CHECK-V5-THUMB-TE-NOT: __builtin_arm_mrrc
362 // CHECK-V6: __builtin_arm_mrrc
363 // CHECK-V6-THUMB-NOT: __builtin_arm_mrrc
364 // CHECK-V6M-NOT: __builtin_arm_mrrc
365 // CHECK-V7: __builtin_arm_mrrc
366 // CHECK-V8: __builtin_arm_mrrc
367 // CHECK-V8-BASE-NOT: __builtin_arm_mrrc
368 // CHECK-V8-MAIN: __builtin_arm_mrrc
372 __arm_mrrc2(1, 2, 3);
373 // CHECK-LABEL: void mrrc2()
374 // CHECK-V4-NOT: __builtin_arm_mrrc2
375 // CHECK-V4-THUMB-NOT: __builtin_arm_mrrc2
376 // CHECK-V5-NOT: __builtin_arm_mrrc2
377 // CHECK-V5-TE-NOT: __builtin_arm_mrrc2
378 // CHECK-V5-THUMB-NOT: __builtin_arm_mrrc2
379 // CHECK-V5-TE-THUMB-NOT: __builtin_arm_mrrc2
380 // CHECK-V6: __builtin_arm_mrrc2
381 // CHECK-V6-THUMB-NOT: __builtin_arm_mrrc2
382 // CHECK-V6M-NOT: __builtin_arm_mrrc2
383 // CHECK-V7: __builtin_arm_mrrc2
384 // CHECK-V8-NOT: __builtin_arm_mrrc2
385 // CHECK-V8-BASE-NOT: __builtin_arm_mrrc2
386 // CHECK-V8-MAIN: __builtin_arm_mrrc2