Home
last modified time | relevance | path

Searched refs:ctlz (Results 1 – 25 of 65) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DConstantRange.h548 ConstantRange ctlz(bool ZeroIsPoison = false) const;
H A DVPIntrinsics.def265 // llvm.vp.ctlz(x,is_zero_poison,mask,vlen)
268 VP_PROPERTY_FUNCTIONAL_INTRINSIC(ctlz)
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DConstantRange.cpp1009 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 DAutoUpgrade.cpp705 .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 DWebAssemblyInstrInteger.td85 defm CLZ : UnaryInt<ctlz, "clz ", 0x67, 0x79>;
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DDemandedBits.cpp99 case Intrinsic::ctlz: in determineLiveOperandBits()
H A DVectorUtils.cpp52 case Intrinsic::ctlz: in isTriviallyVectorizable()
111 case Intrinsic::ctlz: in isVectorIntrinsicWithScalarOpAtArg()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCalls.cpp483 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 DInstCombineSelect.cpp1106 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 DLoopIdiomRecognize.cpp1631 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 DIntrinsicLowering.cpp259 case Intrinsic::ctlz: in LowerIntrinsicCall()
H A DExpandLargeFpConvert.cpp359 Intrinsic::getDeclaration(F->getParent(), Intrinsic::ctlz, IntTy); in expandIToFP()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DIntegerDivision.cpp160 Function *CTLZ = Intrinsic::getDeclaration(F->getParent(), Intrinsic::ctlz, in generateUnsignedDivisionCode()
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/
H A DSelectionDAGCompat.td139 def : GINodeEquiv<G_CTLZ, ctlz>;
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXInstrInfo.td3650 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 DHexagonPatternsHVX.td749 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 DHexagonBitSimplify.cpp2228 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 DHexagonPatterns.td1885 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 DRISCVInstrInfoZb.td584 def : PatGpr<ctlz, CLZ>;
758 def : PatGpr<ctlz, CLZW, i32>;
H A DRISCVInstrInfoXTHead.td572 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 DPPCInstrAltivec.td1293 [(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 DMips32r6InstrInfo.td809 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 DSystemZInstrVector.td530 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 DLoongArchInstrInfo.td1317 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 DBasicTTIImpl.h1601 case Intrinsic::ctlz: in getIntrinsicInstrCost()
2317 case Intrinsic::ctlz: in getTypeBasedIntrinsicInstrCost()

123