Compiler fixes (touching only files in the alpha backend)
... the assembly routine for (signed-byte 32) [sic] truncate did
in fact work only for signed-byte 32 quantities, but was
being called on signed-byte 64 quantities. Fix it.
... the translators for ASH were broken in amusing ways: some
led to internal compiler errors when fed out-of-range
numbers; more insidiously, others allowed temporaries
to be overwritten in some cases. Fix them.
... lastly but not leastly, the %LI code to load an immediate
was wrong in a very small proportion of cases. After
much scribbling, deduce why and fix it.
... test cases to go with all of the above.