58 static constexpr uint32_t shift = (uint32_t) 0x1c - Index * 4;
60 static constexpr uint32_t set (uint32_t word, uint8_t value)
62 return (word & ~((uint32_t) 0xf << shift)) | (uint32_t) ((value & 0xf) << shift);
65 static constexpr uint8_t get (uint32_t word)
67 return (uint8_t) ((word >> shift) & 0xf);
77 static constexpr uint32_t shift = (uint32_t) 0x18 - Index * 8;
79 static constexpr uint32_t set (uint32_t word, uint8_t value)
81 return (word & ~((uint32_t) 0xff << shift)) | (uint32_t) (value << shift);
84 static constexpr uint8_t get (uint32_t word)
86 return (uint8_t) ((word >> shift) & 0xff);
96 static constexpr uint32_t shift = (uint32_t) 0x10 - Index * 16;
98 static constexpr uint32_t set (uint32_t word, uint16_t value)
100 return (word & ~((uint32_t) 0xffff << shift)) | (uint32_t) (value << shift);
103 static constexpr uint16_t get (uint32_t word)
105 return (uint16_t) ((word >> shift) & 0xffff);