It was not as simple as I thought. All constants
used in 32b context get truncated to 32 bits.
All constants in 64b contexts can either remain
as immutables are have to be evicted in a register,
this choice is taken in noimm(). The case of the
comparison needs to be documented since the context
is not clearly 32 or 64 bits.
I am still unsure if this is fully correct.