Home | History | Annotate | Download | only in NVPTX
      1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
      2 
      3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64"
      4 
      5 declare i16 @llvm.ctlz.i16(i16, i1) readnone
      6 declare i32 @llvm.ctlz.i32(i32, i1) readnone
      7 declare i64 @llvm.ctlz.i64(i64, i1) readnone
      8 
      9 define i32 @myctpop(i32 %a) {
     10 ; CHECK: clz.b32
     11   %val = call i32 @llvm.ctlz.i32(i32 %a, i1 false) readnone
     12   ret i32 %val
     13 }
     14 
     15 define i16 @myctpop16(i16 %a) {
     16 ; CHECK: clz.b32
     17   %val = call i16 @llvm.ctlz.i16(i16 %a, i1 false) readnone
     18   ret i16 %val
     19 }
     20 
     21 define i64 @myctpop64(i64 %a) {
     22 ; CHECK: clz.b64
     23   %val = call i64 @llvm.ctlz.i64(i64 %a, i1 false) readnone
     24   ret i64 %val
     25 }
     26 
     27 
     28 define i32 @myctpop_2(i32 %a) {
     29 ; CHECK: clz.b32
     30   %val = call i32 @llvm.ctlz.i32(i32 %a, i1 true) readnone
     31   ret i32 %val
     32 }
     33 
     34 define i16 @myctpop16_2(i16 %a) {
     35 ; CHECK: clz.b32
     36   %val = call i16 @llvm.ctlz.i16(i16 %a, i1 true) readnone
     37   ret i16 %val
     38 }
     39 
     40 define i64 @myctpop64_2(i64 %a) {
     41 ; CHECK: clz.b64
     42   %val = call i64 @llvm.ctlz.i64(i64 %a, i1 true) readnone
     43   ret i64 %val
     44 }
     45