Lines Matching refs:DemandedBits

500                                             const APInt &DemandedBits,  in ShrinkDemandedConstant()  argument
507 if (targetShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in ShrinkDemandedConstant()
523 if (Opcode == ISD::XOR && DemandedBits.isSubsetOf(C)) in ShrinkDemandedConstant()
526 if (!C.isSubsetOf(DemandedBits)) { in ShrinkDemandedConstant()
528 SDValue NewC = TLO.DAG.getConstant(DemandedBits & C, DL, VT); in ShrinkDemandedConstant()
541 const APInt &DemandedBits, in ShrinkDemandedConstant() argument
547 return ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO); in ShrinkDemandedConstant()
597 bool TargetLowering::SimplifyDemandedBits(SDValue Op, const APInt &DemandedBits, in SimplifyDemandedBits() argument
604 bool Simplified = SimplifyDemandedBits(Op, DemandedBits, Known, TLO); in SimplifyDemandedBits()
612 bool TargetLowering::SimplifyDemandedBits(SDValue Op, const APInt &DemandedBits, in SimplifyDemandedBits() argument
621 SimplifyDemandedBits(Op, DemandedBits, DemandedElts, Known, TLO); in SimplifyDemandedBits()
629 bool TargetLowering::SimplifyDemandedBits(SDValue Op, const APInt &DemandedBits, in SimplifyDemandedBits() argument
641 Known = KnownBits(DemandedBits.getBitWidth()); in SimplifyDemandedBits()
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()
679 unsigned BitWidth = DemandedBits.getBitWidth(); in SimplifyMultipleUseDemandedBits()
693 Src, DemandedBits, DemandedElts, DAG, Depth + 1)) in SimplifyMultipleUseDemandedBits()
704 APInt Sub = DemandedBits.extractBits(NumSrcEltBits, BitOffset); in SimplifyMultipleUseDemandedBits()
727 DemandedSrcBits.insertBits(DemandedBits, Offset); in SimplifyMultipleUseDemandedBits()
745 if (DemandedBits.isSubsetOf(LHSKnown.Zero | RHSKnown.One)) in SimplifyMultipleUseDemandedBits()
747 if (DemandedBits.isSubsetOf(RHSKnown.Zero | LHSKnown.One)) in SimplifyMultipleUseDemandedBits()
758 if (DemandedBits.isSubsetOf(LHSKnown.One | RHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
760 if (DemandedBits.isSubsetOf(RHSKnown.One | LHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
770 if (DemandedBits.isSubsetOf(RHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
772 if (DemandedBits.isSubsetOf(LHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
785 unsigned UpperDemandedBits = BitWidth - DemandedBits.countTrailingZeros(); in SimplifyMultipleUseDemandedBits()
798 if (DemandedBits.isSignMask() && in SimplifyMultipleUseDemandedBits()
817 if (DemandedBits.getActiveBits() <= ExBits) in SimplifyMultipleUseDemandedBits()
835 DemandedBits.getActiveBits() <= SrcVT.getScalarSizeInBits()) { in SimplifyMultipleUseDemandedBits()
862 Sub, DemandedBits, DemandedSubElts, DAG, Depth + 1)) in SimplifyMultipleUseDemandedBits()
894 Op, DemandedBits, DemandedElts, DAG, Depth)) in SimplifyMultipleUseDemandedBits()
902 SDValue Op, const APInt &DemandedBits, SelectionDAG &DAG, in SimplifyMultipleUseDemandedBits() argument
915 return SimplifyMultipleUseDemandedBits(Op, DemandedBits, DemandedElts, DAG, in SimplifyMultipleUseDemandedBits()
922 APInt DemandedBits = APInt::getAllOnes(Op.getScalarValueSizeInBits()); in SimplifyMultipleUseDemandedVectorElts() local
923 return SimplifyMultipleUseDemandedBits(Op, DemandedBits, DemandedElts, DAG, in SimplifyMultipleUseDemandedVectorElts()
931 const APInt &DemandedBits, in combineShiftToAVG() argument
1021 if (NumSigned >= 1 && DemandedBits.isSignBitClear()) { in combineShiftToAVG()
1083 APInt DemandedBits = OriginalDemandedBits; in SimplifyDemandedBits() local
1115 DemandedBits = APInt::getAllOnes(BitWidth); in SimplifyDemandedBits()
1136 APInt SrcDemandedBits = DemandedBits.zext(SrcBitWidth); in SimplifyDemandedBits()
1186 APInt DemandedSclBits = DemandedBits.zextOrTrunc(NumSclBits); in SimplifyDemandedBits()
1193 if (SimplifyDemandedBits(Vec, DemandedBits, DemandedVecElts, KnownVec, TLO, in SimplifyDemandedBits()
1214 if (SimplifyDemandedBits(Sub, DemandedBits, DemandedSubElts, KnownSub, TLO, in SimplifyDemandedBits()
1217 if (SimplifyDemandedBits(Src, DemandedBits, DemandedSrcElts, KnownSrc, TLO, in SimplifyDemandedBits()
1229 if (!DemandedBits.isAllOnes() || !DemandedSubElts.isAllOnes() || in SimplifyDemandedBits()
1232 Sub, DemandedBits, DemandedSubElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1234 Src, DemandedBits, DemandedSrcElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1254 if (SimplifyDemandedBits(Src, DemandedBits, DemandedSrcElts, Known, TLO, in SimplifyDemandedBits()
1259 if (!DemandedBits.isAllOnes() || !DemandedSrcElts.isAllOnes()) { in SimplifyDemandedBits()
1261 Src, DemandedBits, DemandedSrcElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1279 if (SimplifyDemandedBits(Op.getOperand(i), DemandedBits, DemandedSubElts, in SimplifyDemandedBits()
1319 if (SimplifyDemandedBits(Op0, DemandedBits, DemandedLHS, Known2, TLO, in SimplifyDemandedBits()
1325 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedRHS, Known2, TLO, in SimplifyDemandedBits()
1333 Op0, DemandedBits, DemandedLHS, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1335 Op1, DemandedBits, DemandedRHS, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1357 if ((LHSKnown.Zero & DemandedBits) == in SimplifyDemandedBits()
1358 (~RHSC->getAPIntValue() & DemandedBits)) in SimplifyDemandedBits()
1363 if (ShrinkDemandedConstant(Op, ~LHSKnown.Zero & DemandedBits, in SimplifyDemandedBits()
1392 if (DemandedBits.isSubsetOf(KnownSubMask.One)) { in SimplifyDemandedBits()
1402 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1406 if (SimplifyDemandedBits(Op0, ~Known.Zero & DemandedBits, DemandedElts, in SimplifyDemandedBits()
1413 if (DemandedBits.isSubsetOf(Known2.Zero | Known.One)) in SimplifyDemandedBits()
1415 if (DemandedBits.isSubsetOf(Known.Zero | Known2.One)) in SimplifyDemandedBits()
1418 if (DemandedBits.isSubsetOf(Known.Zero | Known2.Zero)) in SimplifyDemandedBits()
1421 if (ShrinkDemandedConstant(Op, ~Known2.Zero & DemandedBits, DemandedElts, in SimplifyDemandedBits()
1425 if (ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) 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()
1460 if (DemandedBits.isSubsetOf(Known2.One | Known.Zero)) in SimplifyDemandedBits()
1462 if (DemandedBits.isSubsetOf(Known.One | Known2.Zero)) in SimplifyDemandedBits()
1465 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1468 if (ShrinkDemandedOp(Op, BitWidth, DemandedBits, 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()
1530 if (DemandedBits.isSubsetOf(Known.Zero)) in SimplifyDemandedBits()
1532 if (DemandedBits.isSubsetOf(Known2.Zero)) in SimplifyDemandedBits()
1535 if (ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) in SimplifyDemandedBits()
1541 if (DemandedBits.isSubsetOf(Known.Zero | Known2.Zero)) in SimplifyDemandedBits()
1553 TLO.DAG.getConstant(~C->getAPIntValue() & DemandedBits, dl, VT); in SimplifyDemandedBits()
1560 if (!C->isAllOnes() && DemandedBits.isSubsetOf(C->getAPIntValue())) { in SimplifyDemandedBits()
1578 if ((DemandedBits & C->getAPIntValue()) == (DemandedBits & Ones) && 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()
1616 if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, Known, TLO, in SimplifyDemandedBits()
1619 if (SimplifyDemandedBits(Op.getOperand(1), DemandedBits, Known2, TLO, 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()
1646 if (SimplifyDemandedBits(Op.getOperand(3), DemandedBits, Known, TLO, in SimplifyDemandedBits()
1649 if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, Known2, TLO, in SimplifyDemandedBits()
1656 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1669 if (DemandedBits.isSignMask() && in SimplifyDemandedBits()
1706 if (!DemandedBits.intersects(APInt::getLowBitsSet(BitWidth, ShAmt))) { in SimplifyDemandedBits()
1730 if (ShAmt < InnerBits && DemandedBits.getActiveBits() <= InnerBits && in SimplifyDemandedBits()
1754 DemandedBits.getActiveBits() <= in SimplifyDemandedBits()
1756 DemandedBits.countTrailingZeros() >= ShAmt) { in SimplifyDemandedBits()
1768 APInt InDemandedMask = DemandedBits.lshr(ShAmt); in SimplifyDemandedBits()
1790 if ((ShAmt < DemandedBits.getActiveBits()) && in SimplifyDemandedBits()
1791 ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) in SimplifyDemandedBits()
1797 if (unsigned CTLZ = DemandedBits.countLeadingZeros()) { in SimplifyDemandedBits()
1822 unsigned UpperDemandedBits = BitWidth - DemandedBits.countTrailingZeros(); in SimplifyDemandedBits()
1834 if (SDValue AVG = combineShiftToAVG(Op, TLO.DAG, *this, DemandedBits, in SimplifyDemandedBits()
1849 if (!DemandedBits.intersects(APInt::getHighBitsSet(BitWidth, ShAmt))) { in SimplifyDemandedBits()
1866 APInt InDemandedMask = (DemandedBits << ShAmt); in SimplifyDemandedBits()
1892 unsigned NumHiDemandedBits = BitWidth - DemandedBits.countTrailingZeros(); in SimplifyDemandedBits()
1901 if (DemandedBits.isOne()) in SimplifyDemandedBits()
1905 if (SDValue AVG = combineShiftToAVG(Op, TLO.DAG, *this, DemandedBits, in SimplifyDemandedBits()
1915 APInt InDemandedMask = (DemandedBits << ShAmt); in SimplifyDemandedBits()
1924 if (DemandedBits.countLeadingZeros() < ShAmt) in SimplifyDemandedBits()
1937 DemandedBits.countLeadingZeros() >= ShAmt) { in SimplifyDemandedBits()
1944 int Log2 = DemandedBits.exactLogBase2(); in SimplifyDemandedBits()
1980 if (SimplifyDemandedBits(IsFSHL ? Op0 : Op1, DemandedBits, DemandedElts, in SimplifyDemandedBits()
1988 APInt Demanded0 = DemandedBits.lshr(IsFSHL ? Amt : (BitWidth - Amt)); in SimplifyDemandedBits()
1989 APInt Demanded1 = DemandedBits << (IsFSHL ? (BitWidth - Amt) : Amt); in SimplifyDemandedBits()
2046 APInt Demanded0 = DemandedBits.rotr(IsROTL ? Amt : RevAmt); in SimplifyDemandedBits()
2057 DemandedBits.countTrailingZeros() >= (IsROTL ? Amt : RevAmt)) { in SimplifyDemandedBits()
2062 DemandedBits.countLeadingZeros() >= (IsROTL ? RevAmt : Amt)) { in SimplifyDemandedBits()
2105 APInt DemandedSrcBits = DemandedBits.reverseBits(); in SimplifyDemandedBits()
2118 unsigned NLZ = DemandedBits.countLeadingZeros(); in SimplifyDemandedBits()
2119 unsigned NTZ = DemandedBits.countTrailingZeros(); in SimplifyDemandedBits()
2140 APInt DemandedSrcBits = DemandedBits.byteSwap(); in SimplifyDemandedBits()
2152 if (DemandedBits.isOne() && !TLO.LegalOps && !VT.isVector()) in SimplifyDemandedBits()
2165 if (DemandedBits.isSignMask()) { in SimplifyDemandedBits()
2182 if (DemandedBits.getActiveBits() <= ExVTBits) in SimplifyDemandedBits()
2185 APInt InputDemandedBits = DemandedBits.getLoBits(ExVTBits); in SimplifyDemandedBits()
2217 APInt MaskLo = DemandedBits.getLoBits(HalfBitWidth).trunc(HalfBitWidth); in SimplifyDemandedBits()
2218 APInt MaskHi = DemandedBits.getHiBits(HalfBitWidth).trunc(HalfBitWidth); in SimplifyDemandedBits()
2244 if (DemandedBits.getActiveBits() <= InBits) { in SimplifyDemandedBits()
2257 APInt InDemandedBits = DemandedBits.trunc(InBits); in SimplifyDemandedBits()
2281 if (DemandedBits.getActiveBits() <= InBits) { in SimplifyDemandedBits()
2294 APInt InDemandedBits = DemandedBits.trunc(InBits); in SimplifyDemandedBits()
2338 APInt InDemandedBits = DemandedBits.trunc(InBits); in SimplifyDemandedBits()
2359 APInt TruncMask = DemandedBits.zext(OperandBitWidth); in SimplifyDemandedBits()
2395 if (!(HighBits & DemandedBits)) { in SimplifyDemandedBits()
2417 if (SimplifyDemandedBits(Op.getOperand(0), ~InMask | DemandedBits, Known, in SimplifyDemandedBits()
2443 APInt DemandedSrcBits = DemandedBits; in SimplifyDemandedBits()
2474 DemandedBits == APInt::getSignMask(Op.getValueSizeInBits()) && in SimplifyDemandedBits()
2505 APInt Sub = DemandedBits.extractBits(NumSrcEltBits, BitOffset); in SimplifyDemandedBits()
2532 DemandedSrcBits.insertBits(DemandedBits, Offset); in SimplifyDemandedBits()
2558 if (DemandedBits.isPowerOf2()) { in SimplifyDemandedBits()
2562 unsigned CTZ = DemandedBits.countTrailingZeros(); in SimplifyDemandedBits()
2574 if (Op.getOperand(0) == Op.getOperand(1) && DemandedBits.ult(4)) { in SimplifyDemandedBits()
2586 unsigned DemandedBitsLZ = DemandedBits.countLeadingZeros(); in SimplifyDemandedBits()
2593 ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) { in SimplifyDemandedBits()
2686 if (SimplifyDemandedBitsForTargetNode(Op, DemandedBits, DemandedElts, in SimplifyDemandedBits()
2700 DemandedBits.isSubsetOf(Known.Zero | Known.One)) { in SimplifyDemandedBits()
3423 APInt DemandedBits = APInt::getAllOnes(EltSizeInBits); in SimplifyDemandedVectorElts() local
3424 if (SimplifyDemandedBits(Op, DemandedBits, OriginalDemandedElts, Known, in SimplifyDemandedVectorElts()
3510 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts, in SimplifyDemandedBitsForTargetNode() argument
3523 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts, in SimplifyMultipleUseDemandedBitsForTargetNode() argument