xref: /llvm-project/clang/test/CodeGen/hexagon-inline-asm-reg-names.c (revision adc402bf3d0565ac2bc7efbdd05f0d846e818041)
1 // RUN: %clang_cc1 -triple hexagon-unknown-elf -target-feature +hvx -target-feature +hvx-length128b -emit-llvm -o - %s | FileCheck %s
2 
test_r0(void)3 void test_r0(void) {
4   // CHECK: define {{.*}}void @test_r0
5   // CHECK: call void asm sideeffect "nop", "~{r0}"()
6   asm("nop" ::: "r0");
7 }
test_r1(void)8 void test_r1(void) {
9   // CHECK: define {{.*}}void @test_r1
10   // CHECK: call void asm sideeffect "nop", "~{r1}"()
11   asm("nop" ::: "r1");
12 }
test_r2(void)13 void test_r2(void) {
14   // CHECK: define {{.*}}void @test_r2
15   // CHECK: call void asm sideeffect "nop", "~{r2}"()
16   asm("nop" ::: "r2");
17 }
test_r3(void)18 void test_r3(void) {
19   // CHECK: define {{.*}}void @test_r3
20   // CHECK: call void asm sideeffect "nop", "~{r3}"()
21   asm("nop" ::: "r3");
22 }
test_r4(void)23 void test_r4(void) {
24   // CHECK: define {{.*}}void @test_r4
25   // CHECK: call void asm sideeffect "nop", "~{r4}"()
26   asm("nop" ::: "r4");
27 }
test_r5(void)28 void test_r5(void) {
29   // CHECK: define {{.*}}void @test_r5
30   // CHECK: call void asm sideeffect "nop", "~{r5}"()
31   asm("nop" ::: "r5");
32 }
test_r6(void)33 void test_r6(void) {
34   // CHECK: define {{.*}}void @test_r6
35   // CHECK: call void asm sideeffect "nop", "~{r6}"()
36   asm("nop" ::: "r6");
37 }
test_r7(void)38 void test_r7(void) {
39   // CHECK: define {{.*}}void @test_r7
40   // CHECK: call void asm sideeffect "nop", "~{r7}"()
41   asm("nop" ::: "r7");
42 }
test_r8(void)43 void test_r8(void) {
44   // CHECK: define {{.*}}void @test_r8
45   // CHECK: call void asm sideeffect "nop", "~{r8}"()
46   asm("nop" ::: "r8");
47 }
test_r9(void)48 void test_r9(void) {
49   // CHECK: define {{.*}}void @test_r9
50   // CHECK: call void asm sideeffect "nop", "~{r9}"()
51   asm("nop" ::: "r9");
52 }
test_r10(void)53 void test_r10(void) {
54   // CHECK: define {{.*}}void @test_r10
55   // CHECK: call void asm sideeffect "nop", "~{r10}"()
56   asm("nop" ::: "r10");
57 }
test_r11(void)58 void test_r11(void) {
59   // CHECK: define {{.*}}void @test_r11
60   // CHECK: call void asm sideeffect "nop", "~{r11}"()
61   asm("nop" ::: "r11");
62 }
test_r12(void)63 void test_r12(void) {
64   // CHECK: define {{.*}}void @test_r12
65   // CHECK: call void asm sideeffect "nop", "~{r12}"()
66   asm("nop" ::: "r12");
67 }
test_r13(void)68 void test_r13(void) {
69   // CHECK: define {{.*}}void @test_r13
70   // CHECK: call void asm sideeffect "nop", "~{r13}"()
71   asm("nop" ::: "r13");
72 }
test_r14(void)73 void test_r14(void) {
74   // CHECK: define {{.*}}void @test_r14
75   // CHECK: call void asm sideeffect "nop", "~{r14}"()
76   asm("nop" ::: "r14");
77 }
test_r15(void)78 void test_r15(void) {
79   // CHECK: define {{.*}}void @test_r15
80   // CHECK: call void asm sideeffect "nop", "~{r15}"()
81   asm("nop" ::: "r15");
82 }
test_r16(void)83 void test_r16(void) {
84   // CHECK: define {{.*}}void @test_r16
85   // CHECK: call void asm sideeffect "nop", "~{r16}"()
86   asm("nop" ::: "r16");
87 }
test_r17(void)88 void test_r17(void) {
89   // CHECK: define {{.*}}void @test_r17
90   // CHECK: call void asm sideeffect "nop", "~{r17}"()
91   asm("nop" ::: "r17");
92 }
test_r18(void)93 void test_r18(void) {
94   // CHECK: define {{.*}}void @test_r18
95   // CHECK: call void asm sideeffect "nop", "~{r18}"()
96   asm("nop" ::: "r18");
97 }
test_r19(void)98 void test_r19(void) {
99   // CHECK: define {{.*}}void @test_r19
100   // CHECK: call void asm sideeffect "nop", "~{r19}"()
101   asm("nop" ::: "r19");
102 }
test_r20(void)103 void test_r20(void) {
104   // CHECK: define {{.*}}void @test_r20
105   // CHECK: call void asm sideeffect "nop", "~{r20}"()
106   asm("nop" ::: "r20");
107 }
test_r21(void)108 void test_r21(void) {
109   // CHECK: define {{.*}}void @test_r21
110   // CHECK: call void asm sideeffect "nop", "~{r21}"()
111   asm("nop" ::: "r21");
112 }
test_r22(void)113 void test_r22(void) {
114   // CHECK: define {{.*}}void @test_r22
115   // CHECK: call void asm sideeffect "nop", "~{r22}"()
116   asm("nop" ::: "r22");
117 }
test_r23(void)118 void test_r23(void) {
119   // CHECK: define {{.*}}void @test_r23
120   // CHECK: call void asm sideeffect "nop", "~{r23}"()
121   asm("nop" ::: "r23");
122 }
test_r24(void)123 void test_r24(void) {
124   // CHECK: define {{.*}}void @test_r24
125   // CHECK: call void asm sideeffect "nop", "~{r24}"()
126   asm("nop" ::: "r24");
127 }
test_r25(void)128 void test_r25(void) {
129   // CHECK: define {{.*}}void @test_r25
130   // CHECK: call void asm sideeffect "nop", "~{r25}"()
131   asm("nop" ::: "r25");
132 }
test_r26(void)133 void test_r26(void) {
134   // CHECK: define {{.*}}void @test_r26
135   // CHECK: call void asm sideeffect "nop", "~{r26}"()
136   asm("nop" ::: "r26");
137 }
test_r27(void)138 void test_r27(void) {
139   // CHECK: define {{.*}}void @test_r27
140   // CHECK: call void asm sideeffect "nop", "~{r27}"()
141   asm("nop" ::: "r27");
142 }
test_r28(void)143 void test_r28(void) {
144   // CHECK: define {{.*}}void @test_r28
145   // CHECK: call void asm sideeffect "nop", "~{r28}"()
146   asm("nop" ::: "r28");
147 }
test_r29(void)148 void test_r29(void) {
149   // CHECK: define {{.*}}void @test_r29
150   // CHECK: call void asm sideeffect "nop", "~{r29}"()
151   asm("nop" ::: "r29");
152 }
test_r30(void)153 void test_r30(void) {
154   // CHECK: define {{.*}}void @test_r30
155   // CHECK: call void asm sideeffect "nop", "~{r30}"()
156   asm("nop" ::: "r30");
157 }
test_r31(void)158 void test_r31(void) {
159   // CHECK: define {{.*}}void @test_r31
160   // CHECK: call void asm sideeffect "nop", "~{r31}"()
161   asm("nop" ::: "r31");
162 }
test_r1_0(void)163 void test_r1_0(void) {
164   // CHECK: define {{.*}}void @test_r1_0
165   // CHECK: call void asm sideeffect "nop", "~{r1:0}"()
166   asm("nop" ::: "r1:0");
167 }
test_r3_2(void)168 void test_r3_2(void) {
169   // CHECK: define {{.*}}void @test_r3_2
170   // CHECK: call void asm sideeffect "nop", "~{r3:2}"()
171   asm("nop" ::: "r3:2");
172 }
test_r5_4(void)173 void test_r5_4(void) {
174   // CHECK: define {{.*}}void @test_r5_4
175   // CHECK: call void asm sideeffect "nop", "~{r5:4}"()
176   asm("nop" ::: "r5:4");
177 }
test_r7_6(void)178 void test_r7_6(void) {
179   // CHECK: define {{.*}}void @test_r7_6
180   // CHECK: call void asm sideeffect "nop", "~{r7:6}"()
181   asm("nop" ::: "r7:6");
182 }
test_r9_8(void)183 void test_r9_8(void) {
184   // CHECK: define {{.*}}void @test_r9_8
185   // CHECK: call void asm sideeffect "nop", "~{r9:8}"()
186   asm("nop" ::: "r9:8");
187 }
test_r11_10(void)188 void test_r11_10(void) {
189   // CHECK: define {{.*}}void @test_r11_10
190   // CHECK: call void asm sideeffect "nop", "~{r11:10}"()
191   asm("nop" ::: "r11:10");
192 }
test_r13_12(void)193 void test_r13_12(void) {
194   // CHECK: define {{.*}}void @test_r13_12
195   // CHECK: call void asm sideeffect "nop", "~{r13:12}"()
196   asm("nop" ::: "r13:12");
197 }
test_r15_14(void)198 void test_r15_14(void) {
199   // CHECK: define {{.*}}void @test_r15_14
200   // CHECK: call void asm sideeffect "nop", "~{r15:14}"()
201   asm("nop" ::: "r15:14");
202 }
test_r17_16(void)203 void test_r17_16(void) {
204   // CHECK: define {{.*}}void @test_r17_16
205   // CHECK: call void asm sideeffect "nop", "~{r17:16}"()
206   asm("nop" ::: "r17:16");
207 }
test_r19_18(void)208 void test_r19_18(void) {
209   // CHECK: define {{.*}}void @test_r19_18
210   // CHECK: call void asm sideeffect "nop", "~{r19:18}"()
211   asm("nop" ::: "r19:18");
212 }
test_r21_20(void)213 void test_r21_20(void) {
214   // CHECK: define {{.*}}void @test_r21_20
215   // CHECK: call void asm sideeffect "nop", "~{r21:20}"()
216   asm("nop" ::: "r21:20");
217 }
test_r23_22(void)218 void test_r23_22(void) {
219   // CHECK: define {{.*}}void @test_r23_22
220   // CHECK: call void asm sideeffect "nop", "~{r23:22}"()
221   asm("nop" ::: "r23:22");
222 }
test_r25_24(void)223 void test_r25_24(void) {
224   // CHECK: define {{.*}}void @test_r25_24
225   // CHECK: call void asm sideeffect "nop", "~{r25:24}"()
226   asm("nop" ::: "r25:24");
227 }
test_r27_26(void)228 void test_r27_26(void) {
229   // CHECK: define {{.*}}void @test_r27_26
230   // CHECK: call void asm sideeffect "nop", "~{r27:26}"()
231   asm("nop" ::: "r27:26");
232 }
test_r29_28(void)233 void test_r29_28(void) {
234   // CHECK: define {{.*}}void @test_r29_28
235   // CHECK: call void asm sideeffect "nop", "~{r29:28}"()
236   asm("nop" ::: "r29:28");
237 }
test_r31_30(void)238 void test_r31_30(void) {
239   // CHECK: define {{.*}}void @test_r31_30
240   // CHECK: call void asm sideeffect "nop", "~{r31:30}"()
241   asm("nop" ::: "r31:30");
242 }
test_p0(void)243 void test_p0(void) {
244   // CHECK: define {{.*}}void @test_p0
245   // CHECK: call void asm sideeffect "nop", "~{p0}"()
246   asm("nop" ::: "p0");
247 }
test_p1(void)248 void test_p1(void) {
249   // CHECK: define {{.*}}void @test_p1
250   // CHECK: call void asm sideeffect "nop", "~{p1}"()
251   asm("nop" ::: "p1");
252 }
test_p2(void)253 void test_p2(void) {
254   // CHECK: define {{.*}}void @test_p2
255   // CHECK: call void asm sideeffect "nop", "~{p2}"()
256   asm("nop" ::: "p2");
257 }
test_p3(void)258 void test_p3(void) {
259   // CHECK: define {{.*}}void @test_p3
260   // CHECK: call void asm sideeffect "nop", "~{p3}"()
261   asm("nop" ::: "p3");
262 }
test_c0(void)263 void test_c0(void) {
264   // CHECK: define {{.*}}void @test_c0
265   // CHECK: call void asm sideeffect "nop", "~{c0}"()
266   asm("nop" ::: "c0");
267 }
test_c1(void)268 void test_c1(void) {
269   // CHECK: define {{.*}}void @test_c1
270   // CHECK: call void asm sideeffect "nop", "~{c1}"()
271   asm("nop" ::: "c1");
272 }
test_c2(void)273 void test_c2(void) {
274   // CHECK: define {{.*}}void @test_c2
275   // CHECK: call void asm sideeffect "nop", "~{c2}"()
276   asm("nop" ::: "c2");
277 }
test_c3(void)278 void test_c3(void) {
279   // CHECK: define {{.*}}void @test_c3
280   // CHECK: call void asm sideeffect "nop", "~{c3}"()
281   asm("nop" ::: "c3");
282 }
test_c4(void)283 void test_c4(void) {
284   // CHECK: define {{.*}}void @test_c4
285   // CHECK: call void asm sideeffect "nop", "~{c4}"()
286   asm("nop" ::: "c4");
287 }
test_c5(void)288 void test_c5(void) {
289   // CHECK: define {{.*}}void @test_c5
290   // CHECK: call void asm sideeffect "nop", "~{c5}"()
291   asm("nop" ::: "c5");
292 }
test_c6(void)293 void test_c6(void) {
294   // CHECK: define {{.*}}void @test_c6
295   // CHECK: call void asm sideeffect "nop", "~{c6}"()
296   asm("nop" ::: "c6");
297 }
test_c7(void)298 void test_c7(void) {
299   // CHECK: define {{.*}}void @test_c7
300   // CHECK: call void asm sideeffect "nop", "~{c7}"()
301   asm("nop" ::: "c7");
302 }
test_c8(void)303 void test_c8(void) {
304   // CHECK: define {{.*}}void @test_c8
305   // CHECK: call void asm sideeffect "nop", "~{c8}"()
306   asm("nop" ::: "c8");
307 }
test_c9(void)308 void test_c9(void) {
309   // CHECK: define {{.*}}void @test_c9
310   // CHECK: call void asm sideeffect "nop", "~{c9}"()
311   asm("nop" ::: "c9");
312 }
test_c10(void)313 void test_c10(void) {
314   // CHECK: define {{.*}}void @test_c10
315   // CHECK: call void asm sideeffect "nop", "~{c10}"()
316   asm("nop" ::: "c10");
317 }
test_c11(void)318 void test_c11(void) {
319   // CHECK: define {{.*}}void @test_c11
320   // CHECK: call void asm sideeffect "nop", "~{c11}"()
321   asm("nop" ::: "c11");
322 }
test_c12(void)323 void test_c12(void) {
324   // CHECK: define {{.*}}void @test_c12
325   // CHECK: call void asm sideeffect "nop", "~{c12}"()
326   asm("nop" ::: "c12");
327 }
test_c13(void)328 void test_c13(void) {
329   // CHECK: define {{.*}}void @test_c13
330   // CHECK: call void asm sideeffect "nop", "~{c13}"()
331   asm("nop" ::: "c13");
332 }
test_c14(void)333 void test_c14(void) {
334   // CHECK: define {{.*}}void @test_c14
335   // CHECK: call void asm sideeffect "nop", "~{c14}"()
336   asm("nop" ::: "c14");
337 }
test_c15(void)338 void test_c15(void) {
339   // CHECK: define {{.*}}void @test_c15
340   // CHECK: call void asm sideeffect "nop", "~{c15}"()
341   asm("nop" ::: "c15");
342 }
test_c16(void)343 void test_c16(void) {
344   // CHECK: define {{.*}}void @test_c16
345   // CHECK: call void asm sideeffect "nop", "~{c16}"()
346   asm("nop" ::: "c16");
347 }
test_c17(void)348 void test_c17(void) {
349   // CHECK: define {{.*}}void @test_c17
350   // CHECK: call void asm sideeffect "nop", "~{c17}"()
351   asm("nop" ::: "c17");
352 }
test_c18(void)353 void test_c18(void) {
354   // CHECK: define {{.*}}void @test_c18
355   // CHECK: call void asm sideeffect "nop", "~{c18}"()
356   asm("nop" ::: "c18");
357 }
test_c19(void)358 void test_c19(void) {
359   // CHECK: define {{.*}}void @test_c19
360   // CHECK: call void asm sideeffect "nop", "~{c19}"()
361   asm("nop" ::: "c19");
362 }
test_c20(void)363 void test_c20(void) {
364   // CHECK: define {{.*}}void @test_c20
365   // CHECK: call void asm sideeffect "nop", "~{c20}"()
366   asm("nop" ::: "c20");
367 }
test_c21(void)368 void test_c21(void) {
369   // CHECK: define {{.*}}void @test_c21
370   // CHECK: call void asm sideeffect "nop", "~{c21}"()
371   asm("nop" ::: "c21");
372 }
test_c22(void)373 void test_c22(void) {
374   // CHECK: define {{.*}}void @test_c22
375   // CHECK: call void asm sideeffect "nop", "~{c22}"()
376   asm("nop" ::: "c22");
377 }
test_c23(void)378 void test_c23(void) {
379   // CHECK: define {{.*}}void @test_c23
380   // CHECK: call void asm sideeffect "nop", "~{c23}"()
381   asm("nop" ::: "c23");
382 }
test_c24(void)383 void test_c24(void) {
384   // CHECK: define {{.*}}void @test_c24
385   // CHECK: call void asm sideeffect "nop", "~{c24}"()
386   asm("nop" ::: "c24");
387 }
test_c25(void)388 void test_c25(void) {
389   // CHECK: define {{.*}}void @test_c25
390   // CHECK: call void asm sideeffect "nop", "~{c25}"()
391   asm("nop" ::: "c25");
392 }
test_c26(void)393 void test_c26(void) {
394   // CHECK: define {{.*}}void @test_c26
395   // CHECK: call void asm sideeffect "nop", "~{c26}"()
396   asm("nop" ::: "c26");
397 }
test_c27(void)398 void test_c27(void) {
399   // CHECK: define {{.*}}void @test_c27
400   // CHECK: call void asm sideeffect "nop", "~{c27}"()
401   asm("nop" ::: "c27");
402 }
test_c28(void)403 void test_c28(void) {
404   // CHECK: define {{.*}}void @test_c28
405   // CHECK: call void asm sideeffect "nop", "~{c28}"()
406   asm("nop" ::: "c28");
407 }
test_c29(void)408 void test_c29(void) {
409   // CHECK: define {{.*}}void @test_c29
410   // CHECK: call void asm sideeffect "nop", "~{c29}"()
411   asm("nop" ::: "c29");
412 }
test_c30(void)413 void test_c30(void) {
414   // CHECK: define {{.*}}void @test_c30
415   // CHECK: call void asm sideeffect "nop", "~{c30}"()
416   asm("nop" ::: "c30");
417 }
test_c31(void)418 void test_c31(void) {
419   // CHECK: define {{.*}}void @test_c31
420   // CHECK: call void asm sideeffect "nop", "~{c31}"()
421   asm("nop" ::: "c31");
422 }
test_c1_0(void)423 void test_c1_0(void) {
424   // CHECK: define {{.*}}void @test_c1_0
425   // CHECK: call void asm sideeffect "nop", "~{c1:0}"()
426   asm("nop" ::: "c1:0");
427 }
test_c3_2(void)428 void test_c3_2(void) {
429   // CHECK: define {{.*}}void @test_c3_2
430   // CHECK: call void asm sideeffect "nop", "~{c3:2}"()
431   asm("nop" ::: "c3:2");
432 }
test_c5_4(void)433 void test_c5_4(void) {
434   // CHECK: define {{.*}}void @test_c5_4
435   // CHECK: call void asm sideeffect "nop", "~{c5:4}"()
436   asm("nop" ::: "c5:4");
437 }
test_c7_6(void)438 void test_c7_6(void) {
439   // CHECK: define {{.*}}void @test_c7_6
440   // CHECK: call void asm sideeffect "nop", "~{c7:6}"()
441   asm("nop" ::: "c7:6");
442 }
test_c9_8(void)443 void test_c9_8(void) {
444   // CHECK: define {{.*}}void @test_c9_8
445   // CHECK: call void asm sideeffect "nop", "~{c9:8}"()
446   asm("nop" ::: "c9:8");
447 }
test_c11_10(void)448 void test_c11_10(void) {
449   // CHECK: define {{.*}}void @test_c11_10
450   // CHECK: call void asm sideeffect "nop", "~{c11:10}"()
451   asm("nop" ::: "c11:10");
452 }
test_c13_12(void)453 void test_c13_12(void) {
454   // CHECK: define {{.*}}void @test_c13_12
455   // CHECK: call void asm sideeffect "nop", "~{c13:12}"()
456   asm("nop" ::: "c13:12");
457 }
test_c15_14(void)458 void test_c15_14(void) {
459   // CHECK: define {{.*}}void @test_c15_14
460   // CHECK: call void asm sideeffect "nop", "~{c15:14}"()
461   asm("nop" ::: "c15:14");
462 }
test_c17_16(void)463 void test_c17_16(void) {
464   // CHECK: define {{.*}}void @test_c17_16
465   // CHECK: call void asm sideeffect "nop", "~{c17:16}"()
466   asm("nop" ::: "c17:16");
467 }
test_c19_18(void)468 void test_c19_18(void) {
469   // CHECK: define {{.*}}void @test_c19_18
470   // CHECK: call void asm sideeffect "nop", "~{c19:18}"()
471   asm("nop" ::: "c19:18");
472 }
test_c21_20(void)473 void test_c21_20(void) {
474   // CHECK: define {{.*}}void @test_c21_20
475   // CHECK: call void asm sideeffect "nop", "~{c21:20}"()
476   asm("nop" ::: "c21:20");
477 }
test_c23_22(void)478 void test_c23_22(void) {
479   // CHECK: define {{.*}}void @test_c23_22
480   // CHECK: call void asm sideeffect "nop", "~{c23:22}"()
481   asm("nop" ::: "c23:22");
482 }
test_c25_24(void)483 void test_c25_24(void) {
484   // CHECK: define {{.*}}void @test_c25_24
485   // CHECK: call void asm sideeffect "nop", "~{c25:24}"()
486   asm("nop" ::: "c25:24");
487 }
test_c27_26(void)488 void test_c27_26(void) {
489   // CHECK: define {{.*}}void @test_c27_26
490   // CHECK: call void asm sideeffect "nop", "~{c27:26}"()
491   asm("nop" ::: "c27:26");
492 }
test_c29_28(void)493 void test_c29_28(void) {
494   // CHECK: define {{.*}}void @test_c29_28
495   // CHECK: call void asm sideeffect "nop", "~{c29:28}"()
496   asm("nop" ::: "c29:28");
497 }
test_c31_30(void)498 void test_c31_30(void) {
499   // CHECK: define {{.*}}void @test_c31_30
500   // CHECK: call void asm sideeffect "nop", "~{c31:30}"()
501   asm("nop" ::: "c31:30");
502 }
test_sa0(void)503 void test_sa0(void) {
504   // CHECK: define {{.*}}void @test_sa0
505   // CHECK: call void asm sideeffect "nop", "~{sa0}"()
506   asm("nop" ::: "sa0");
507 }
test_lc0(void)508 void test_lc0(void) {
509   // CHECK: define {{.*}}void @test_lc0
510   // CHECK: call void asm sideeffect "nop", "~{lc0}"()
511   asm("nop" ::: "lc0");
512 }
test_sa1(void)513 void test_sa1(void) {
514   // CHECK: define {{.*}}void @test_sa1
515   // CHECK: call void asm sideeffect "nop", "~{sa1}"()
516   asm("nop" ::: "sa1");
517 }
test_lc1(void)518 void test_lc1(void) {
519   // CHECK: define {{.*}}void @test_lc1
520   // CHECK: call void asm sideeffect "nop", "~{lc1}"()
521   asm("nop" ::: "lc1");
522 }
test_p3_0(void)523 void test_p3_0(void) {
524   // CHECK: define {{.*}}void @test_p3_0
525   // CHECK: call void asm sideeffect "nop", "~{p3:0}"()
526   asm("nop" ::: "p3:0");
527 }
test_m0(void)528 void test_m0(void) {
529   // CHECK: define {{.*}}void @test_m0
530   // CHECK: call void asm sideeffect "nop", "~{m0}"()
531   asm("nop" ::: "m0");
532 }
test_m1(void)533 void test_m1(void) {
534   // CHECK: define {{.*}}void @test_m1
535   // CHECK: call void asm sideeffect "nop", "~{m1}"()
536   asm("nop" ::: "m1");
537 }
test_usr(void)538 void test_usr(void) {
539   // CHECK: define {{.*}}void @test_usr
540   // CHECK: call void asm sideeffect "nop", "~{usr}"()
541   asm("nop" ::: "usr");
542 }
test_pc(void)543 void test_pc(void) {
544   // CHECK: define {{.*}}void @test_pc
545   // CHECK: call void asm sideeffect "nop", "~{pc}"()
546   asm("nop" ::: "pc");
547 }
test_ugp(void)548 void test_ugp(void) {
549   // CHECK: define {{.*}}void @test_ugp
550   // CHECK: call void asm sideeffect "nop", "~{ugp}"()
551   asm("nop" ::: "ugp");
552 }
test_gp(void)553 void test_gp(void) {
554   // CHECK: define {{.*}}void @test_gp
555   // CHECK: call void asm sideeffect "nop", "~{gp}"()
556   asm("nop" ::: "gp");
557 }
test_cs0(void)558 void test_cs0(void) {
559   // CHECK: define {{.*}}void @test_cs0
560   // CHECK: call void asm sideeffect "nop", "~{cs0}"()
561   asm("nop" ::: "cs0");
562 }
test_cs1(void)563 void test_cs1(void) {
564   // CHECK: define {{.*}}void @test_cs1
565   // CHECK: call void asm sideeffect "nop", "~{cs1}"()
566   asm("nop" ::: "cs1");
567 }
test_upcyclelo(void)568 void test_upcyclelo(void) {
569   // CHECK: define {{.*}}void @test_upcyclelo
570   // CHECK: call void asm sideeffect "nop", "~{upcyclelo}"()
571   asm("nop" ::: "upcyclelo");
572 }
test_upcyclehi(void)573 void test_upcyclehi(void) {
574   // CHECK: define {{.*}}void @test_upcyclehi
575   // CHECK: call void asm sideeffect "nop", "~{upcyclehi}"()
576   asm("nop" ::: "upcyclehi");
577 }
test_framelimit(void)578 void test_framelimit(void) {
579   // CHECK: define {{.*}}void @test_framelimit
580   // CHECK: call void asm sideeffect "nop", "~{framelimit}"()
581   asm("nop" ::: "framelimit");
582 }
test_framekey(void)583 void test_framekey(void) {
584   // CHECK: define {{.*}}void @test_framekey
585   // CHECK: call void asm sideeffect "nop", "~{framekey}"()
586   asm("nop" ::: "framekey");
587 }
test_pktcountlo(void)588 void test_pktcountlo(void) {
589   // CHECK: define {{.*}}void @test_pktcountlo
590   // CHECK: call void asm sideeffect "nop", "~{pktcountlo}"()
591   asm("nop" ::: "pktcountlo");
592 }
test_pktcounthi(void)593 void test_pktcounthi(void) {
594   // CHECK: define {{.*}}void @test_pktcounthi
595   // CHECK: call void asm sideeffect "nop", "~{pktcounthi}"()
596   asm("nop" ::: "pktcounthi");
597 }
test_utimerlo(void)598 void test_utimerlo(void) {
599   // CHECK: define {{.*}}void @test_utimerlo
600   // CHECK: call void asm sideeffect "nop", "~{utimerlo}"()
601   asm("nop" ::: "utimerlo");
602 }
test_utimerhi(void)603 void test_utimerhi(void) {
604   // CHECK: define {{.*}}void @test_utimerhi
605   // CHECK: call void asm sideeffect "nop", "~{utimerhi}"()
606   asm("nop" ::: "utimerhi");
607 }
test_upcycle(void)608 void test_upcycle(void) {
609   // CHECK: define {{.*}}void @test_upcycle
610   // CHECK: call void asm sideeffect "nop", "~{upcycle}"()
611   asm("nop" ::: "upcycle");
612 }
test_pktcount(void)613 void test_pktcount(void) {
614   // CHECK: define {{.*}}void @test_pktcount
615   // CHECK: call void asm sideeffect "nop", "~{pktcount}"()
616   asm("nop" ::: "pktcount");
617 }
test_utimer(void)618 void test_utimer(void) {
619   // CHECK: define {{.*}}void @test_utimer
620   // CHECK: call void asm sideeffect "nop", "~{utimer}"()
621   asm("nop" ::: "utimer");
622 }
test_v0(void)623 void test_v0(void) {
624   // CHECK: define {{.*}}void @test_v0
625   // CHECK: call void asm sideeffect "nop", "~{v0}"()
626   asm("nop" ::: "v0");
627 }
test_v1(void)628 void test_v1(void) {
629   // CHECK: define {{.*}}void @test_v1
630   // CHECK: call void asm sideeffect "nop", "~{v1}"()
631   asm("nop" ::: "v1");
632 }
test_v2(void)633 void test_v2(void) {
634   // CHECK: define {{.*}}void @test_v2
635   // CHECK: call void asm sideeffect "nop", "~{v2}"()
636   asm("nop" ::: "v2");
637 }
test_v3(void)638 void test_v3(void) {
639   // CHECK: define {{.*}}void @test_v3
640   // CHECK: call void asm sideeffect "nop", "~{v3}"()
641   asm("nop" ::: "v3");
642 }
test_v4(void)643 void test_v4(void) {
644   // CHECK: define {{.*}}void @test_v4
645   // CHECK: call void asm sideeffect "nop", "~{v4}"()
646   asm("nop" ::: "v4");
647 }
test_v5(void)648 void test_v5(void) {
649   // CHECK: define {{.*}}void @test_v5
650   // CHECK: call void asm sideeffect "nop", "~{v5}"()
651   asm("nop" ::: "v5");
652 }
test_v6(void)653 void test_v6(void) {
654   // CHECK: define {{.*}}void @test_v6
655   // CHECK: call void asm sideeffect "nop", "~{v6}"()
656   asm("nop" ::: "v6");
657 }
test_v7(void)658 void test_v7(void) {
659   // CHECK: define {{.*}}void @test_v7
660   // CHECK: call void asm sideeffect "nop", "~{v7}"()
661   asm("nop" ::: "v7");
662 }
test_v8(void)663 void test_v8(void) {
664   // CHECK: define {{.*}}void @test_v8
665   // CHECK: call void asm sideeffect "nop", "~{v8}"()
666   asm("nop" ::: "v8");
667 }
test_v9(void)668 void test_v9(void) {
669   // CHECK: define {{.*}}void @test_v9
670   // CHECK: call void asm sideeffect "nop", "~{v9}"()
671   asm("nop" ::: "v9");
672 }
test_v10(void)673 void test_v10(void) {
674   // CHECK: define {{.*}}void @test_v10
675   // CHECK: call void asm sideeffect "nop", "~{v10}"()
676   asm("nop" ::: "v10");
677 }
test_v11(void)678 void test_v11(void) {
679   // CHECK: define {{.*}}void @test_v11
680   // CHECK: call void asm sideeffect "nop", "~{v11}"()
681   asm("nop" ::: "v11");
682 }
test_v12(void)683 void test_v12(void) {
684   // CHECK: define {{.*}}void @test_v12
685   // CHECK: call void asm sideeffect "nop", "~{v12}"()
686   asm("nop" ::: "v12");
687 }
test_v13(void)688 void test_v13(void) {
689   // CHECK: define {{.*}}void @test_v13
690   // CHECK: call void asm sideeffect "nop", "~{v13}"()
691   asm("nop" ::: "v13");
692 }
test_v14(void)693 void test_v14(void) {
694   // CHECK: define {{.*}}void @test_v14
695   // CHECK: call void asm sideeffect "nop", "~{v14}"()
696   asm("nop" ::: "v14");
697 }
test_v15(void)698 void test_v15(void) {
699   // CHECK: define {{.*}}void @test_v15
700   // CHECK: call void asm sideeffect "nop", "~{v15}"()
701   asm("nop" ::: "v15");
702 }
test_v16(void)703 void test_v16(void) {
704   // CHECK: define {{.*}}void @test_v16
705   // CHECK: call void asm sideeffect "nop", "~{v16}"()
706   asm("nop" ::: "v16");
707 }
test_v17(void)708 void test_v17(void) {
709   // CHECK: define {{.*}}void @test_v17
710   // CHECK: call void asm sideeffect "nop", "~{v17}"()
711   asm("nop" ::: "v17");
712 }
test_v18(void)713 void test_v18(void) {
714   // CHECK: define {{.*}}void @test_v18
715   // CHECK: call void asm sideeffect "nop", "~{v18}"()
716   asm("nop" ::: "v18");
717 }
test_v19(void)718 void test_v19(void) {
719   // CHECK: define {{.*}}void @test_v19
720   // CHECK: call void asm sideeffect "nop", "~{v19}"()
721   asm("nop" ::: "v19");
722 }
test_v20(void)723 void test_v20(void) {
724   // CHECK: define {{.*}}void @test_v20
725   // CHECK: call void asm sideeffect "nop", "~{v20}"()
726   asm("nop" ::: "v20");
727 }
test_v21(void)728 void test_v21(void) {
729   // CHECK: define {{.*}}void @test_v21
730   // CHECK: call void asm sideeffect "nop", "~{v21}"()
731   asm("nop" ::: "v21");
732 }
test_v22(void)733 void test_v22(void) {
734   // CHECK: define {{.*}}void @test_v22
735   // CHECK: call void asm sideeffect "nop", "~{v22}"()
736   asm("nop" ::: "v22");
737 }
test_v23(void)738 void test_v23(void) {
739   // CHECK: define {{.*}}void @test_v23
740   // CHECK: call void asm sideeffect "nop", "~{v23}"()
741   asm("nop" ::: "v23");
742 }
test_v24(void)743 void test_v24(void) {
744   // CHECK: define {{.*}}void @test_v24
745   // CHECK: call void asm sideeffect "nop", "~{v24}"()
746   asm("nop" ::: "v24");
747 }
test_v25(void)748 void test_v25(void) {
749   // CHECK: define {{.*}}void @test_v25
750   // CHECK: call void asm sideeffect "nop", "~{v25}"()
751   asm("nop" ::: "v25");
752 }
test_v26(void)753 void test_v26(void) {
754   // CHECK: define {{.*}}void @test_v26
755   // CHECK: call void asm sideeffect "nop", "~{v26}"()
756   asm("nop" ::: "v26");
757 }
test_v27(void)758 void test_v27(void) {
759   // CHECK: define {{.*}}void @test_v27
760   // CHECK: call void asm sideeffect "nop", "~{v27}"()
761   asm("nop" ::: "v27");
762 }
test_v28(void)763 void test_v28(void) {
764   // CHECK: define {{.*}}void @test_v28
765   // CHECK: call void asm sideeffect "nop", "~{v28}"()
766   asm("nop" ::: "v28");
767 }
test_v29(void)768 void test_v29(void) {
769   // CHECK: define {{.*}}void @test_v29
770   // CHECK: call void asm sideeffect "nop", "~{v29}"()
771   asm("nop" ::: "v29");
772 }
test_v30(void)773 void test_v30(void) {
774   // CHECK: define {{.*}}void @test_v30
775   // CHECK: call void asm sideeffect "nop", "~{v30}"()
776   asm("nop" ::: "v30");
777 }
test_v31(void)778 void test_v31(void) {
779   // CHECK: define {{.*}}void @test_v31
780   // CHECK: call void asm sideeffect "nop", "~{v31}"()
781   asm("nop" ::: "v31");
782 }
test_v1_0(void)783 void test_v1_0(void) {
784   // CHECK: define {{.*}}void @test_v1_0
785   // CHECK: call void asm sideeffect "nop", "~{v1:0}"()
786   asm("nop" ::: "v1:0");
787 }
test_v3_2(void)788 void test_v3_2(void) {
789   // CHECK: define {{.*}}void @test_v3_2
790   // CHECK: call void asm sideeffect "nop", "~{v3:2}"()
791   asm("nop" ::: "v3:2");
792 }
test_v5_4(void)793 void test_v5_4(void) {
794   // CHECK: define {{.*}}void @test_v5_4
795   // CHECK: call void asm sideeffect "nop", "~{v5:4}"()
796   asm("nop" ::: "v5:4");
797 }
test_v7_6(void)798 void test_v7_6(void) {
799   // CHECK: define {{.*}}void @test_v7_6
800   // CHECK: call void asm sideeffect "nop", "~{v7:6}"()
801   asm("nop" ::: "v7:6");
802 }
test_v9_8(void)803 void test_v9_8(void) {
804   // CHECK: define {{.*}}void @test_v9_8
805   // CHECK: call void asm sideeffect "nop", "~{v9:8}"()
806   asm("nop" ::: "v9:8");
807 }
test_v11_10(void)808 void test_v11_10(void) {
809   // CHECK: define {{.*}}void @test_v11_10
810   // CHECK: call void asm sideeffect "nop", "~{v11:10}"()
811   asm("nop" ::: "v11:10");
812 }
test_v13_12(void)813 void test_v13_12(void) {
814   // CHECK: define {{.*}}void @test_v13_12
815   // CHECK: call void asm sideeffect "nop", "~{v13:12}"()
816   asm("nop" ::: "v13:12");
817 }
test_v15_14(void)818 void test_v15_14(void) {
819   // CHECK: define {{.*}}void @test_v15_14
820   // CHECK: call void asm sideeffect "nop", "~{v15:14}"()
821   asm("nop" ::: "v15:14");
822 }
test_v17_16(void)823 void test_v17_16(void) {
824   // CHECK: define {{.*}}void @test_v17_16
825   // CHECK: call void asm sideeffect "nop", "~{v17:16}"()
826   asm("nop" ::: "v17:16");
827 }
test_v19_18(void)828 void test_v19_18(void) {
829   // CHECK: define {{.*}}void @test_v19_18
830   // CHECK: call void asm sideeffect "nop", "~{v19:18}"()
831   asm("nop" ::: "v19:18");
832 }
test_v21_20(void)833 void test_v21_20(void) {
834   // CHECK: define {{.*}}void @test_v21_20
835   // CHECK: call void asm sideeffect "nop", "~{v21:20}"()
836   asm("nop" ::: "v21:20");
837 }
test_v23_22(void)838 void test_v23_22(void) {
839   // CHECK: define {{.*}}void @test_v23_22
840   // CHECK: call void asm sideeffect "nop", "~{v23:22}"()
841   asm("nop" ::: "v23:22");
842 }
test_v25_24(void)843 void test_v25_24(void) {
844   // CHECK: define {{.*}}void @test_v25_24
845   // CHECK: call void asm sideeffect "nop", "~{v25:24}"()
846   asm("nop" ::: "v25:24");
847 }
test_v27_26(void)848 void test_v27_26(void) {
849   // CHECK: define {{.*}}void @test_v27_26
850   // CHECK: call void asm sideeffect "nop", "~{v27:26}"()
851   asm("nop" ::: "v27:26");
852 }
test_v29_28(void)853 void test_v29_28(void) {
854   // CHECK: define {{.*}}void @test_v29_28
855   // CHECK: call void asm sideeffect "nop", "~{v29:28}"()
856   asm("nop" ::: "v29:28");
857 }
test_v31_30(void)858 void test_v31_30(void) {
859   // CHECK: define {{.*}}void @test_v31_30
860   // CHECK: call void asm sideeffect "nop", "~{v31:30}"()
861   asm("nop" ::: "v31:30");
862 }
test_v3_0(void)863 void test_v3_0(void) {
864   // CHECK: define {{.*}}void @test_v3_0
865   // CHECK: call void asm sideeffect "nop", "~{v3:0}"()
866   asm("nop" ::: "v3:0");
867 }
test_v7_4(void)868 void test_v7_4(void) {
869   // CHECK: define {{.*}}void @test_v7_4
870   // CHECK: call void asm sideeffect "nop", "~{v7:4}"()
871   asm("nop" ::: "v7:4");
872 }
test_v11_8(void)873 void test_v11_8(void) {
874   // CHECK: define {{.*}}void @test_v11_8
875   // CHECK: call void asm sideeffect "nop", "~{v11:8}"()
876   asm("nop" ::: "v11:8");
877 }
test_v15_12(void)878 void test_v15_12(void) {
879   // CHECK: define {{.*}}void @test_v15_12
880   // CHECK: call void asm sideeffect "nop", "~{v15:12}"()
881   asm("nop" ::: "v15:12");
882 }
test_v19_16(void)883 void test_v19_16(void) {
884   // CHECK: define {{.*}}void @test_v19_16
885   // CHECK: call void asm sideeffect "nop", "~{v19:16}"()
886   asm("nop" ::: "v19:16");
887 }
test_v23_20(void)888 void test_v23_20(void) {
889   // CHECK: define {{.*}}void @test_v23_20
890   // CHECK: call void asm sideeffect "nop", "~{v23:20}"()
891   asm("nop" ::: "v23:20");
892 }
test_v27_24(void)893 void test_v27_24(void) {
894   // CHECK: define {{.*}}void @test_v27_24
895   // CHECK: call void asm sideeffect "nop", "~{v27:24}"()
896   asm("nop" ::: "v27:24");
897 }
test_v31_28(void)898 void test_v31_28(void) {
899   // CHECK: define {{.*}}void @test_v31_28
900   // CHECK: call void asm sideeffect "nop", "~{v31:28}"()
901   asm("nop" ::: "v31:28");
902 }
test_q0(void)903 void test_q0(void) {
904   // CHECK: define {{.*}}void @test_q0
905   // CHECK: call void asm sideeffect "nop", "~{q0}"()
906   asm("nop" ::: "q0");
907 }
test_q1(void)908 void test_q1(void) {
909   // CHECK: define {{.*}}void @test_q1
910   // CHECK: call void asm sideeffect "nop", "~{q1}"()
911   asm("nop" ::: "q1");
912 }
test_q2(void)913 void test_q2(void) {
914   // CHECK: define {{.*}}void @test_q2
915   // CHECK: call void asm sideeffect "nop", "~{q2}"()
916   asm("nop" ::: "q2");
917 }
test_q3(void)918 void test_q3(void) {
919   // CHECK: define {{.*}}void @test_q3
920   // CHECK: call void asm sideeffect "nop", "~{q3}"()
921   asm("nop" ::: "q3");
922 }
923