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 63