Lines Matching refs:DemandedElts

501                                             const APInt &DemandedElts,  in ShrinkDemandedConstant()  argument
507 if (targetShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in ShrinkDemandedConstant()
544 APInt DemandedElts = VT.isVector() in ShrinkDemandedConstant() local
547 return ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO); in ShrinkDemandedConstant()
613 const APInt &DemandedElts, in SimplifyDemandedBits() argument
621 SimplifyDemandedBits(Op, DemandedBits, DemandedElts, Known, TLO); in SimplifyDemandedBits()
645 APInt DemandedElts = VT.isVector() in SimplifyDemandedBits() local
648 return SimplifyDemandedBits(Op, DemandedBits, DemandedElts, Known, TLO, Depth, in SimplifyDemandedBits()
655 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts, in SimplifyMultipleUseDemandedBits() argument
674 if (DemandedBits == 0 || DemandedElts == 0) in SimplifyMultipleUseDemandedBits()
678 unsigned NumElts = DemandedElts.getBitWidth(); in SimplifyMultipleUseDemandedBits()
693 Src, DemandedBits, DemandedElts, DAG, Depth + 1)) in SimplifyMultipleUseDemandedBits()
708 if (DemandedElts[j]) in SimplifyMultipleUseDemandedBits()
725 if (DemandedElts[i]) { in SimplifyMultipleUseDemandedBits()
739 LHSKnown = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1); in SimplifyMultipleUseDemandedBits()
740 RHSKnown = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1); in SimplifyMultipleUseDemandedBits()
752 LHSKnown = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1); in SimplifyMultipleUseDemandedBits()
753 RHSKnown = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1); in SimplifyMultipleUseDemandedBits()
765 LHSKnown = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1); in SimplifyMultipleUseDemandedBits()
766 RHSKnown = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1); in SimplifyMultipleUseDemandedBits()
780 DAG.getValidMaximumShiftAmountConstant(Op, DemandedElts)) { in SimplifyMultipleUseDemandedBits()
784 DAG.ComputeNumSignBits(Op0, DemandedElts, Depth + 1); in SimplifyMultipleUseDemandedBits()
820 unsigned NumSignBits = DAG.ComputeNumSignBits(Op0, DemandedElts, Depth + 1); in SimplifyMultipleUseDemandedBits()
833 if (IsLE && DemandedElts == 1 && in SimplifyMultipleUseDemandedBits()
846 !DemandedElts[CIdx->getZExtValue()]) in SimplifyMultipleUseDemandedBits()
855 APInt DemandedSubElts = DemandedElts.extractBits(NumSubElts, Idx); in SimplifyMultipleUseDemandedBits()
876 if (M < 0 || !DemandedElts[i]) in SimplifyMultipleUseDemandedBits()
894 Op, DemandedBits, DemandedElts, DAG, Depth)) in SimplifyMultipleUseDemandedBits()
912 APInt DemandedElts = VT.isVector() in SimplifyMultipleUseDemandedBits() local
915 return SimplifyMultipleUseDemandedBits(Op, DemandedBits, DemandedElts, DAG, in SimplifyMultipleUseDemandedBits()
920 SDValue Op, const APInt &DemandedElts, SelectionDAG &DAG, in SimplifyMultipleUseDemandedVectorElts() argument
923 return SimplifyMultipleUseDemandedBits(Op, DemandedBits, DemandedElts, DAG, in SimplifyMultipleUseDemandedVectorElts()
932 const APInt &DemandedElts, in combineShiftToAVG() argument
937 ConstantSDNode *N1C = isConstOrConstSplat(Op.getOperand(1), DemandedElts); in combineShiftToAVG()
955 if ((ConstOp = isConstOrConstSplat(Op1, DemandedElts)) && in combineShiftToAVG()
961 if ((ConstOp = isConstOrConstSplat(Op2, DemandedElts)) && in combineShiftToAVG()
967 if ((ConstOp = isConstOrConstSplat(Op3, DemandedElts)) && in combineShiftToAVG()
990 unsigned NumSignedA = DAG.ComputeNumSignBits(ExtOpA, DemandedElts, Depth); in combineShiftToAVG()
991 unsigned NumSignedB = DAG.ComputeNumSignBits(ExtOpB, DemandedElts, Depth); in combineShiftToAVG()
994 DAG.computeKnownBits(ExtOpA, DemandedElts, Depth).countMinLeadingZeros(); in combineShiftToAVG()
996 DAG.computeKnownBits(ExtOpB, DemandedElts, Depth).countMinLeadingZeros(); in combineShiftToAVG()
1084 APInt DemandedElts = OriginalDemandedElts; in SimplifyDemandedBits() local
1110 Known = TLO.DAG.computeKnownBits(Op, DemandedElts, Depth); in SimplifyDemandedBits()
1116 DemandedElts = APInt::getAllOnes(NumElts); in SimplifyDemandedBits()
1130 if (!DemandedElts[0]) in SimplifyDemandedBits()
1142 if (DemandedElts == 1) in SimplifyDemandedBits()
1149 Known = TLO.DAG.computeKnownBits(Op, DemandedElts, Depth); in SimplifyDemandedBits()
1154 Known = TLO.DAG.computeKnownBits(Op, DemandedElts, Depth); in SimplifyDemandedBits()
1174 APInt DemandedVecElts(DemandedElts); in SimplifyDemandedBits()
1180 if (!DemandedElts[Idx]) in SimplifyDemandedBits()
1209 APInt DemandedSubElts = DemandedElts.extractBits(NumSubElts, Idx); in SimplifyDemandedBits()
1210 APInt DemandedSrcElts = DemandedElts; in SimplifyDemandedBits()
1252 APInt DemandedSrcElts = DemandedElts.zext(NumSrcElts).shl(Idx); in SimplifyDemandedBits()
1278 DemandedElts.extractBits(NumSubElts, i * NumSubElts); in SimplifyDemandedBits()
1295 if (!DemandedElts[i]) in SimplifyDemandedBits()
1355 KnownBits LHSKnown = TLO.DAG.computeKnownBits(Op0, DemandedElts, Depth); in SimplifyDemandedBits()
1364 DemandedElts, TLO)) in SimplifyDemandedBits()
1391 TLO.DAG.computeKnownBits(Op1, DemandedSub & DemandedElts, Depth + 1); in SimplifyDemandedBits()
1402 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1406 if (SimplifyDemandedBits(Op0, ~Known.Zero & DemandedBits, DemandedElts, in SimplifyDemandedBits()
1421 if (ShrinkDemandedConstant(Op, ~Known2.Zero & DemandedBits, DemandedElts, in SimplifyDemandedBits()
1429 if (!DemandedBits.isAllOnes() || !DemandedElts.isAllOnes()) { in SimplifyDemandedBits()
1431 Op0, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1433 Op1, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1449 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1453 if (SimplifyDemandedBits(Op0, ~Known.One & DemandedBits, DemandedElts, in SimplifyDemandedBits()
1465 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1472 if (!DemandedBits.isAllOnes() || !DemandedElts.isAllOnes()) { in SimplifyDemandedBits()
1474 Op0, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1476 Op1, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1519 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1523 if (SimplifyDemandedBits(Op0, DemandedBits, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
1544 ConstantSDNode *C = isConstOrConstSplat(Op1, DemandedElts); in SimplifyDemandedBits()
1569 isConstOrConstSplat(Op0.getOperand(1), DemandedElts)) { in SimplifyDemandedBits()
1595 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1599 if (!DemandedBits.isAllOnes() || !DemandedElts.isAllOnes()) { in SimplifyDemandedBits()
1601 Op0, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1603 Op1, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1626 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1633 if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, DemandedElts, in SimplifyDemandedBits()
1636 if (SimplifyDemandedBits(Op.getOperand(1), DemandedBits, DemandedElts, in SimplifyDemandedBits()
1656 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1696 TLO.DAG.getValidShiftAmountConstant(Op, DemandedElts)) { in SimplifyDemandedBits()
1708 TLO.DAG.getValidShiftAmountConstant(Op0, DemandedElts)) { in SimplifyDemandedBits()
1751 TLO.DAG.getValidShiftAmountConstant(InnerOp, DemandedElts)) { in SimplifyDemandedBits()
1769 if (SimplifyDemandedBits(Op0, InDemandedMask, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1779 if (!InDemandedMask.isAllOnesValue() || !DemandedElts.isAllOnesValue()) { in SimplifyDemandedBits()
1781 Op0, InDemandedMask, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1799 if (SimplifyDemandedBits(Op0, DemandedFromOp, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1818 TLO.DAG.getValidMaximumShiftAmountConstant(Op, DemandedElts)) { in SimplifyDemandedBits()
1821 TLO.DAG.ComputeNumSignBits(Op0, DemandedElts, Depth + 1); in SimplifyDemandedBits()
1835 DemandedElts, Depth + 1)) in SimplifyDemandedBits()
1839 TLO.DAG.getValidShiftAmountConstant(Op, DemandedElts)) { in SimplifyDemandedBits()
1851 TLO.DAG.getValidShiftAmountConstant(Op0, DemandedElts)) { in SimplifyDemandedBits()
1874 if (SimplifyDemandedBits(Op0, InDemandedMask, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1893 if (TLO.DAG.ComputeNumSignBits(Op0, DemandedElts, Depth + 1) >= in SimplifyDemandedBits()
1906 DemandedElts, Depth + 1)) in SimplifyDemandedBits()
1910 TLO.DAG.getValidShiftAmountConstant(Op, DemandedElts)) { in SimplifyDemandedBits()
1927 if (SimplifyDemandedBits(Op0, InDemandedMask, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1956 if (!InDemandedMask.isAllOnes() || !DemandedElts.isAllOnes()) { in SimplifyDemandedBits()
1958 Op0, InDemandedMask, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1974 if (ConstantSDNode *SA = isConstOrConstSplat(Op2, DemandedElts)) { in SimplifyDemandedBits()
1980 if (SimplifyDemandedBits(IsFSHL ? Op0 : Op1, DemandedBits, DemandedElts, in SimplifyDemandedBits()
1990 if (SimplifyDemandedBits(Op0, Demanded0, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
1993 if (SimplifyDemandedBits(Op1, Demanded1, DemandedElts, Known, TLO, in SimplifyDemandedBits()
2006 !DemandedElts.isAllOnes()) { in SimplifyDemandedBits()
2008 Op0, Demanded0, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
2010 Op1, Demanded1, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
2024 if (SimplifyDemandedBits(Op2, DemandedAmtBits, DemandedElts, in SimplifyDemandedBits()
2037 if (BitWidth == TLO.DAG.ComputeNumSignBits(Op0, DemandedElts, Depth + 1)) in SimplifyDemandedBits()
2040 if (ConstantSDNode *SA = isConstOrConstSplat(Op1, DemandedElts)) { in SimplifyDemandedBits()
2047 if (SimplifyDemandedBits(Op0, Demanded0, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
2071 if (SimplifyDemandedBits(Op1, DemandedAmtBits, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
2081 KnownBits Known0 = TLO.DAG.computeKnownBits(Op0, DemandedElts, Depth + 1); in SimplifyDemandedBits()
2082 KnownBits Known1 = TLO.DAG.computeKnownBits(Op1, DemandedElts, Depth + 1); in SimplifyDemandedBits()
2094 KnownBits Known0 = TLO.DAG.computeKnownBits(Op0, DemandedElts, Depth + 1); in SimplifyDemandedBits()
2095 KnownBits Known1 = TLO.DAG.computeKnownBits(Op1, DemandedElts, Depth + 1); in SimplifyDemandedBits()
2106 if (SimplifyDemandedBits(Src, DemandedSrcBits, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
2141 if (SimplifyDemandedBits(Src, DemandedSrcBits, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
2156 Known = TLO.DAG.computeKnownBits(Op, DemandedElts, Depth); in SimplifyDemandedBits()
2167 TLO.DAG.ComputeMaxSignificantBits(Op0, DemandedElts, Depth + 1); in SimplifyDemandedBits()
2191 if (SimplifyDemandedBits(Op0, InputDemandedBits, DemandedElts, Known, TLO, in SimplifyDemandedBits()
2247 if (IsLE && IsVecInReg && DemandedElts == 1 && in SimplifyDemandedBits()
2258 APInt InDemandedElts = DemandedElts.zext(InElts); in SimplifyDemandedBits()
2284 if (IsLE && IsVecInReg && DemandedElts == 1 && in SimplifyDemandedBits()
2295 APInt InDemandedElts = DemandedElts.zext(InElts); in SimplifyDemandedBits()
2334 if (IsLE && IsVecInReg && DemandedElts == 1 && in SimplifyDemandedBits()
2339 APInt InDemandedElts = DemandedElts.zext(InElts); in SimplifyDemandedBits()
2360 if (SimplifyDemandedBits(Src, TruncMask, DemandedElts, Known, TLO, in SimplifyDemandedBits()
2367 Src, TruncMask, DemandedElts, TLO.DAG, Depth + 1)) in SimplifyDemandedBits()
2385 TLO.DAG.getValidShiftAmountConstant(Src, DemandedElts); in SimplifyDemandedBits()
2509 if (DemandedElts[j]) in SimplifyDemandedBits()
2530 if (DemandedElts[i]) { in SimplifyDemandedBits()
2552 Known = TLO.DAG.computeKnownBits(Op, DemandedElts, Depth); in SimplifyDemandedBits()
2563 ConstantSDNode *C = isConstOrConstSplat(Op.getOperand(1), DemandedElts); in SimplifyDemandedBits()
2588 if (SimplifyDemandedBits(Op0, LoMask, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
2590 SimplifyDemandedBits(Op1, LoMask, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
2605 if (!LoMask.isAllOnes() || !DemandedElts.isAllOnes()) { in SimplifyDemandedBits()
2607 Op0, LoMask, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
2609 Op1, LoMask, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
2686 if (SimplifyDemandedBitsForTargetNode(Op, DemandedBits, DemandedElts, in SimplifyDemandedBits()
2693 Known = TLO.DAG.computeKnownBits(Op, DemandedElts, Depth); in SimplifyDemandedBits()
2722 const APInt &DemandedElts, in SimplifyDemandedVectorElts() argument
2730 SimplifyDemandedVectorElts(Op, DemandedElts, KnownUndef, KnownZero, TLO); in SimplifyDemandedVectorElts()
2793 APInt DemandedElts = OriginalDemandedElts; in SimplifyDemandedVectorElts() local
2794 unsigned NumElts = DemandedElts.getBitWidth(); in SimplifyDemandedVectorElts()
2818 DemandedElts.setAllBits(); in SimplifyDemandedVectorElts()
2821 if (DemandedElts == 0) { in SimplifyDemandedVectorElts()
2837 SDValue NewOp0 = SimplifyMultipleUseDemandedVectorElts(Op0, DemandedElts, in SimplifyDemandedVectorElts()
2839 SDValue NewOp1 = SimplifyMultipleUseDemandedVectorElts(Op1, DemandedElts, in SimplifyDemandedVectorElts()
2851 if (!DemandedElts[0]) { in SimplifyDemandedVectorElts()
2891 return SimplifyDemandedVectorElts(Src, DemandedElts, KnownUndef, in SimplifyDemandedVectorElts()
2900 SrcDemandedElts = APIntOps::ScaleBitMask(DemandedElts, NumSrcElts); in SimplifyDemandedVectorElts()
2912 if (DemandedElts[i]) { in SimplifyDemandedVectorElts()
2932 if (DemandedElts[Elt]) in SimplifyDemandedVectorElts()
2955 SrcDemandedElts = APIntOps::ScaleBitMask(DemandedElts, NumSrcElts); in SimplifyDemandedVectorElts()
2963 if (DemandedElts[i]) { in SimplifyDemandedVectorElts()
2975 if (!DemandedElts.isAllOnes()) { in SimplifyDemandedVectorElts()
2982 if (!DemandedElts[i] && !Ops[i].isUndef()) { in SimplifyDemandedVectorElts()
3009 APInt SubElts = DemandedElts.extractBits(NumSubElts, i * NumSubElts); in SimplifyDemandedVectorElts()
3019 if (!DemandedElts.isAllOnes()) { in SimplifyDemandedVectorElts()
3024 APInt SubElts = DemandedElts.extractBits(NumSubElts, i * NumSubElts); in SimplifyDemandedVectorElts()
3045 APInt DemandedSubElts = DemandedElts.extractBits(NumSubElts, Idx); in SimplifyDemandedVectorElts()
3046 APInt DemandedSrcElts = DemandedElts; in SimplifyDemandedVectorElts()
3089 APInt DemandedSrcElts = DemandedElts.zext(NumSrcElts).shl(Idx); in SimplifyDemandedVectorElts()
3099 if (!DemandedElts.isAllOnes()) { in SimplifyDemandedVectorElts()
3119 if (!DemandedElts[Idx]) in SimplifyDemandedVectorElts()
3122 APInt DemandedVecElts(DemandedElts); in SimplifyDemandedVectorElts()
3135 if (SimplifyDemandedVectorElts(Vec, DemandedElts, VecUndef, VecZero, TLO, in SimplifyDemandedVectorElts()
3149 if (SimplifyDemandedVectorElts(Sel, DemandedElts, UndefSel, UndefZero, TLO, in SimplifyDemandedVectorElts()
3154 APInt DemandedLHS(DemandedElts); in SimplifyDemandedVectorElts()
3155 APInt DemandedRHS(DemandedElts); in SimplifyDemandedVectorElts()
3170 APInt DemandedSel = DemandedElts & ~KnownZero; in SimplifyDemandedVectorElts()
3171 if (DemandedSel != DemandedElts) in SimplifyDemandedVectorElts()
3186 if (M < 0 || !DemandedElts[i]) in SimplifyDemandedVectorElts()
3213 if (!DemandedElts[i] || (M < (int)NumElts && UndefLHS[M]) || in SimplifyDemandedVectorElts()
3257 APInt DemandedSrcElts = DemandedElts.zext(NumSrcElts); in SimplifyDemandedVectorElts()
3273 if (DemandedElts.isSubsetOf(KnownUndef)) in SimplifyDemandedVectorElts()
3306 if (SimplifyDemandedVectorElts(Op0, DemandedElts, UndefLHS, ZeroLHS, TLO, in SimplifyDemandedVectorElts()
3324 if (SimplifyDemandedVectorElts(Op1, DemandedElts, UndefRHS, ZeroRHS, TLO, in SimplifyDemandedVectorElts()
3328 if (SimplifyDemandedVectorElts(Op0, DemandedElts, UndefLHS, ZeroLHS, TLO, in SimplifyDemandedVectorElts()
3337 if (!DemandedElts.isAllOnes()) in SimplifyDemandedVectorElts()
3351 if (SimplifyDemandedVectorElts(Op1, DemandedElts, UndefRHS, ZeroRHS, TLO, in SimplifyDemandedVectorElts()
3355 if (SimplifyDemandedVectorElts(Op0, DemandedElts, UndefLHS, ZeroLHS, TLO, in SimplifyDemandedVectorElts()
3364 if (!DemandedElts.isAllOnes()) in SimplifyDemandedVectorElts()
3375 if (SimplifyDemandedVectorElts(Op1, DemandedElts, SrcUndef, SrcZero, TLO, in SimplifyDemandedVectorElts()
3378 if (SimplifyDemandedVectorElts(Op0, DemandedElts, KnownUndef, KnownZero, in SimplifyDemandedVectorElts()
3385 if (DemandedElts.isSubsetOf(SrcZero | KnownZero | SrcUndef | KnownUndef)) in SimplifyDemandedVectorElts()
3397 if (!DemandedElts.isAllOnes()) in SimplifyDemandedVectorElts()
3405 if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, KnownUndef, in SimplifyDemandedVectorElts()
3411 if (DemandedElts.isSubsetOf(KnownUndef)) in SimplifyDemandedVectorElts()
3418 if (SimplifyDemandedVectorEltsForTargetNode(Op, DemandedElts, KnownUndef, in SimplifyDemandedVectorElts()
3435 if (DemandedElts.isSubsetOf(KnownUndef)) in SimplifyDemandedVectorElts()
3445 const APInt &DemandedElts, in computeKnownBitsForTargetNode() argument
3459 const APInt &DemandedElts, const MachineRegisterInfo &MRI, in computeKnownBitsForTargetInstr() argument
3492 GISelKnownBits &Analysis, Register R, const APInt &DemandedElts, in computeNumSignBitsForTargetInstr() argument
3498 SDValue Op, const APInt &DemandedElts, APInt &KnownUndef, APInt &KnownZero, in SimplifyDemandedVectorEltsForTargetNode() argument
3510 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts, in SimplifyDemandedBitsForTargetNode() argument
3518 computeKnownBitsForTargetNode(Op, Known, DemandedElts, TLO.DAG, Depth); in SimplifyDemandedBitsForTargetNode()
3523 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts, in SimplifyMultipleUseDemandedBitsForTargetNode() argument
3557 SDValue Op, const APInt &DemandedElts, const SelectionDAG &DAG, in isGuaranteedNotToBeUndefOrPoisonForTargetNode() argument
3583 const APInt &DemandedElts, in isSplatValueForTargetNode() argument