Pointer lowering will presently happily allow the assembler to truncate a pointer in order to fit it into a narrower slot. The assembler is also capable of extending a pointer into a larger slot, and this is needed for languages like Java which may initialize a 64-bit integer field with a 32-bit pointer value on the initial heap.
This change builds on D61325 to allow the assembler to also extend pointers into larger integer slots.
Fixes #60453.
I still think it’s worthwhile to have a variety of destination integer sizes in the same test