Loading AArch64 immediate into register should be handled by the assembler
The CmmToAsm.AArch64 code for loading large immediate values for AArch64 currently uses a sequence of MOV/MOVK instructions - this is basically the code we would like to see produced, but it's something the assembler should be able to handle. If these are all replaced with the MOV
pseudo instruction and a large immediate, the assembler should take care of finding the optimal set of immediate loads and shifts, as least according to https://devblogs.microsoft.com/oldnewthing/20220808-00/?p=106953.
I don't have access to an AArch64 machine to test, but the change should be small and easy to test.