OSDN Git Service

Teach tblgen's set theory "sequence" operator to support an optional stride operand.
[android-x86/external-llvm.git] / test / CodeGen / PTX / mov.ll
1 ; RUN: llc < %s -march=ptx32 | FileCheck %s
2
3 define ptx_device i16 @t1_u16() {
4 ; CHECK: mov.u16 %ret{{[0-9]+}}, 0;
5 ; CHECK: ret;
6         ret i16 0
7 }
8
9 define ptx_device i32 @t1_u32() {
10 ; CHECK: mov.u32 %ret{{[0-9]+}}, 0;
11 ; CHECK: ret;
12         ret i32 0
13 }
14
15 define ptx_device i64 @t1_u64() {
16 ; CHECK: mov.u64 %ret{{[0-9]+}}, 0;
17 ; CHECK: ret;
18         ret i64 0
19 }
20
21 define ptx_device float @t1_f32() {
22 ; CHECK: mov.f32 %ret{{[0-9]+}}, 0D0000000000000000;
23 ; CHECK: ret;
24         ret float 0.0
25 }
26
27 define ptx_device double @t1_f64() {
28 ; CHECK: mov.f64 %ret{{[0-9]+}}, 0D0000000000000000;
29 ; CHECK: ret;
30         ret double 0.0
31 }
32
33 define 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
39 define 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
45 define 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
51 define 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
57 define 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