Lines Matching refs:msb
178 inline uint64_t ExtractUnsignedBitfield64(int msb, int lsb, uint64_t x) { in INT_1_TO_63_LIST()
179 VIXL_ASSERT((static_cast<size_t>(msb) < sizeof(x) * 8) && (lsb >= 0) && in INT_1_TO_63_LIST()
180 (msb >= lsb)); in INT_1_TO_63_LIST()
181 if ((msb == 63) && (lsb == 0)) return x; in INT_1_TO_63_LIST()
182 return (x >> lsb) & ((static_cast<uint64_t>(1) << (1 + msb - lsb)) - 1); in INT_1_TO_63_LIST()
186 inline uint32_t ExtractUnsignedBitfield32(int msb, int lsb, uint32_t x) { in ExtractUnsignedBitfield32() argument
187 VIXL_ASSERT((static_cast<size_t>(msb) < sizeof(x) * 8) && (lsb >= 0) && in ExtractUnsignedBitfield32()
188 (msb >= lsb)); in ExtractUnsignedBitfield32()
189 return TruncateToUint32(ExtractUnsignedBitfield64(msb, lsb, x)); in ExtractUnsignedBitfield32()
193 inline int64_t ExtractSignedBitfield64(int msb, int lsb, int64_t x) { in ExtractSignedBitfield64() argument
194 VIXL_ASSERT((static_cast<size_t>(msb) < sizeof(x) * 8) && (lsb >= 0) && in ExtractSignedBitfield64()
195 (msb >= lsb)); in ExtractSignedBitfield64()
196 uint64_t temp = ExtractUnsignedBitfield64(msb, lsb, x); in ExtractSignedBitfield64()
198 if ((temp >> (msb - lsb)) == 1) { in ExtractSignedBitfield64()
199 temp |= ~UINT64_C(0) << (msb - lsb); in ExtractSignedBitfield64()
207 inline int32_t ExtractSignedBitfield32(int msb, int lsb, int32_t x) { in ExtractSignedBitfield32() argument
208 VIXL_ASSERT((static_cast<size_t>(msb) < sizeof(x) * 8) && (lsb >= 0) && in ExtractSignedBitfield32()
209 (msb >= lsb)); in ExtractSignedBitfield32()
210 uint32_t temp = TruncateToUint32(ExtractSignedBitfield64(msb, lsb, x)); in ExtractSignedBitfield32()