Lines Matching defs:numBits
106 APInt::APInt(unsigned numBits, ArrayRef<uint64_t> bigVal) : BitWidth(numBits) {
110 APInt::APInt(unsigned numBits, unsigned numWords, const uint64_t bigVal[])
111 : BitWidth(numBits) {
426 void APInt::insertBits(uint64_t subBits, unsigned bitPosition, unsigned numBits) {
427 uint64_t maskBits = maskTrailingOnes<uint64_t>(numBits);
437 unsigned hiWord = whichWord(bitPosition + numBits - 1);
453 APInt APInt::extractBits(unsigned numBits, unsigned bitPosition) const {
454 assert(bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
458 return APInt(numBits, U.VAL >> bitPosition);
462 unsigned hiWord = whichWord(bitPosition + numBits - 1);
466 return APInt(numBits, U.pVal[loWord] >> loBit);
471 return APInt(numBits, ArrayRef(U.pVal + loWord, 1 + hiWord - loWord));
474 APInt Result(numBits, 0);
489 uint64_t APInt::extractBitsAsZExtValue(unsigned numBits,
491 assert(bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
493 assert(numBits <= 64 && "Illegal bit extraction");
495 uint64_t maskBits = maskTrailingOnes<uint64_t>(numBits);
501 unsigned hiWord = whichWord(bitPosition + numBits - 1);
607 /// This function returns the high "numBits" bits of this APInt.
608 APInt APInt::getHiBits(unsigned numBits) const {
609 return this->lshr(BitWidth - numBits);
612 /// This function returns the low "numBits" bits of this APInt.
613 APInt APInt::getLoBits(unsigned numBits) const {
614 APInt Result(getLowBitsSet(BitWidth, numBits));