• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -march=ptx32 | FileCheck %s
2
3define ptx_device i16 @t1_u16() {
4; CHECK: mov.u16 %ret{{[0-9]+}}, 0;
5; CHECK: ret;
6	ret i16 0
7}
8
9define ptx_device i32 @t1_u32() {
10; CHECK: mov.u32 %ret{{[0-9]+}}, 0;
11; CHECK: ret;
12	ret i32 0
13}
14
15define ptx_device i64 @t1_u64() {
16; CHECK: mov.u64 %ret{{[0-9]+}}, 0;
17; CHECK: ret;
18	ret i64 0
19}
20
21define ptx_device float @t1_f32() {
22; CHECK: mov.f32 %ret{{[0-9]+}}, 0D0000000000000000;
23; CHECK: ret;
24	ret float 0.0
25}
26
27define ptx_device double @t1_f64() {
28; CHECK: mov.f64 %ret{{[0-9]+}}, 0D0000000000000000;
29; CHECK: ret;
30	ret double 0.0
31}
32
33define ptx_device i16 @t2_u16(i16 %x) {
34; CHECK: mov.b16 %ret{{[0-9]+}}, %arg{{[0-9]+}};
35; CHECK: ret;
36	ret i16 %x
37}
38
39define ptx_device i32 @t2_u32(i32 %x) {
40; CHECK: mov.b32 %ret{{[0-9]+}}, %arg{{[0-9]+}};
41; CHECK: ret;
42	ret i32 %x
43}
44
45define ptx_device i64 @t2_u64(i64 %x) {
46; CHECK: mov.b64 %ret{{[0-9]+}}, %arg{{[0-9]+}};
47; CHECK: ret;
48	ret i64 %x
49}
50
51define ptx_device float @t3_f32(float %x) {
52; CHECK: mov.f32 %ret{{[0-9]+}}, %arg{{[0-9]+}};
53; CHECK: ret;
54	ret float %x
55}
56
57define ptx_device double @t3_f64(double %x) {
58; CHECK: mov.f64 %ret{{[0-9]+}}, %arg{{[0-9]+}};
59; CHECK: ret;
60	ret double %x
61}
62
63