1; RUN: llc < %s -march=nvptx -mcpu=sm_10 | FileCheck %s 2; RUN: llc < %s -march=nvptx64 -mcpu=sm_10 | FileCheck %s 3 4 5; i16 6 7define i16 @cvt_i16_i32(i32 %x) { 8; CHECK: cvt.u16.u32 %rs{{[0-9]+}}, %r{{[0-9]+}} 9; CHECK: ret 10 %a = trunc i32 %x to i16 11 ret i16 %a 12} 13 14define i16 @cvt_i16_i64(i64 %x) { 15; CHECK: cvt.u16.u64 %rs{{[0-9]+}}, %rl{{[0-9]+}} 16; CHECK: ret 17 %a = trunc i64 %x to i16 18 ret i16 %a 19} 20 21 22 23; i32 24 25define i32 @cvt_i32_i16(i16 %x) { 26; CHECK: cvt.u32.u16 %r{{[0-9]+}}, %rs{{[0-9]+}} 27; CHECK: ret 28 %a = zext i16 %x to i32 29 ret i32 %a 30} 31 32define i32 @cvt_i32_i64(i64 %x) { 33; CHECK: cvt.u32.u64 %r{{[0-9]+}}, %rl{{[0-9]+}} 34; CHECK: ret 35 %a = trunc i64 %x to i32 36 ret i32 %a 37} 38 39 40 41; i64 42 43define i64 @cvt_i64_i16(i16 %x) { 44; CHECK: cvt.u64.u16 %rl{{[0-9]+}}, %rs{{[0-9]+}} 45; CHECK: ret 46 %a = zext i16 %x to i64 47 ret i64 %a 48} 49 50define i64 @cvt_i64_i32(i32 %x) { 51; CHECK: cvt.u64.u32 %rl{{[0-9]+}}, %r{{[0-9]+}} 52; CHECK: ret 53 %a = zext i32 %x to i64 54 ret i64 %a 55} 56