Lines Matching defs:BitWidth
63 unsigned BitWidth = LHS.getBitWidth();
64 KnownBits KnownOut(BitWidth);
92 unsigned NumBits = MinVal.trunc(BitWidth - 1).countl_one();
95 KnownOut.One.setBits(BitWidth - 1 - NumBits, BitWidth - 1);
106 unsigned NumBits = MaxVal.trunc(BitWidth - 1).countl_zero();
107 KnownOut.Zero.setBits(BitWidth - 1 - NumBits, BitWidth - 1);
128 unsigned NumBits = MinVal.trunc(BitWidth - 1).countl_one();
129 KnownOut.One.setBits(BitWidth - 1 - NumBits, BitWidth - 1);
134 unsigned NumBits = MaxVal.trunc(BitWidth - 1).countl_zero();
135 KnownOut.Zero.setBits(BitWidth - 1 - NumBits, BitWidth - 1);
159 unsigned BitWidth = getBitWidth();
160 assert(0 < SrcBitWidth && SrcBitWidth <= BitWidth &&
163 if (SrcBitWidth == BitWidth)
166 unsigned ExtBits = BitWidth - SrcBitWidth;
278 static unsigned getMaxShiftAmount(const APInt &MaxValue, unsigned BitWidth) {
279 if (isPowerOf2_32(BitWidth))
280 return MaxValue.extractBitsAsZExtValue(Log2_32(BitWidth), 0);
282 return MaxValue.getLimitedValue(BitWidth - 1);
287 unsigned BitWidth = LHS.getBitWidth();
310 KnownBits Known(BitWidth);
311 unsigned MinShiftAmount = RHS.getMinValue().getLimitedValue(BitWidth);
323 unsigned MaxShiftAmount = getMaxShiftAmount(MaxValue, BitWidth);
334 if (MinShiftAmount == 0 && MaxShiftAmount == BitWidth - 1 &&
335 isPowerOf2_32(BitWidth)) {
372 unsigned BitWidth = LHS.getBitWidth();
383 KnownBits Known(BitWidth);
384 unsigned MinShiftAmount = RHS.getMinValue().getLimitedValue(BitWidth);
394 unsigned MaxShiftAmount = getMaxShiftAmount(MaxValue, BitWidth);
430 unsigned BitWidth = LHS.getBitWidth();
439 KnownBits Known(BitWidth);
440 unsigned MinShiftAmount = RHS.getMinValue().getLimitedValue(BitWidth);
444 if (MinShiftAmount == BitWidth) {
454 unsigned MaxShiftAmount = getMaxShiftAmount(MaxValue, BitWidth);
613 unsigned BitWidth = LHS.getBitWidth();
729 C = LHS.isNegative() ? APInt::getSignedMinValue(BitWidth)
730 : APInt::getSignedMaxValue(BitWidth);
733 C = APInt::getMaxValue(BitWidth);
736 C = APInt::getMinValue(BitWidth);
749 Res.Zero.clearLowBits(BitWidth - 1);
751 Res.One.clearLowBits(BitWidth - 1);
779 unsigned BitWidth = LHS.getBitWidth();
780 LHS = LHS.zext(BitWidth + 1);
781 RHS = RHS.zext(BitWidth + 1);
784 LHS = LHS.extractBits(BitWidth, 1);
806 unsigned BitWidth = LHS.getBitWidth();
807 assert(BitWidth == RHS.getBitWidth() && "Operand mismatch");
881 unsigned ResultBitsKnown = std::min(SmallestOperand + TrailZ, BitWidth);
886 KnownBits Res(BitWidth);
892 if (NoUndefSelfMultiply && BitWidth > 1) {
902 unsigned BitWidth = LHS.getBitWidth();
903 assert(BitWidth == RHS.getBitWidth() && "Operand mismatch");
904 KnownBits WideLHS = LHS.sext(2 * BitWidth);
905 KnownBits WideRHS = RHS.sext(2 * BitWidth);
906 return mul(WideLHS, WideRHS).extractBits(BitWidth, BitWidth);
910 unsigned BitWidth = LHS.getBitWidth();
911 assert(BitWidth == RHS.getBitWidth() && "Operand mismatch");
912 KnownBits WideLHS = LHS.zext(2 * BitWidth);
913 KnownBits WideRHS = RHS.zext(2 * BitWidth);
914 return mul(WideLHS, WideRHS).extractBits(BitWidth, BitWidth);
959 unsigned BitWidth = LHS.getBitWidth();
960 KnownBits Known(BitWidth);
977 ? APInt::getSignedMaxValue(BitWidth)
1011 unsigned BitWidth = LHS.getBitWidth();
1012 KnownBits Known(BitWidth);
1037 unsigned BitWidth = LHS.getBitWidth();
1041 APInt Mask = APInt::getLowBitsSet(BitWidth, RHSZeros);
1046 return KnownBits(BitWidth);
1121 unsigned BitWidth = getBitWidth();
1122 KnownBits Known(Zero, APInt(BitWidth, 0));
1124 Known.Zero.setBitsFrom(std::min(Max + 1, BitWidth));
1126 if (Max == Min && Max < BitWidth)
1132 unsigned BitWidth = getBitWidth();
1133 KnownBits Known(BitWidth);
1135 Known.Zero.setBitsFrom(std::min(Max + 1, BitWidth));
1137 Known.One.setLowBits(std::min(Min + 1, BitWidth));
1142 unsigned BitWidth = getBitWidth();
1143 for (unsigned I = 0; I < BitWidth; ++I) {
1144 unsigned N = BitWidth - I - 1;