Home | History | Annotate | Download | only in NVPTX
      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 
      7 define 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 
     14 define 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 
     25 define 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 
     32 define 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 
     43 define 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 
     50 define 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