Rely only on the x86 registers in case we want a 32 bit version

This would make porting easier. Also, fix a small bug.