BITPOS_START
(((*(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)))) \
(((uint32_t)(*(rp)) & ~(BIT_MASK32(BITPOS_START(b), BITPOS_END(b)))) \
(((uint16_t)(*(rp)) & ~(BIT_MASK16(BITPOS_START(b), BITPOS_END(b)))) \
(((uint8_t)(*(rp)) & ~(BIT_MASK8(BITPOS_START(b), BITPOS_END(b)))) \