Lines Matching defs:bitPos
461 static void setBit(char *rawData, size_t bitPos, bool value) {
463 rawData[bitPos / CHAR_BIT] |= (1 << (bitPos % CHAR_BIT));
465 rawData[bitPos / CHAR_BIT] &= ~(1 << (bitPos % CHAR_BIT));
469 static bool getBit(const char *rawData, size_t bitPos) {
470 return (rawData[bitPos / CHAR_BIT] & (1 << (bitPos % CHAR_BIT))) != 0;
537 /// Writes value to the bit position `bitPos` in array `rawData`.
538 static void writeBits(char *rawData, size_t bitPos, APInt value) {
543 return setBit(rawData, bitPos, value.isOne());
546 assert((bitPos % CHAR_BIT) == 0 && "expected bitPos to be 8-bit aligned");
548 // Copy from `value` to `rawData + (bitPos / CHAR_BIT)`.
554 rawData + (bitPos / CHAR_BIT));
558 rawData + (bitPos / CHAR_BIT));
562 /// Reads the next `bitWidth` bits from the bit position `bitPos` in array
564 static APInt readBits(const char *rawData, size_t bitPos, size_t bitWidth) {
567 return APInt(1, getBit(rawData, bitPos) ? 1 : 0);
570 assert((bitPos % CHAR_BIT) == 0 && "expected bitPos to be 8-bit aligned");
573 // Copy from `rawData + (bitPos / CHAR_BIT)` to `result`.
578 copyArrayToAPIntForBEmachine(rawData + (bitPos / CHAR_BIT),
581 std::copy_n(rawData + (bitPos / CHAR_BIT),