BITPOS_END
(((*(rp)) & (START_MASK64(BITPOS_START(b)))) >> BITPOS_END(b))
(((*(rp)) & (START_MASK32(BITPOS_START(b)))) >> BITPOS_END(b))
(((*(rp)) & (START_MASK16(BITPOS_START(b)))) >> BITPOS_END(b))
(((*(rp)) & (START_MASK8(BITPOS_START(b)))) >> BITPOS_END(b))
(((uint64_t)(*(rp)) & ~(BIT_MASK64(BITPOS_START(b), BITPOS_END(b)))) \
| ((uint64_t)(v) << BITPOS_END(b))))
(((uint32_t)(*(rp)) & ~(BIT_MASK32(BITPOS_START(b), BITPOS_END(b)))) \
| ((uint32_t)(v) << BITPOS_END(b))))
(((uint16_t)(*(rp)) & ~(BIT_MASK16(BITPOS_START(b), BITPOS_END(b)))) \
| ((uint16_t)(v) << BITPOS_END(b))))
(((uint8_t)(*(rp)) & ~(BIT_MASK8(BITPOS_START(b), BITPOS_END(b)))) \
| ((uint8_t)(v) << BITPOS_END(b))))