The scheme is currently ...001 -> immediate int ...010 -> immediate char ...100 -> immediate double
But with 64 bits, 62 remaining for immediate char, that makes many char, well too many compared to Unicode requirements... What about swapping pattern for char and double? I know it complicates a little bit the 32 <-> 64 image translation, but this gains one more bit for immediate double exponent that is otherwise unused for char. Also, there is room for more immediate values, for example a single precision float. Is there any interest?