Skip to content

Commit 5ec6b5e

Browse files
committed
Fixed tests
1 parent 6d74e09 commit 5ec6b5e

File tree

1 file changed

+61
-69
lines changed

1 file changed

+61
-69
lines changed

src/test/assembly/asm/nvptx-types.rs

Lines changed: 61 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
// no-system-llvm
22
// assembly-output: emit-asm
3-
// compile-flags: --target --nvptx64-nvidia-cuda
4-
// compile-flags: -Z merge-functions=disabled
5-
// only-nvptx64
6-
// ignore-nvptx64
3+
// compile-flags: --target nvptx64-nvidia-cuda
4+
// compile-flags: --crate-type cdylib
75

86
#![feature(no_core, lang_items, rustc_attrs)]
9-
#![crate_type = "rlib"]
107
#![no_core]
11-
#![allow(asm_sub_register, non_camel_case_types)]
128

139
#[rustc_builtin_macro]
1410
macro_rules! asm {
@@ -18,10 +14,6 @@ macro_rules! asm {
1814
macro_rules! concat {
1915
() => {};
2016
}
21-
#[rustc_builtin_macro]
22-
macro_rules! stringify {
23-
() => {};
24-
}
2517

2618
#[lang = "sized"]
2719
trait Sized {}
@@ -39,19 +31,19 @@ impl Copy for f64 {}
3931
impl Copy for ptr {}
4032

4133
#[no_mangle]
42-
fn extern_func();
34+
fn extern_func() {}
4335

44-
// CHECK-LABEL: sym_fn
45-
// CHECK: #APP
46-
// CHECK call extern_func;
47-
// CHECK: #NO_APP
36+
// CHECK-LABEL: .visible .func sym_fn()
37+
// CHECK: // begin inline asm
38+
// CHECK: call extern_func;
39+
// CHECK: // end inline asm
4840
#[no_mangle]
4941
pub unsafe fn sym_fn() {
50-
asm!("call {}", sym extern_func);
42+
asm!("call {};", sym extern_func);
5143
}
5244

5345
macro_rules! check {
54-
($func:ident $ty:ident, $class:ident $mov:literal) => {
46+
($func:ident $ty:ident $class:ident $mov:literal) => {
5547
#[no_mangle]
5648
pub unsafe fn $func(x: $ty) -> $ty {
5749
let y;
@@ -61,80 +53,80 @@ macro_rules! check {
6153
};
6254
}
6355

64-
// CHECK-LABEL: reg16_i8
65-
// CHECK: #APP
66-
// CHECK: mov.i16 {{[a-z0-9]+}}, {{[a-z0-9]+}};
67-
// CHECK: #NO_APP
56+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg16_i8
57+
// CHECK: // begin inline asm
58+
// CHECK: mov.i16 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
59+
// CHECK: // end inline asm
6860
check!(reg16_i8 i8 reg16 "mov.i16");
6961

70-
// CHECK-LABEL: reg16_i16
71-
// CHECK: #APP
72-
// CHECK: mov.i16 {{[a-z0-9]+}}, {{[a-z0-9]+}};
73-
// CHECK: #NO_APP
62+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg16_i16
63+
// CHECK: // begin inline asm
64+
// CHECK: mov.i16 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
65+
// CHECK: // end inline asm
7466
check!(reg16_i16 i16 reg16 "mov.i16");
7567

76-
// CHECK-LABEL: reg32_i8
77-
// CHECK: #APP
78-
// CHECK: mov.i32 {{[a-z0-9]+}}, {{[a-z0-9]+}};
79-
// CHECK: #NO_APP
68+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg32_i8
69+
// CHECK: // begin inline asm
70+
// CHECK: mov.i32 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
71+
// CHECK: // end inline asm
8072
check!(reg32_i8 i8 reg32 "mov.i32");
8173

82-
// CHECK-LABEL: reg32_i16
83-
// CHECK: #APP
84-
// CHECK: mov.i32 {{[a-z0-9]+}}, {{[a-z0-9]+}};
85-
// CHECK: #NO_APP
74+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg32_i16
75+
// CHECK: // begin inline asm
76+
// CHECK: mov.i32 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
77+
// CHECK: // end inline asm
8678
check!(reg32_i16 i16 reg32 "mov.i32");
8779

88-
// CHECK-LABEL: reg32_i32
89-
// CHECK: #APP
90-
// CHECK: mov.i32 {{[a-z0-9]+}}, {{[a-z0-9]+}};
91-
// CHECK: #NO_APP
80+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg32_i32
81+
// CHECK: // begin inline asm
82+
// CHECK: mov.i32 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
83+
// CHECK: // end inline asm
9284
check!(reg32_i32 i32 reg32 "mov.i32");
9385

94-
// CHECK-LABEL: reg32_f32
95-
// CHECK: #APP
96-
// CHECK: mov.i32 {{[a-z0-9]+}}, {{[a-z0-9]+}};
97-
// CHECK: #NO_APP
86+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg32_f32
87+
// CHECK: // begin inline asm
88+
// CHECK: mov.i32 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
89+
// CHECK: // end inline asm
9890
check!(reg32_f32 f32 reg32 "mov.i32");
9991

100-
// CHECK-LABEL: reg64_i8
101-
// CHECK: #APP
102-
// CHECK: mov.i64 {{[a-z0-9]+}}, {{[a-z0-9]+}};
103-
// CHECK: #NO_APP
92+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg64_i8
93+
// CHECK: // begin inline asm
94+
// CHECK: mov.i64 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
95+
// CHECK: // end inline asm
10496
check!(reg64_i8 i8 reg64 "mov.i64");
10597

106-
// CHECK-LABEL: reg64_i16
107-
// CHECK: #APP
108-
// CHECK: mov.i64 {{[a-z0-9]+}}, {{[a-z0-9]+}};
109-
// CHECK: #NO_APP
98+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg64_i16
99+
// CHECK: // begin inline asm
100+
// CHECK: mov.i64 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
101+
// CHECK: // end inline asm
110102
check!(reg64_i16 i16 reg64 "mov.i64");
111103

112-
// CHECK-LABEL: reg64_i32
113-
// CHECK: #APP
114-
// CHECK: mov.i64 {{[a-z0-9]+}}, {{[a-z0-9]+}};
115-
// CHECK: #NO_APP
104+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg64_i32
105+
// CHECK: // begin inline asm
106+
// CHECK: mov.i64 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
107+
// CHECK: // end inline asm
116108
check!(reg64_i32 i32 reg64 "mov.i64");
117109

118-
// CHECK-LABEL: reg64_f32
119-
// CHECK: #APP
120-
// CHECK: mov.i64 {{[a-z0-9]+}}, {{[a-z0-9]+}};
121-
// CHECK: #NO_APP
110+
// CHECK-LABEL: .visible .func (.param .b32 func_retval0) reg64_f32
111+
// CHECK: // begin inline asm
112+
// CHECK: mov.i64 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
113+
// CHECK: // end inline asm
122114
check!(reg64_f32 f32 reg64 "mov.i64");
123115

124-
// CHECK-LABEL: reg64_i64
125-
// CHECK: #APP
126-
// CHECK: mov.i64 {{[a-z0-9]+}}, {{[a-z0-9]+}};
127-
// CHECK: #NO_APP
116+
// CHECK-LABEL: .visible .func (.param .b64 func_retval0) reg64_i64
117+
// CHECK: // begin inline asm
118+
// CHECK: mov.i64 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
119+
// CHECK: // end inline asm
128120
check!(reg64_i64 i64 reg64 "mov.i64");
129121

130-
// CHECK-LABEL: reg64_f64
131-
// CHECK: #APP
132-
// CHECK: mov.i64 {{[a-z0-9]+}}, {{[a-z0-9]+}};
133-
// CHECK: #NO_APP
122+
// CHECK-LABEL: .visible .func (.param .b64 func_retval0) reg64_f64
123+
// CHECK: // begin inline asm
124+
// CHECK: mov.i64 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
125+
// CHECK: // end inline asm
134126
check!(reg64_f64 f64 reg64 "mov.i64");
135127

136-
// CHECK-LABEL: reg64_ptr
137-
// CHECK: #APP
138-
// CHECK: mov.i64 {{[a-z0-9]+}}, {{[a-z0-9]+}};
139-
// CHECK: #NO_APP
128+
// CHECK-LABEL: .visible .func (.param .b64 func_retval0) reg64_ptr
129+
// CHECK: // begin inline asm
130+
// CHECK: mov.i64 %{{[a-z0-9]+}}, %{{[a-z0-9]+}};
131+
// CHECK: // end inline asm
140132
check!(reg64_ptr ptr reg64 "mov.i64");

0 commit comments

Comments
 (0)