Lines Matching refs:parts

329 static void tcComplement(APInt::WordType *dst, unsigned parts) {  in tcComplement()  argument
330 for (unsigned i = 0; i < parts; i++) in tcComplement()
2307 void APInt::tcSet(WordType *dst, WordType part, unsigned parts) { in tcSet() argument
2308 assert(parts > 0); in tcSet()
2310 for (unsigned i = 1; i < parts; i++) in tcSet()
2315 void APInt::tcAssign(WordType *dst, const WordType *src, unsigned parts) { in tcAssign() argument
2316 for (unsigned i = 0; i < parts; i++) in tcAssign()
2321 bool APInt::tcIsZero(const WordType *src, unsigned parts) { in tcIsZero() argument
2322 for (unsigned i = 0; i < parts; i++) in tcIsZero()
2330 int APInt::tcExtractBit(const WordType *parts, unsigned bit) { in tcExtractBit() argument
2331 return (parts[whichWord(bit)] & maskBit(bit)) != 0; in tcExtractBit()
2335 void APInt::tcSetBit(WordType *parts, unsigned bit) { in tcSetBit() argument
2336 parts[whichWord(bit)] |= maskBit(bit); in tcSetBit()
2340 void APInt::tcClearBit(WordType *parts, unsigned bit) { in tcClearBit() argument
2341 parts[whichWord(bit)] &= ~maskBit(bit); in tcClearBit()
2346 unsigned APInt::tcLSB(const WordType *parts, unsigned n) { in tcLSB() argument
2348 if (parts[i] != 0) { in tcLSB()
2349 unsigned lsb = partLSB(parts[i]); in tcLSB()
2359 unsigned APInt::tcMSB(const WordType *parts, unsigned n) { in tcMSB() argument
2363 if (parts[n] != 0) { in tcMSB()
2364 unsigned msb = partMSB(parts[n]); in tcMSB()
2409 WordType c, unsigned parts) { in tcAdd() argument
2412 for (unsigned i = 0; i < parts; i++) { in tcAdd()
2431 unsigned parts) { in tcAddPart() argument
2432 for (unsigned i = 0; i < parts; ++i) { in tcAddPart()
2444 WordType c, unsigned parts) { in tcSubtract() argument
2447 for (unsigned i = 0; i < parts; i++) { in tcSubtract()
2469 unsigned parts) { in tcSubtractPart() argument
2470 for (unsigned i = 0; i < parts; ++i) { in tcSubtractPart()
2482 void APInt::tcNegate(WordType *dst, unsigned parts) { in tcNegate() argument
2483 tcComplement(dst, parts); in tcNegate()
2484 tcIncrement(dst, parts); in tcNegate()
2580 const WordType *rhs, unsigned parts) { in tcMultiply() argument
2584 tcSet(dst, 0, parts); in tcMultiply()
2586 for (unsigned i = 0; i < parts; i++) in tcMultiply()
2587 overflow |= tcMultiplyPart(&dst[i], lhs, rhs[i], 0, parts, in tcMultiply()
2588 parts - i, true); in tcMultiply()
2621 unsigned parts) { in tcDivide() argument
2624 unsigned shiftCount = tcMSB(rhs, parts) + 1; in tcDivide()
2628 shiftCount = parts * APINT_BITS_PER_WORD - shiftCount; in tcDivide()
2632 tcAssign(srhs, rhs, parts); in tcDivide()
2633 tcShiftLeft(srhs, parts, shiftCount); in tcDivide()
2634 tcAssign(remainder, lhs, parts); in tcDivide()
2635 tcSet(lhs, 0, parts); in tcDivide()
2640 int compare = tcCompare(remainder, srhs, parts); in tcDivide()
2642 tcSubtract(remainder, srhs, 0, parts); in tcDivide()
2649 tcShiftRight(srhs, parts, 1); in tcDivide()
2715 unsigned parts) { in tcCompare() argument
2716 while (parts) { in tcCompare()
2717 parts--; in tcCompare()
2718 if (lhs[parts] != rhs[parts]) in tcCompare()
2719 return (lhs[parts] > rhs[parts]) ? 1 : -1; in tcCompare()