Because AArch64 mandates fixed-length 32-bit instructions aligned to 4-byte boundaries, the instruction pointer can never land in the middle of an instruction during live execution. Windows exploits this by inserting 12 bytes of padding before every function entry point for an atomic 3-instruction trampoline using scratch register xip0, completely avoiding the multi-byte instruction-boundary decoding and 2-byte relative jump gymnastics required by variable-length x86. devblogs.microsoft.com