What is this function supposed to do if it gets 0x80000000 as
input btw? The current code happily makes it 0x7fffffff as
far as I can see? The "rlwinm" thing would fix that ;-) (Or
unfix, if the current behaviour is intended).
...except it doesn't change behaviour on 32-bit of
course. Forget it, do one of the other suggested
things instead please :-)
Segher