/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | ConstantRange.h | 548 ConstantRange ctlz(bool ZeroIsPoison = false) const;
|
H A D | VPIntrinsics.def | 265 // llvm.vp.ctlz(x,is_zero_poison,mask,vlen) 268 VP_PROPERTY_FUNCTIONAL_INTRINSIC(ctlz)
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | ConstantRange.cpp | 1009 case Intrinsic::ctlz: in isIntrinsicSupported() 1043 case Intrinsic::ctlz: { in intrinsic() 1047 return Ops[0].ctlz(ZeroIsPoison->getBoolValue()); in intrinsic() 1804 ConstantRange ConstantRange::ctlz(bool ZeroIsPoison) const { in ctlz() function in ConstantRange
|
H A D | AutoUpgrade.cpp | 705 .StartsWith("vclz.", Intrinsic::ctlz) in upgradeArmOrAarch64IntrinsicFunction() 1059 .StartsWith("ctlz.", Intrinsic::ctlz) in upgradeIntrinsicFunction1() 1226 .Case("clz.i", Intrinsic::ctlz) in upgradeIntrinsicFunction1() 3333 F->getParent(), Intrinsic::ctlz, CI->getType()), in upgradeX86IntrinsicCall() 4228 Intrinsic::getDeclaration(F->getParent(), Intrinsic::ctlz, in UpgradeIntrinsicCall() 4474 case Intrinsic::ctlz: in UpgradeIntrinsicCall()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyInstrInteger.td | 85 defm CLZ : UnaryInt<ctlz, "clz ", 0x67, 0x79>;
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | DemandedBits.cpp | 99 case Intrinsic::ctlz: in determineLiveOperandBits()
|
H A D | VectorUtils.cpp | 52 case Intrinsic::ctlz: in isTriviallyVectorizable() 111 case Intrinsic::ctlz: in isVectorIntrinsicWithScalarOpAtArg()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineCalls.cpp | 483 II.getIntrinsicID() == Intrinsic::ctlz) && in foldCttzCtlz() 492 Intrinsic::ID ID = IsTZ ? Intrinsic::ctlz : Intrinsic::cttz; in foldCttzCtlz() 577 IC.Builder.CreateBinaryIntrinsic(Intrinsic::ctlz, C, Op1); in foldCttzCtlz() 585 IC.Builder.CreateBinaryIntrinsic(Intrinsic::ctlz, C, Op1); in foldCttzCtlz() 1468 static_assert(IntrID == Intrinsic::cttz || IntrID == Intrinsic::ctlz, in foldMinimumOverTrailingOrLeadingZeroCount() 1708 foldMinimumOverTrailingOrLeadingZeroCount<Intrinsic::ctlz>( in visitCallInst() 2027 case Intrinsic::ctlz: in visitCallInst() 3599 case Intrinsic::ctlz: in visitCallInst()
|
H A D | InstCombineSelect.cpp | 1106 if (!match(Ctlz, m_Intrinsic<Intrinsic::ctlz>())) in foldSelectCtlzToCttz() 1159 !match(Count, m_Intrinsic<Intrinsic::ctlz>(m_Value(X)))) in foldSelectCttzCtlz() 3513 !match(Ctlz, m_Intrinsic<Intrinsic::ctlz>(m_Value(CtlzOp), m_Zero())) || in foldBitCeil()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopIdiomRecognize.cpp | 1631 IntrinID = Intrinsic::ctlz; in detectShiftUntilLessThanIdiom() 1848 Intrinsic::ctlz; in detectShiftUntilZeroIdiom() 2599 Intrinsic::ID IntrID = Intrinsic::ctlz; in recognizeShiftUntilBitTest() 2820 : Intrinsic::ctlz; in detectShiftUntilZeroIdiom()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | IntrinsicLowering.cpp | 259 case Intrinsic::ctlz: in LowerIntrinsicCall()
|
H A D | ExpandLargeFpConvert.cpp | 359 Intrinsic::getDeclaration(F->getParent(), Intrinsic::ctlz, IntTy); in expandIToFP()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | IntegerDivision.cpp | 160 Function *CTLZ = Intrinsic::getDeclaration(F->getParent(), Intrinsic::ctlz, in generateUnsignedDivisionCode()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/ |
H A D | SelectionDAGCompat.td | 139 def : GINodeEquiv<G_CTLZ, ctlz>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
H A D | NVPTXInstrInfo.td | 3650 def : Pat<(i32 (ctlz (i32 Int32Regs:$a))), (CLZr32 Int32Regs:$a)>; 3652 // The return type of the ctlz ISD node is the same as its input, but the PTX 3653 // ctz instruction always returns a 32-bit value. For ctlz.i64, convert the 3656 def : Pat<(i64 (ctlz Int64Regs:$a)), (CVT_u64_u32 (CLZr64 Int64Regs:$a), CvtNONE)>; 3657 def : Pat<(i32 (trunc (i64 (ctlz Int64Regs:$a)))), (CLZr64 Int64Regs:$a)>; 3659 // For 16-bit ctlz, we zero-extend to 32-bit, perform the count, then trunc the 3667 // ctlz.b32 $result, $tmp 3670 // and then ctlz that value. This way we don't have to subtract 16 from the 3673 def : Pat<(i16 (ctlz Int16Regs:$a)), 3676 def : Pat<(i32 (zext (i16 (ctlz Int16Regs:$a)))), [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonPatternsHVX.td | 749 def: Pat<(VecI8 (ctlz HVI8:$Vs)), 754 def: Pat<(VecI16 (ctlz HVI16:$Vs)), (V6_vcl0h HvxVR:$Vs)>; 755 def: Pat<(VecI32 (ctlz HVI32:$Vs)), (V6_vcl0w HvxVR:$Vs)>;
|
H A D | HexagonBitSimplify.cpp | 2228 auto ctlz = [] (const BitTracker::RegisterCell &C) -> unsigned { in genBitSplit() local 2236 unsigned Z = ctlz(RC); in genBitSplit() 2270 if (SC.width() != W || ctlz(SC) != W-Z) in genBitSplit()
|
H A D | HexagonPatterns.td | 1885 def: Pat<(i32 (ctlz I32:$Rs)), (S2_cl0 I32:$Rs)>; 1886 def: Pat<(i32 (trunc (ctlz I64:$Rss))), (S2_cl0p I64:$Rss)>; 1893 def: Pat<(i32 (ctlz (not I32:$Rs))), (S2_cl1 I32:$Rs)>; 1894 def: Pat<(i32 (trunc (ctlz (not I64:$Rss)))), (S2_cl1p I64:$Rss)>; 1901 def: Pat<(i64 (ctlz I64:$Rss)), (ToZext64 (S2_cl0p I64:$Rss))>; 1903 def: Pat<(i64 (ctlz (not I64:$Rss))), (ToZext64 (S2_cl1p I64:$Rss))>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVInstrInfoZb.td | 584 def : PatGpr<ctlz, CLZ>; 758 def : PatGpr<ctlz, CLZW, i32>;
|
H A D | RISCVInstrInfoXTHead.td | 572 def : PatGpr<ctlz, TH_FF1>; 573 def : Pat<(XLenVT (ctlz (xor (XLenVT GPR:$rs1), -1))), (TH_FF0 GPR:$rs1)>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
H A D | PPCInstrAltivec.td | 1293 [(set v16i8:$VD, (ctlz v16i8:$VB))]>; 1296 [(set v8i16:$VD, (ctlz v8i16:$VB))]>; 1299 [(set v4i32:$VD, (ctlz v4i32:$VB))]>; 1302 [(set v2i64:$VD, (ctlz v2i64:$VB))]>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/ |
H A D | Mips32r6InstrInfo.td | 809 list<dag> Pattern = [(set GPROpnd:$rd, (ctlz (not GPROpnd:$rs)))]; 815 list<dag> Pattern = [(set GPROpnd:$rd, (ctlz GPROpnd:$rs))];
|
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
H A D | SystemZInstrVector.td | 530 def VCLZB : UnaryVRRa<"vclzb", 0xE753, ctlz, v128b, v128b, 0>; 531 def VCLZH : UnaryVRRa<"vclzh", 0xE753, ctlz, v128h, v128h, 1>; 532 def VCLZF : UnaryVRRa<"vclzf", 0xE753, ctlz, v128f, v128f, 2>; 533 def VCLZG : UnaryVRRa<"vclzg", 0xE753, ctlz, v128g, v128g, 3>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/ |
H A D | LoongArchInstrInfo.td | 1317 def : PatGpr<ctlz, CLZ_D>; 1319 def : Pat<(ctlz (not GPR:$rj)), (CLO_D GPR:$rj)>; 1328 def : PatGpr<ctlz, CLZ_W>; 1330 def : Pat<(ctlz (not GPR:$rj)), (CLO_W GPR:$rj)>;
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | BasicTTIImpl.h | 1601 case Intrinsic::ctlz: in getIntrinsicInstrCost() 2317 case Intrinsic::ctlz: in getTypeBasedIntrinsicInstrCost()
|