1*32b5fed6SNemanja Ivanovic; Function Attrs: nounwind readnone 2*32b5fed6SNemanja Ivanovic; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-unknown \ 3*32b5fed6SNemanja Ivanovic; RUN: -mcpu=pwr9 < %s | FileCheck %s 4*32b5fed6SNemanja Ivanovic 5*32b5fed6SNemanja Ivanovicdefine signext i32 @ctw(i32 signext %a) { 6*32b5fed6SNemanja Ivanovicentry: 7*32b5fed6SNemanja Ivanovic %0 = tail call i32 @llvm.cttz.i32(i32 %a, i1 false) 8*32b5fed6SNemanja Ivanovic ret i32 %0 9*32b5fed6SNemanja Ivanovic; CHECK-LABEL: ctw 10*32b5fed6SNemanja Ivanovic; CHECK: cnttzw 3, 3 11*32b5fed6SNemanja Ivanovic; CHECK-NEXT: blr 12*32b5fed6SNemanja Ivanovic} 13*32b5fed6SNemanja Ivanovic 14*32b5fed6SNemanja Ivanovic; Function Attrs: nounwind readnone 15*32b5fed6SNemanja Ivanovicdeclare i32 @llvm.cttz.i32(i32, i1) 16*32b5fed6SNemanja Ivanovic 17*32b5fed6SNemanja Ivanovic; Function Attrs: nounwind readnone 18*32b5fed6SNemanja Ivanovicdefine signext i32 @clw(i32 signext %a) { 19*32b5fed6SNemanja Ivanovicentry: 20*32b5fed6SNemanja Ivanovic %0 = tail call i32 @llvm.ctlz.i32(i32 %a, i1 false) 21*32b5fed6SNemanja Ivanovic ret i32 %0 22*32b5fed6SNemanja Ivanovic; CHECK-LABEL: clw 23*32b5fed6SNemanja Ivanovic; CHECK: cntlzw 3, 3 24*32b5fed6SNemanja Ivanovic; CHECK-NEXT: blr 25*32b5fed6SNemanja Ivanovic} 26*32b5fed6SNemanja Ivanovic 27*32b5fed6SNemanja Ivanovic; Function Attrs: nounwind readnone 28*32b5fed6SNemanja Ivanovicdeclare i32 @llvm.ctlz.i32(i32, i1) 29*32b5fed6SNemanja Ivanovic 30*32b5fed6SNemanja Ivanovic; Function Attrs: nounwind readnone 31*32b5fed6SNemanja Ivanovicdefine i64 @ctd(i64 %a) { 32*32b5fed6SNemanja Ivanovicentry: 33*32b5fed6SNemanja Ivanovic %0 = tail call i64 @llvm.cttz.i64(i64 %a, i1 false) 34*32b5fed6SNemanja Ivanovic ret i64 %0 35*32b5fed6SNemanja Ivanovic; CHECK-LABEL: ctd 36*32b5fed6SNemanja Ivanovic; CHECK: cnttzd 3, 3 37*32b5fed6SNemanja Ivanovic; CHECK-NEXT: blr 38*32b5fed6SNemanja Ivanovic} 39*32b5fed6SNemanja Ivanovic 40*32b5fed6SNemanja Ivanovic; Function Attrs: nounwind readnone 41*32b5fed6SNemanja Ivanovicdeclare i64 @llvm.cttz.i64(i64, i1) 42*32b5fed6SNemanja Ivanovic 43*32b5fed6SNemanja Ivanovic; Function Attrs: nounwind readnone 44*32b5fed6SNemanja Ivanovicdefine i64 @cld(i64 %a) { 45*32b5fed6SNemanja Ivanovicentry: 46*32b5fed6SNemanja Ivanovic %0 = tail call i64 @llvm.ctlz.i64(i64 %a, i1 false) 47*32b5fed6SNemanja Ivanovic ret i64 %0 48*32b5fed6SNemanja Ivanovic; CHECK-LABEL: cld 49*32b5fed6SNemanja Ivanovic; CHECK: cntlzd 3, 3 50*32b5fed6SNemanja Ivanovic; CHECK-NEXT: blr 51*32b5fed6SNemanja Ivanovic} 52*32b5fed6SNemanja Ivanovic 53*32b5fed6SNemanja Ivanovic; Function Attrs: nounwind readnone 54*32b5fed6SNemanja Ivanovicdeclare i64 @llvm.ctlz.i64(i64, i1) 55