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()
94 std::swap(RHS.Zero, RHS.One); in computeForSubBorrow()
97 /*CarryOne=*/Borrow.Zero.getBoolValue()); in computeForSubBorrow()
111 Result.Zero = Zero << ExtBits; in sextInReg()
113 Result.Zero.ashrInPlace(ExtBits); in sextInReg()
120 unsigned N = (Zero | Val).countl_one(); in makeGE()
126 return KnownBits(Zero, One | MaskedVal); in makeGE()
149 auto Flip = [](const KnownBits &Val) { return KnownBits(Val.One, Val.Zero); }; in umin()
157 APInt Zero = Val.Zero; in smax() local
159 Zero.setBitVal(SignBitPosition, Val.One[SignBitPosition]); in smax()
160 One.setBitVal(SignBitPosition, Val.Zero[SignBitPosition]); in smax()
161 return KnownBits(Zero, One); in smax()
170 APInt Zero = Val.One; in smin() local
171 APInt One = Val.Zero; in smin()
172 Zero.setBitVal(SignBitPosition, Val.Zero[SignBitPosition]); in smin()
174 return KnownBits(Zero, One); in smin()
192 Known.Zero = LHS.Zero.ushl_ov(ShiftAmt, ShiftedOutZero); in shl()
193 Known.Zero.setLowBits(ShiftAmt); in shl()
216 Known.Zero.setLowBits(MinShiftAmount); in shl()
237 Known.Zero.setLowBits(LHS.countMinTrailingZeros()); in shl()
250 unsigned ShiftAmtZeroMask = RHS.Zero.zextOrTrunc(32).getZExtValue(); in shl()
252 Known.Zero.setAllBits(); in shl()
276 Known.Zero.lshrInPlace(ShiftAmt); in lshr()
279 Known.Zero.setHighBits(ShiftAmt); in lshr()
289 Known.Zero.setHighBits(MinShiftAmount); in lshr()
296 unsigned ShiftAmtZeroMask = RHS.Zero.zextOrTrunc(32).getZExtValue(); in lshr()
298 Known.Zero.setAllBits(); in lshr()
322 Known.Zero.ashrInPlace(ShiftAmt); in ashr()
344 unsigned ShiftAmtZeroMask = RHS.Zero.zextOrTrunc(32).getZExtValue(); in ashr()
346 Known.Zero.setAllBits(); in ashr()
368 if (LHS.One.intersects(RHS.Zero) || RHS.One.intersects(LHS.Zero)) in eq()
442 if (IntMinIsPoison && (Zero.popcount() + 2) == getBitWidth()) in abs()
459 Tmp.Zero.setSignBit(); in abs()
468 KnownAbs.Zero.setLowBits(MinTZ); in abs()
478 KnownAbs.Zero.setSignBit(); in abs()
495 return K.Zero[BitWidth - 1] || K.One[BitWidth - 1]; in computeForSatAddSub()
542 Res.Zero.setSignBit(); in computeForSatAddSub()
547 Res.Zero.clearSignBit(); in computeForSatAddSub()
553 Res.Zero.clearSignBit(); in computeForSatAddSub()
557 Res.Zero.setSignBit(); in computeForSatAddSub()
577 Res.Zero &= ~Mask; in computeForSatAddSub()
579 Res.Zero |= Mask; in computeForSatAddSub()
609 Res.Zero = ~C; in computeForSatAddSub()
618 Res.Zero.clearLowBits(BitWidth - 1); in computeForSatAddSub()
623 Res.Zero.clearAllBits(); in computeForSatAddSub()
716 unsigned TrailBitsKnown0 = (LHS.Zero | LHS.One).countr_one(); in mul()
717 unsigned TrailBitsKnown1 = (RHS.Zero | RHS.One).countr_one(); in mul()
731 Res.Zero.setHighBits(LeadZ); in mul()
732 Res.Zero |= (~BottomKnown).getLoBits(ResultBitsKnown); in mul()
739 Res.Zero.setBit(1); in mul()
781 Known.Zero.setLowBits(MinTZ); in divComputeLowBit()
845 Known.Zero.setHighBits(LeadZ); in sdiv()
880 Known.Zero.setHighBits(LeadZ); in udiv()
889 if (!RHS.isZero() && RHS.Zero[0]) { in remGetLowBits()
894 APInt ZerosMask = LHS.Zero & Mask; in remGetLowBits()
907 Known.Zero |= HighBits; in urem()
915 Known.Zero.setHighBits(Leaders); in urem()
928 if (LHS.isNonNegative() || LowBits.isSubsetOf(LHS.Zero)) in srem()
929 Known.Zero |= ~LowBits; in srem()
942 Known.Zero.setHighBits(LHS.countMinLeadingZeros()); in srem()
948 Zero |= RHS.Zero; in operator &=()
956 Zero &= RHS.Zero; in operator |=()
964 APInt Z = (Zero & RHS.Zero) | (One & RHS.One); in operator ^=()
966 One = (Zero & RHS.One) | (One & RHS.Zero); in operator ^=()
967 Zero = std::move(Z); in operator ^=()
973 KnownBits Known(Zero, APInt(BitWidth, 0)); in blsi()
975 Known.Zero.setBitsFrom(std::min(Max + 1, BitWidth)); in blsi()
986 Known.Zero.setBitsFrom(std::min(Max + 1, BitWidth)); in blsmsk()
996 if (Zero[N] && One[N]) in print()
998 else if (Zero[N]) in print()