Lines Matching refs:DemandedBits
495 const APInt &DemandedBits, in ShrinkDemandedConstant() argument
502 if (targetShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in ShrinkDemandedConstant()
518 if (Opcode == ISD::XOR && DemandedBits.isSubsetOf(C)) in ShrinkDemandedConstant()
521 if (!C.isSubsetOf(DemandedBits)) { in ShrinkDemandedConstant()
523 SDValue NewC = TLO.DAG.getConstant(DemandedBits & C, DL, VT); in ShrinkDemandedConstant()
536 const APInt &DemandedBits, in ShrinkDemandedConstant() argument
542 return ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO); in ShrinkDemandedConstant()
592 bool TargetLowering::SimplifyDemandedBits(SDValue Op, const APInt &DemandedBits, in SimplifyDemandedBits() argument
599 bool Simplified = SimplifyDemandedBits(Op, DemandedBits, Known, TLO); in SimplifyDemandedBits()
607 bool TargetLowering::SimplifyDemandedBits(SDValue Op, const APInt &DemandedBits, in SimplifyDemandedBits() argument
619 Known = KnownBits(DemandedBits.getBitWidth()); in SimplifyDemandedBits()
626 return SimplifyDemandedBits(Op, DemandedBits, DemandedElts, Known, TLO, Depth, in SimplifyDemandedBits()
633 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts, in SimplifyMultipleUseDemandedBits() argument
644 if (DemandedBits == 0 || DemandedElts == 0) in SimplifyMultipleUseDemandedBits()
648 unsigned BitWidth = DemandedBits.getBitWidth(); in SimplifyMultipleUseDemandedBits()
662 Src, DemandedBits, DemandedElts, DAG, Depth + 1)) in SimplifyMultipleUseDemandedBits()
674 APInt Sub = DemandedBits.extractBits(NumSrcEltBits, Offset); in SimplifyMultipleUseDemandedBits()
698 DemandedSrcBits.insertBits(DemandedBits, Offset); in SimplifyMultipleUseDemandedBits()
716 if (DemandedBits.isSubsetOf(LHSKnown.Zero | RHSKnown.One)) in SimplifyMultipleUseDemandedBits()
718 if (DemandedBits.isSubsetOf(RHSKnown.Zero | LHSKnown.One)) in SimplifyMultipleUseDemandedBits()
729 if (DemandedBits.isSubsetOf(LHSKnown.One | RHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
731 if (DemandedBits.isSubsetOf(RHSKnown.One | LHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
741 if (DemandedBits.isSubsetOf(RHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
743 if (DemandedBits.isSubsetOf(LHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
756 unsigned UpperDemandedBits = BitWidth - DemandedBits.countTrailingZeros(); in SimplifyMultipleUseDemandedBits()
769 if (DemandedBits.isSignMask() && in SimplifyMultipleUseDemandedBits()
788 if (DemandedBits.getActiveBits() <= ExBits) in SimplifyMultipleUseDemandedBits()
806 DemandedBits.getActiveBits() <= SrcVT.getScalarSizeInBits()) { in SimplifyMultipleUseDemandedBits()
857 Op, DemandedBits, DemandedElts, DAG, Depth)) in SimplifyMultipleUseDemandedBits()
865 SDValue Op, const APInt &DemandedBits, SelectionDAG &DAG, in SimplifyMultipleUseDemandedBits() argument
871 return SimplifyMultipleUseDemandedBits(Op, DemandedBits, DemandedElts, DAG, in SimplifyMultipleUseDemandedBits()
878 APInt DemandedBits = APInt::getAllOnesValue(Op.getScalarValueSizeInBits()); in SimplifyMultipleUseDemandedVectorElts() local
879 return SimplifyMultipleUseDemandedBits(Op, DemandedBits, DemandedElts, DAG, in SimplifyMultipleUseDemandedVectorElts()
912 APInt DemandedBits = OriginalDemandedBits; in SimplifyDemandedBits() local
945 DemandedBits = APInt::getAllOnesValue(BitWidth); in SimplifyDemandedBits()
966 APInt SrcDemandedBits = DemandedBits.zextOrSelf(SrcBitWidth); in SimplifyDemandedBits()
1016 APInt DemandedSclBits = DemandedBits.zextOrTrunc(NumSclBits); in SimplifyDemandedBits()
1023 if (SimplifyDemandedBits(Vec, DemandedBits, DemandedVecElts, KnownVec, TLO, in SimplifyDemandedBits()
1044 if (SimplifyDemandedBits(Sub, DemandedBits, DemandedSubElts, KnownSub, TLO, in SimplifyDemandedBits()
1047 if (SimplifyDemandedBits(Src, DemandedBits, DemandedSrcElts, KnownSrc, TLO, in SimplifyDemandedBits()
1059 if (!DemandedBits.isAllOnesValue() || !DemandedSubElts.isAllOnesValue() || in SimplifyDemandedBits()
1062 Sub, DemandedBits, DemandedSubElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1064 Src, DemandedBits, DemandedSrcElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1084 if (SimplifyDemandedBits(Src, DemandedBits, DemandedSrcElts, Known, TLO, in SimplifyDemandedBits()
1089 if (!DemandedBits.isAllOnesValue() || !DemandedSrcElts.isAllOnesValue()) { in SimplifyDemandedBits()
1091 Src, DemandedBits, DemandedSrcElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1109 if (SimplifyDemandedBits(Op.getOperand(i), DemandedBits, DemandedSubElts, in SimplifyDemandedBits()
1149 if (SimplifyDemandedBits(Op0, DemandedBits, DemandedLHS, Known2, TLO, in SimplifyDemandedBits()
1155 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedRHS, Known2, TLO, in SimplifyDemandedBits()
1163 Op0, DemandedBits, DemandedLHS, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1165 Op1, DemandedBits, DemandedRHS, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1187 if ((LHSKnown.Zero & DemandedBits) == in SimplifyDemandedBits()
1188 (~RHSC->getAPIntValue() & DemandedBits)) in SimplifyDemandedBits()
1193 if (ShrinkDemandedConstant(Op, ~LHSKnown.Zero & DemandedBits, in SimplifyDemandedBits()
1209 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1213 if (SimplifyDemandedBits(Op0, ~Known.Zero & DemandedBits, DemandedElts, in SimplifyDemandedBits()
1219 if (!DemandedBits.isAllOnesValue() || !DemandedElts.isAllOnesValue()) { in SimplifyDemandedBits()
1221 Op0, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1223 Op1, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1234 if (DemandedBits.isSubsetOf(Known2.Zero | Known.One)) in SimplifyDemandedBits()
1236 if (DemandedBits.isSubsetOf(Known.Zero | Known2.One)) in SimplifyDemandedBits()
1239 if (DemandedBits.isSubsetOf(Known.Zero | Known2.Zero)) in SimplifyDemandedBits()
1242 if (ShrinkDemandedConstant(Op, ~Known2.Zero & DemandedBits, DemandedElts, in SimplifyDemandedBits()
1246 if (ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) in SimplifyDemandedBits()
1256 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1260 if (SimplifyDemandedBits(Op0, ~Known.One & DemandedBits, DemandedElts, in SimplifyDemandedBits()
1266 if (!DemandedBits.isAllOnesValue() || !DemandedElts.isAllOnesValue()) { in SimplifyDemandedBits()
1268 Op0, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1270 Op1, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1281 if (DemandedBits.isSubsetOf(Known2.One | Known.Zero)) in SimplifyDemandedBits()
1283 if (DemandedBits.isSubsetOf(Known.One | Known2.Zero)) in SimplifyDemandedBits()
1286 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1289 if (ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) in SimplifyDemandedBits()
1299 if (SimplifyDemandedBits(Op1, DemandedBits, DemandedElts, Known, TLO, in SimplifyDemandedBits()
1303 if (SimplifyDemandedBits(Op0, DemandedBits, DemandedElts, Known2, TLO, in SimplifyDemandedBits()
1309 if (!DemandedBits.isAllOnesValue() || !DemandedElts.isAllOnesValue()) { in SimplifyDemandedBits()
1311 Op0, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1313 Op1, DemandedBits, DemandedElts, TLO.DAG, Depth + 1); in SimplifyDemandedBits()
1324 if (DemandedBits.isSubsetOf(Known.Zero)) in SimplifyDemandedBits()
1326 if (DemandedBits.isSubsetOf(Known2.Zero)) in SimplifyDemandedBits()
1329 if (ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) in SimplifyDemandedBits()
1335 if (DemandedBits.isSubsetOf(Known.Zero | Known2.Zero)) in SimplifyDemandedBits()
1347 TLO.DAG.getConstant(~C->getAPIntValue() & DemandedBits, dl, VT); in SimplifyDemandedBits()
1355 DemandedBits.isSubsetOf(C->getAPIntValue())) { in SimplifyDemandedBits()
1364 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1371 if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, Known, TLO, in SimplifyDemandedBits()
1374 if (SimplifyDemandedBits(Op.getOperand(1), DemandedBits, Known2, TLO, in SimplifyDemandedBits()
1381 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1388 if (SimplifyDemandedBits(Op.getOperand(3), DemandedBits, Known, TLO, in SimplifyDemandedBits()
1391 if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, Known2, TLO, in SimplifyDemandedBits()
1398 if (ShrinkDemandedConstant(Op, DemandedBits, DemandedElts, TLO)) in SimplifyDemandedBits()
1411 if (DemandedBits.isSignMask() && in SimplifyDemandedBits()
1448 if (!DemandedBits.intersects(APInt::getLowBitsSet(BitWidth, ShAmt))) { in SimplifyDemandedBits()
1472 if (ShAmt < InnerBits && DemandedBits.getActiveBits() <= InnerBits && in SimplifyDemandedBits()
1496 DemandedBits.getActiveBits() <= in SimplifyDemandedBits()
1498 DemandedBits.countTrailingZeros() >= ShAmt) { in SimplifyDemandedBits()
1510 APInt InDemandedMask = DemandedBits.lshr(ShAmt); in SimplifyDemandedBits()
1522 if ((ShAmt < DemandedBits.getActiveBits()) && in SimplifyDemandedBits()
1523 ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) in SimplifyDemandedBits()
1534 unsigned UpperDemandedBits = BitWidth - DemandedBits.countTrailingZeros(); in SimplifyDemandedBits()
1556 if (!DemandedBits.intersects(APInt::getHighBitsSet(BitWidth, ShAmt))) { in SimplifyDemandedBits()
1573 APInt InDemandedMask = (DemandedBits << ShAmt); in SimplifyDemandedBits()
1599 unsigned NumHiDemandedBits = BitWidth - DemandedBits.countTrailingZeros(); in SimplifyDemandedBits()
1608 if (DemandedBits.isOneValue()) in SimplifyDemandedBits()
1617 APInt InDemandedMask = (DemandedBits << ShAmt); in SimplifyDemandedBits()
1626 if (DemandedBits.countLeadingZeros() < ShAmt) in SimplifyDemandedBits()
1639 DemandedBits.countLeadingZeros() >= ShAmt) { in SimplifyDemandedBits()
1646 int Log2 = DemandedBits.exactLogBase2(); in SimplifyDemandedBits()
1682 if (SimplifyDemandedBits(IsFSHL ? Op0 : Op1, DemandedBits, DemandedElts, in SimplifyDemandedBits()
1690 APInt Demanded0 = DemandedBits.lshr(IsFSHL ? Amt : (BitWidth - Amt)); in SimplifyDemandedBits()
1691 APInt Demanded1 = DemandedBits << (IsFSHL ? (BitWidth - Amt) : Amt); in SimplifyDemandedBits()
1762 APInt DemandedSrcBits = DemandedBits.reverseBits(); in SimplifyDemandedBits()
1772 APInt DemandedSrcBits = DemandedBits.byteSwap(); in SimplifyDemandedBits()
1784 if (DemandedBits.isOneValue() && !TLO.LegalOps && !VT.isVector()) in SimplifyDemandedBits()
1797 if (DemandedBits.isSignMask()) { in SimplifyDemandedBits()
1818 if (DemandedBits.getActiveBits() <= ExVTBits) in SimplifyDemandedBits()
1821 APInt InputDemandedBits = DemandedBits.getLoBits(ExVTBits); in SimplifyDemandedBits()
1852 APInt MaskLo = DemandedBits.getLoBits(HalfBitWidth).trunc(HalfBitWidth); in SimplifyDemandedBits()
1853 APInt MaskHi = DemandedBits.getHiBits(HalfBitWidth).trunc(HalfBitWidth); in SimplifyDemandedBits()
1879 if (DemandedBits.getActiveBits() <= InBits) { in SimplifyDemandedBits()
1893 APInt InDemandedBits = DemandedBits.trunc(InBits); in SimplifyDemandedBits()
1917 if (DemandedBits.getActiveBits() <= InBits) { in SimplifyDemandedBits()
1931 APInt InDemandedBits = DemandedBits.trunc(InBits); in SimplifyDemandedBits()
1976 APInt InDemandedBits = DemandedBits.trunc(InBits); in SimplifyDemandedBits()
1997 APInt TruncMask = DemandedBits.zext(OperandBitWidth); in SimplifyDemandedBits()
2033 if (!(HighBits & DemandedBits)) { in SimplifyDemandedBits()
2055 if (SimplifyDemandedBits(Op.getOperand(0), ~InMask | DemandedBits, Known, in SimplifyDemandedBits()
2081 APInt DemandedSrcBits = DemandedBits; in SimplifyDemandedBits()
2113 DemandedBits == APInt::getSignMask(Op.getValueSizeInBits()) && in SimplifyDemandedBits()
2145 APInt Sub = DemandedBits.extractBits(NumSrcEltBits, Offset); in SimplifyDemandedBits()
2172 DemandedSrcBits.insertBits(DemandedBits, Offset); in SimplifyDemandedBits()
2204 unsigned DemandedBitsLZ = DemandedBits.countLeadingZeros(); in SimplifyDemandedBits()
2211 ShrinkDemandedOp(Op, BitWidth, DemandedBits, TLO)) { in SimplifyDemandedBits()
2263 if (SimplifyDemandedBitsForTargetNode(Op, DemandedBits, DemandedElts, in SimplifyDemandedBits()
2276 if (DemandedBits.isSubsetOf(Known.Zero | Known.One)) { in SimplifyDemandedBits()
2926 APInt DemandedBits = APInt::getAllOnesValue(EltSizeInBits); in SimplifyDemandedVectorElts() local
2927 if (SimplifyDemandedBits(Op, DemandedBits, OriginalDemandedElts, Known, in SimplifyDemandedVectorElts()
3013 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts, in SimplifyDemandedBitsForTargetNode() argument
3026 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts, in SimplifyMultipleUseDemandedBitsForTargetNode() argument