This commit is contained in:
Ben Vanik
2013-10-19 18:54:36 -07:00
parent 14b1c860b9
commit fc1be2bfd8
2 changed files with 38 additions and 3 deletions

View File

@@ -98,6 +98,8 @@ static inline uint64_t XEMASK(uint32_t mstart, uint32_t mstop) {
// mask[mstart:63] = ones
// mask[0:mstop] = ones
// mask[all other bits] = zeros
mstart &= 0x3F;
mstop &= 0x3F;
uint64_t value =
(UINT64_MAX >> mstart) ^ ((mstop >= 63) ? 0 : UINT64_MAX >> (mstop + 1));
return mstart <= mstop ? value : ~value;