1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -O2 %s -o - | FileCheck %s
2
3 // CHECK-LABEL: @test_r15
4 // CHECK: call void asm sideeffect "", "{r15},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r15()5 void test_r15() {
6 register int a asm ("r15");
7 asm ("" :: "r" (a));
8 }
9
10 // CHECK-LABEL: @test_r16
11 // CHECK: call void asm sideeffect "", "{r16},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r16()12 void test_r16() {
13 register int a asm ("r16");
14 asm ("" :: "r" (a));
15 }
16
17 // CHECK-LABEL: @test_r17
18 // CHECK: call void asm sideeffect "", "{r17},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r17()19 void test_r17() {
20 register int a asm ("r17");
21 asm ("" :: "r" (a));
22 }
23
24 // CHECK-LABEL: @test_r18
25 // CHECK: call void asm sideeffect "", "{r18},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r18()26 void test_r18() {
27 register int a asm ("r18");
28 asm ("" :: "r" (a));
29 }
30
31 // CHECK-LABEL: @test_r19
32 // CHECK: call void asm sideeffect "", "{r19},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r19()33 void test_r19() {
34 register int a asm ("r19");
35 asm ("" :: "r" (a));
36 }
37
38 // CHECK-LABEL: @test_r20
39 // CHECK: call void asm sideeffect "", "{r20},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r20()40 void test_r20() {
41 register int a asm ("r20");
42 asm ("" :: "r" (a));
43 }
44
45 // CHECK-LABEL: @test_r21
46 // CHECK: call void asm sideeffect "", "{r21},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r21()47 void test_r21() {
48 register int a asm ("r21");
49 asm ("" :: "r" (a));
50 }
51
52 // CHECK-LABEL: @test_r22
53 // CHECK: call void asm sideeffect "", "{r22},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r22()54 void test_r22() {
55 register int a asm ("r22");
56 asm ("" :: "r" (a));
57 }
58
59 // CHECK-LABEL: @test_r23
60 // CHECK: call void asm sideeffect "", "{r23},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r23()61 void test_r23() {
62 register int a asm ("r23");
63 asm ("" :: "r" (a));
64 }
65
66 // CHECK-LABEL: @test_r24
67 // CHECK: call void asm sideeffect "", "{r24},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r24()68 void test_r24() {
69 register int a asm ("r24");
70 asm ("" :: "r" (a));
71 }
72
73 // CHECK-LABEL: @test_r25
74 // CHECK: call void asm sideeffect "", "{r25},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r25()75 void test_r25() {
76 register int a asm ("r25");
77 asm ("" :: "r" (a));
78 }
79
80 // CHECK-LABEL: @test_r26
81 // CHECK: call void asm sideeffect "", "{r26},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r26()82 void test_r26() {
83 register int a asm ("r26");
84 asm ("" :: "r" (a));
85 }
86
87 // CHECK-LABEL: @test_r27
88 // CHECK: call void asm sideeffect "", "{r27},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r27()89 void test_r27() {
90 register int a asm ("r27");
91 asm ("" :: "r" (a));
92 }
93
94 // CHECK-LABEL: @test_r28
95 // CHECK: call void asm sideeffect "", "{r28},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r28()96 void test_r28() {
97 register int a asm ("r28");
98 asm ("" :: "r" (a));
99 }
100
101 // CHECK-LABEL: @test_r29
102 // CHECK: call void asm sideeffect "", "{r29},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r29()103 void test_r29() {
104 register int a asm ("r29");
105 asm ("" :: "r" (a));
106 }
107
108 // CHECK-LABEL: @test_r30
109 // CHECK: call void asm sideeffect "", "{r30},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r30()110 void test_r30() {
111 register int a asm ("r30");
112 asm ("" :: "r" (a));
113 }
114
115 // CHECK-LABEL: @test_r31
116 // CHECK: call void asm sideeffect "", "{r31},~{dirflag},~{fpsr},~{flags}"(i32 undef)
test_r31()117 void test_r31() {
118 register int a asm ("r31");
119 asm ("" :: "r" (a));
120 }
121
122