Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DConstantRange.h566 LLVM_ABI ConstantRange ctlz(bool ZeroIsPoison = false) const;
H A DVPIntrinsics.def237 // llvm.vp.ctlz(x,is_zero_poison,mask,vlen)
240 VP_PROPERTY_FUNCTIONAL_INTRINSIC(ctlz)
/freebsd/contrib/llvm-project/llvm/lib/Target/Sparc/
H A DSparcInstrVIS.td320 def : Pat<(i64 (ctlz i64:$src)), (LZCNT $src)>;
327 def : Pat<(i32 (ctlz i32:$src)), (ADDri (LZCNT (SRLri $src, 0)), (i32 -32))>;
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.cpp1225 {Intrinsic::ctlz, MVT::i8, 19},
1226 {Intrinsic::ctlz, MVT::i16, 28},
1227 {Intrinsic::ctlz, MVT::i32, 31},
1228 {Intrinsic::ctlz, MVT::i64, 35},
1397 case Intrinsic::ctlz: in getIntrinsicInstrCost()
1406 case Intrinsic::ctlz: in getIntrinsicInstrCost()
H A DRISCVInstrInfoXTHead.td584 def : PatGpr<ctlz, TH_FF1>;
585 def : Pat<(XLenVT (ctlz (xor (XLenVT GPR:$rs1), -1))), (TH_FF0 GPR:$rs1)>;
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DConstantRange.cpp1022 case Intrinsic::ctlz: in isIntrinsicSupported()
1056 case Intrinsic::ctlz: { in intrinsic()
1060 return Ops[0].ctlz(ZeroIsPoison->getBoolValue()); in intrinsic()
1989 ConstantRange ConstantRange::ctlz(bool ZeroIsPoison) const { in ctlz() function in ConstantRange
H A DAutoUpgrade.cpp716 .StartsWith("vclz.", Intrinsic::ctlz) in upgradeArmOrAarch64IntrinsicFunction()
1172 .StartsWith("ctlz.", Intrinsic::ctlz) in upgradeIntrinsicFunction1()
1352 .Case("clz.i", Intrinsic::ctlz) in upgradeIntrinsicFunction1()
2480 Value *Ctlz = Builder.CreateIntrinsic(Intrinsic::ctlz, {Arg->getType()}, in upgradeNVVMIntrinsicCall()
3623 Builder.CreateIntrinsic(Intrinsic::ctlz, CI->getType(), in upgradeX86IntrinsicCall()
4744 case Intrinsic::ctlz: in UpgradeIntrinsicCall()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DDemandedBits.cpp97 case Intrinsic::ctlz: in determineLiveOperandBits()
H A DVectorUtils.cpp52 case Intrinsic::ctlz: in isTriviallyVectorizable()
159 case Intrinsic::ctlz: in isVectorIntrinsicWithScalarOpAtArg()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DIntrinsicLowering.cpp261 case Intrinsic::ctlz: in LowerIntrinsicCall()
H A DExpandFp.cpp364 Intrinsic::getOrInsertDeclaration(F->getParent(), Intrinsic::ctlz, IntTy); in expandIToFP()
/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/Transforms/Scalar/
H A DLoopIdiomRecognize.cpp1940 IntrinID = Intrinsic::ctlz; in detectShiftUntilLessThanIdiom()
2157 Intrinsic::ctlz; in detectShiftUntilZeroIdiom()
2905 Intrinsic::ID IntrID = Intrinsic::ctlz; in recognizeShiftUntilBitTest()
3126 : Intrinsic::ctlz; in detectShiftUntilZeroIdiom()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCalls.cpp481 II.getIntrinsicID() == Intrinsic::ctlz) && in foldCttzCtlz()
490 Intrinsic::ID ID = IsTZ ? Intrinsic::ctlz : Intrinsic::cttz; in foldCttzCtlz()
578 IC.Builder.CreateBinaryIntrinsic(Intrinsic::ctlz, C, Op1); in foldCttzCtlz()
586 IC.Builder.CreateBinaryIntrinsic(Intrinsic::ctlz, C, Op1); in foldCttzCtlz()
1571 static_assert(IntrID == Intrinsic::cttz || IntrID == Intrinsic::ctlz, in foldMinimumOverTrailingOrLeadingZeroCount()
1898 foldMinimumOverTrailingOrLeadingZeroCount<Intrinsic::ctlz>( in visitCallInst()
2295 case Intrinsic::ctlz: in visitCallInst()
H A DInstCombineCasts.cpp928 if (match(Src, m_OneUse(m_Intrinsic<Intrinsic::ctlz>(m_ZExt(m_Value(A)), in visitTrunc()
934 Builder.CreateIntrinsic(Intrinsic::ctlz, {Trunc.getType()}, {A, B}); in visitTrunc()
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/
H A DSelectionDAGCompat.td144 def : GINodeEquiv<G_CTLZ, ctlz>;
/freebsd/contrib/llvm-project/clang/lib/CodeGen/TargetBuiltins/
H A DSystemZ.cpp85 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, ResultType); in EmitSystemZBuiltinExpr()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DIntegerDivision.cpp161 Intrinsic::getOrInsertDeclaration(F->getParent(), Intrinsic::ctlz, DivTy); in generateUnsignedDivisionCode()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonPatternsHVX.td764 def: Pat<(VecI8 (ctlz HVI8:$Vs)),
769 def: Pat<(VecI16 (ctlz HVI16:$Vs)), (V6_vcl0h HvxVR:$Vs)>;
770 def: Pat<(VecI32 (ctlz HVI32:$Vs)), (V6_vcl0w HvxVR:$Vs)>;
H A DHexagonBitSimplify.cpp2206 auto ctlz = [] (const BitTracker::RegisterCell &C) -> unsigned { in genBitSplit() local
2214 unsigned Z = ctlz(RC); in genBitSplit()
2248 if (SC.width() != W || ctlz(SC) != W-Z) in genBitSplit()
H A DHexagonPatterns.td1918 def: Pat<(i32 (ctlz I32:$Rs)), (S2_cl0 I32:$Rs)>;
1919 def: Pat<(i32 (trunc (ctlz I64:$Rss))), (S2_cl0p I64:$Rss)>;
1926 def: Pat<(i32 (ctlz (not I32:$Rs))), (S2_cl1 I32:$Rs)>;
1927 def: Pat<(i32 (trunc (ctlz (not I64:$Rss)))), (S2_cl1p I64:$Rss)>;
1934 def: Pat<(i64 (ctlz I64:$Rss)), (ToZext64 (S2_cl0p I64:$Rss))>;
1936 def: Pat<(i64 (ctlz (not I64:$Rss))), (ToZext64 (S2_cl1p I64:$Rss))>;
/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.td593 def VCLZB : UnaryVRRa<"vclzb", 0xE753, ctlz, v128b, v128b, 0>;
594 def VCLZH : UnaryVRRa<"vclzh", 0xE753, ctlz, v128h, v128h, 1>;
595 def VCLZF : UnaryVRRa<"vclzf", 0xE753, ctlz, v128f, v128f, 2>;
596 def VCLZG : UnaryVRRa<"vclzg", 0xE753, ctlz, v128g, v128g, 3>;
598 def VCLZQ : UnaryVRRa<"vclzq", 0xE753, ctlz, v128q, v128q, 4>;
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchInstrInfo.td1386 def : PatGpr<ctlz, CLZ_D>;
1388 def : Pat<(ctlz (not GPR:$rj)), (CLO_D GPR:$rj)>;
1397 def : PatGpr<ctlz, CLZ_W>;
1399 def : Pat<(ctlz (not GPR:$rj)), (CLO_W GPR:$rj)>;

123