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.
Can you include some tests with different sized result integers? I thought that was the point of the patch