Home | History | Annotate | Download | only in NVPTX
      1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s --check-prefix=PTX32
      2 ; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s --check-prefix=PTX64
      3 
      4 define ptx_kernel void @t1(i1* %a) {
      5 ; PTX32:      mov.u16 %rs{{[0-9]+}}, 0;
      6 ; PTX32-NEXT: st.u8 [%r{{[0-9]+}}], %rs{{[0-9]+}};
      7 ; PTX64:      mov.u16 %rs{{[0-9]+}}, 0;
      8 ; PTX64-NEXT: st.u8 [%rl{{[0-9]+}}], %rs{{[0-9]+}};
      9   store i1 false, i1* %a
     10   ret void
     11 }
     12 
     13 
     14 define ptx_kernel void @t2(i1* %a, i8* %b) {
     15 ; PTX32: ld.u8 %rs{{[0-9]+}}, [%r{{[0-9]+}}]
     16 ; PTX32: and.b16 %rs{{[0-9]+}}, %rs{{[0-9]+}}, 1;
     17 ; PTX32: setp.eq.b16 %p{{[0-9]+}}, %rs{{[0-9]+}}, 1;
     18 ; PTX64: ld.u8 %rs{{[0-9]+}}, [%rl{{[0-9]+}}]
     19 ; PTX64: and.b16 %rs{{[0-9]+}}, %rs{{[0-9]+}}, 1;
     20 ; PTX64: setp.eq.b16 %p{{[0-9]+}}, %rs{{[0-9]+}}, 1;
     21 
     22   %t1 = load i1* %a
     23   %t2 = select i1 %t1, i8 1, i8 2
     24   store i8 %t2, i8* %b
     25   ret void
     26 }
     27