Forked from
cmucl / cmucl
Source project has a limited visibility.
-
Raymond Toy authored
I think the offending code in each case is trying to extract the low word if x. I think it works because on a little-endian machine, *(unsigned*)&one is 0 since the low word is stored first. On a big-endian machine, *(unsigned*)&one is the high word which, when right shifted by 29, gives 1. That is added to the address of x to get the low word of x.
Raymond Toy authoredI think the offending code in each case is trying to extract the low word if x. I think it works because on a little-endian machine, *(unsigned*)&one is 0 since the low word is stored first. On a big-endian machine, *(unsigned*)&one is the high word which, when right shifted by 29, gives 1. That is added to the address of x to get the low word of x.