Lines Matching refs:Zero
31 APInt CarryKnownZero = ~(PossibleSumZero ^ LHS.Zero ^ RHS.Zero); in computeForAddCarry()
35 APInt LHSKnownUnion = LHS.Zero | LHS.One; in computeForAddCarry()
36 APInt RHSKnownUnion = RHS.Zero | RHS.One; in computeForAddCarry()
45 KnownOut.Zero = ~std::move(PossibleSumZero) & Known; in computeForAddCarry()
54 LHS, RHS, Carry.Zero.getBoolValue(), Carry.One.getBoolValue()); in computeForAddCarry()
66 std::swap(RHS.Zero, RHS.One); in computeForAddSub()
99 Result.Zero = Zero << ExtBits; in sextInReg()
101 Result.Zero.ashrInPlace(ExtBits); in sextInReg()
108 unsigned N = (Zero | Val).countLeadingOnes(); in makeGE()
114 return KnownBits(Zero, One | MaskedVal); in makeGE()
137 auto Flip = [](const KnownBits &Val) { return KnownBits(Val.One, Val.Zero); }; in umin()
145 APInt Zero = Val.Zero; in smax() local
147 Zero.setBitVal(SignBitPosition, Val.One[SignBitPosition]); in smax()
148 One.setBitVal(SignBitPosition, Val.Zero[SignBitPosition]); in smax()
149 return KnownBits(Zero, One); in smax()
158 APInt Zero = Val.One; in smin() local
159 APInt One = Val.Zero; in smin()
160 Zero.setBitVal(SignBitPosition, Val.Zero[SignBitPosition]); in smin()
162 return KnownBits(Zero, One); in smin()
175 Known.Zero <<= Shift; in shl()
178 Known.Zero.setLowBits(Shift); in shl()
196 uint64_t ShiftAmtZeroMask = (~RHS.Zero).getZExtValue(); in shl()
199 Known.Zero.setAllBits(); in shl()
209 SpecificShift.Zero = LHS.Zero << ShiftAmt; in shl()
217 Known.Zero.setLowBits(MinTrailingZeros); in shl()
228 Known.Zero.lshrInPlace(Shift); in lshr()
231 Known.Zero.setHighBits(Shift); in lshr()
249 uint64_t ShiftAmtZeroMask = (~RHS.Zero).getZExtValue(); in lshr()
252 Known.Zero.setAllBits(); in lshr()
262 SpecificShift.Zero.lshrInPlace(ShiftAmt); in lshr()
270 Known.Zero.setHighBits(MinLeadingZeros); in lshr()
281 Known.Zero.ashrInPlace(Shift); in ashr()
307 uint64_t ShiftAmtZeroMask = (~RHS.Zero).getZExtValue(); in ashr()
310 Known.Zero.setAllBits(); in ashr()
320 SpecificShift.Zero.ashrInPlace(ShiftAmt); in ashr()
328 Known.Zero.setHighBits(MinLeadingZeros); in ashr()
336 if (LHS.One.intersects(RHS.Zero) || RHS.One.intersects(LHS.Zero)) in eq()
402 KnownAbs.Zero.setLowBits(countMinTrailingZeros()); in abs()
408 KnownAbs.Zero.setSignBit(); in abs()
484 unsigned TrailBitsKnown0 = (LHS.Zero | LHS.One).countTrailingOnes(); in mul()
485 unsigned TrailBitsKnown1 = (RHS.Zero | RHS.One).countTrailingOnes(); in mul()
499 Res.Zero.setHighBits(LeadZ); in mul()
500 Res.Zero |= (~BottomKnown).getLoBits(ResultBitsKnown); in mul()
507 Res.Zero.setBit(1); in mul()
545 Known.Zero.setHighBits(LeadZ); in udiv()
557 Known.Zero = LHS.Zero | ~LowBits; in urem()
566 Known.Zero.setHighBits(Leaders); in urem()
578 Known.Zero = LHS.Zero & LowBits; in srem()
583 if (LHS.isNonNegative() || LowBits.isSubsetOf(LHS.Zero)) in srem()
584 Known.Zero |= ~LowBits; in srem()
597 Known.Zero.setHighBits(LHS.countMinLeadingZeros()); in srem()
603 Zero |= RHS.Zero; in operator &=()
611 Zero &= RHS.Zero; in operator |=()
619 APInt Z = (Zero & RHS.Zero) | (One & RHS.One); in operator ^=()
621 One = (Zero & RHS.One) | (One & RHS.Zero); in operator ^=()
622 Zero = std::move(Z); in operator ^=()
627 OS << "{Zero=" << Zero << ", One=" << One << "}"; in print()