Lines Matching defs:numBits
107 APInt::APInt(unsigned numBits, ArrayRef<uint64_t> bigVal) : BitWidth(numBits) {
111 APInt::APInt(unsigned numBits, unsigned numWords, const uint64_t bigVal[])
112 : BitWidth(numBits) {
428 void APInt::insertBits(uint64_t subBits, unsigned bitPosition, unsigned numBits) {
429 uint64_t maskBits = maskTrailingOnes<uint64_t>(numBits);
439 unsigned hiWord = whichWord(bitPosition + numBits - 1);
455 APInt APInt::extractBits(unsigned numBits, unsigned bitPosition) const {
456 assert(bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
460 return APInt(numBits, U.VAL >> bitPosition, /*isSigned=*/false,
465 unsigned hiWord = whichWord(bitPosition + numBits - 1);
469 return APInt(numBits, U.pVal[loWord] >> loBit, /*isSigned=*/false,
475 return APInt(numBits, ArrayRef(U.pVal + loWord, 1 + hiWord - loWord));
478 APInt Result(numBits, 0);
493 uint64_t APInt::extractBitsAsZExtValue(unsigned numBits,
495 assert(bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
497 assert(numBits <= 64 && "Illegal bit extraction");
499 uint64_t maskBits = maskTrailingOnes<uint64_t>(numBits);
507 unsigned hiWord = whichWord(bitPosition + numBits - 1);
611 /// This function returns the high "numBits" bits of this APInt.
612 APInt APInt::getHiBits(unsigned numBits) const {
613 return this->lshr(BitWidth - numBits);
616 /// This function returns the low "numBits" bits of this APInt.
617 APInt APInt::getLoBits(unsigned numBits) const {
618 APInt Result(getLowBitsSet(BitWidth, numBits));