44/// Check GCC register names and alias can be used in register variable definition.
55
66// CHECK-LABEL: @test_r0
7- // CHECK: call void asm sideeffect "", "{$r0}"(i32 undef)
7+ // CHECK-COUNT-2: call void asm sideeffect "", "{$r0}"(i32 undef)
8+ // CHECK-NOT: call void asm sideeffect "", "{$r0}"(i32 undef)
89void test_r0 () {
910 register int a asm ("$r0" );
1011 register int b asm ("r0" );
@@ -13,7 +14,8 @@ void test_r0() {
1314}
1415
1516// CHECK-LABEL: @test_r12
16- // CHECK: call void asm sideeffect "", "{$r12}"(i32 undef)
17+ // CHECK-COUNT-2: call void asm sideeffect "", "{$r12}"(i32 undef)
18+ // CHECK-NOT: call void asm sideeffect "", "{$r12}"(i32 undef)
1719void test_r12 () {
1820 register int a asm ("$r12" );
1921 register int b asm ("r12" );
@@ -22,7 +24,8 @@ void test_r12() {
2224}
2325
2426// CHECK-LABEL: @test_r31
25- // CHECK: call void asm sideeffect "", "{$r31}"(i32 undef)
27+ // CHECK-COUNT-2: call void asm sideeffect "", "{$r31}"(i32 undef)
28+ // CHECK-NOT: call void asm sideeffect "", "{$r31}"(i32 undef)
2629void test_r31 () {
2730 register int a asm ("$r31" );
2831 register int b asm ("r31" );
@@ -31,7 +34,8 @@ void test_r31() {
3134}
3235
3336// CHECK-LABEL: @test_zero
34- // CHECK: call void asm sideeffect "", "{$r0}"(i32 undef)
37+ // CHECK-COUNT-2: call void asm sideeffect "", "{$r0}"(i32 undef)
38+ // CHECK-NOT: call void asm sideeffect "", "{$r0}"(i32 undef)
3539void test_zero () {
3640 register int a asm ("$zero" );
3741 register int b asm ("zero" );
@@ -40,7 +44,8 @@ void test_zero() {
4044}
4145
4246// CHECK-LABEL: @test_a0
43- // CHECK: call void asm sideeffect "", "{$r4}"(i32 undef)
47+ // CHECK-COUNT-2: call void asm sideeffect "", "{$r4}"(i32 undef)
48+ // CHECK-NOT: call void asm sideeffect "", "{$r4}"(i32 undef)
4449void test_a0 () {
4550 register int a asm ("$a0" );
4651 register int b asm ("a0" );
@@ -49,7 +54,8 @@ void test_a0() {
4954}
5055
5156// CHECK-LABEL: @test_t1
52- // CHECK: call void asm sideeffect "", "{$r13}"(i32 undef)
57+ // CHECK-COUNT-2: call void asm sideeffect "", "{$r13}"(i32 undef)
58+ // CHECK-NOT: call void asm sideeffect "", "{$r13}"(i32 undef)
5359void test_t1 () {
5460 register int a asm ("$t1" );
5561 register int b asm ("t1" );
@@ -58,7 +64,8 @@ void test_t1() {
5864}
5965
6066// CHECK-LABEL: @test_fp
61- // CHECK: call void asm sideeffect "", "{$r22}"(i32 undef)
67+ // CHECK-COUNT-2: call void asm sideeffect "", "{$r22}"(i32 undef)
68+ // CHECK-NOT: call void asm sideeffect "", "{$r22}"(i32 undef)
6269void test_fp () {
6370 register int a asm ("$fp" );
6471 register int b asm ("fp" );
@@ -67,7 +74,8 @@ void test_fp() {
6774}
6875
6976// CHECK-LABEL: @test_s2
70- // CHECK: call void asm sideeffect "", "{$r25}"(i32 undef)
77+ // CHECK-COUNT-2: call void asm sideeffect "", "{$r25}"(i32 undef)
78+ // CHECK-NOT: call void asm sideeffect "", "{$r25}"(i32 undef)
7179void test_s2 () {
7280 register int a asm ("$s2" );
7381 register int b asm ("s2" );
@@ -76,51 +84,73 @@ void test_s2() {
7684}
7785
7886// CHECK-LABEL: @test_f0
79- // CHECK: call void asm sideeffect "", "{$f0}"(float undef)
87+ // CHECK-COUNT-2: call void asm sideeffect "", "{$f0}"(float undef)
88+ // CHECK-NOT: call void asm sideeffect "", "{$f0}"(float undef)
8089void test_f0 () {
8190 register float a asm ("$f0" );
91+ register float b asm ("f0" );
8292 asm ("" :: "f" (a ));
93+ asm ("" :: "f" (b ));
8394}
8495
8596// CHECK-LABEL: @test_f14
86- // CHECK: call void asm sideeffect "", "{$f14}"(float undef)
97+ // CHECK-COUNT-2: call void asm sideeffect "", "{$f14}"(float undef)
98+ // CHECK-NOT: call void asm sideeffect "", "{$f14}"(float undef)
8799void test_f14 () {
88100 register float a asm ("$f14" );
101+ register float b asm ("f14" );
89102 asm ("" :: "f" (a ));
103+ asm ("" :: "f" (b ));
90104}
91105
92106// CHECK-LABEL: @test_f31
93- // CHECK: call void asm sideeffect "", "{$f31}"(float undef)
107+ // CHECK-COUNT-2: call void asm sideeffect "", "{$f31}"(float undef)
108+ // CHECK-NOT: call void asm sideeffect "", "{$f31}"(float undef)
94109void test_f31 () {
95110 register float a asm ("$f31" );
111+ register float b asm ("f31" );
96112 asm ("" :: "f" (a ));
113+ asm ("" :: "f" (b ));
97114}
98115
99116// CHECK-LABEL: @test_fa0
100- // CHECK: call void asm sideeffect "", "{$f0}"(float undef)
117+ // CHECK-COUNT-2: call void asm sideeffect "", "{$f0}"(float undef)
118+ // CHECK-NOT: call void asm sideeffect "", "{$f0}"(float undef)
101119void test_fa0 () {
102120 register float a asm ("$fa0" );
121+ register float b asm ("fa0" );
103122 asm ("" :: "f" (a ));
123+ asm ("" :: "f" (b ));
104124}
105125
106126// CHECK-LABEL: @test_ft1
107- // CHECK: call void asm sideeffect "", "{$f9}"(float undef)
127+ // CHECK-COUNT-2: call void asm sideeffect "", "{$f9}"(float undef)
128+ // CHECK-NOT: call void asm sideeffect "", "{$f9}"(float undef)
108129void test_ft1 () {
109130 register float a asm ("$ft1" );
131+ register float b asm ("ft1" );
110132 asm ("" :: "f" (a ));
133+ asm ("" :: "f" (b ));
111134}
112135
113136// CHECK-LABEL: @test_fs2
114- // CHECK: call void asm sideeffect "", "{$f26}"(float undef)
137+ // CHECK-COUNT-2: call void asm sideeffect "", "{$f26}"(float undef)
138+ // CHECK-NOT: call void asm sideeffect "", "{$f26}"(float undef)
115139void test_fs2 () {
116140 register float a asm ("$fs2" );
141+ register float b asm ("fs2" );
117142 asm ("" :: "f" (a ));
143+ asm ("" :: "f" (b ));
118144}
119145
120146// CHECK-LABEL: @test_fcc
121- // CHECK: call void asm sideeffect "", "~{$fcc0}"()
122- // CHECK: call void asm sideeffect "", "~{$fcc7}"()
147+ // CHECK-COUNT-2: call void asm sideeffect "", "~{$fcc0}"()
148+ // CHECK-NOT: call void asm sideeffect "", "~{$fcc0}"()
149+ // CHECK-COUNT-2: call void asm sideeffect "", "~{$fcc7}"()
150+ // CHECK-NOT: call void asm sideeffect "", "~{$fcc7}"()
123151void test_fcc () {
124152 asm ("" ::: "$fcc0" );
153+ asm ("" ::: "fcc0" );
125154 asm ("" ::: "$fcc7" );
155+ asm ("" ::: "fcc7" );
126156}
0 commit comments