[lld] [LLD][COFF] Add Support for ARM64EC Import Thunks (PR #108460)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 13 01:21:48 PDT 2024
================
@@ -39,33 +39,40 @@ RUN: llvm-objdump -d out2.dll | FileCheck --check-prefix=DISASM %s
DISASM: 180001000: 52800000 mov w0, #0x0 // =0
DISASM-NEXT: 180001004: d65f03c0 ret
-DISASM-NEXT: 180001008: d000000b adrp x11, 0x180003000
-DISASM-NEXT: 18000100c: f940056b ldr x11, [x11, #0x8]
-DISASM-NEXT: 180001010: 9000000a adrp x10, 0x180001000 <.text>
-DISASM-NEXT: 180001014: 9101114a add x10, x10, #0x44
-DISASM-NEXT: 180001018: 17fffffa b 0x180001000 <.text>
-DISASM-NEXT: 18000101c: d000000b adrp x11, 0x180003000
-DISASM-NEXT: 180001020: f940096b ldr x11, [x11, #0x10]
-DISASM-NEXT: 180001024: f0ffffea adrp x10, 0x180000000
-DISASM-NEXT: 180001028: 9100014a add x10, x10, #0x0
-DISASM-NEXT: 18000102c: 17fffff5 b 0x180001000 <.text>
-DISASM-NEXT: 180001030: d000000b adrp x11, 0x180003000
-DISASM-NEXT: 180001034: f940116b ldr x11, [x11, #0x20]
-DISASM-NEXT: 180001038: 9000000a adrp x10, 0x180001000 <.text>
-DISASM-NEXT: 18000103c: 9101314a add x10, x10, #0x4c
-DISASM-NEXT: 180001040: 17fffff0 b 0x180001000 <.text>
-DISASM-NEXT: 180001044: 52800020 mov w0, #0x1 // =1
-DISASM-NEXT: 180001048: d65f03c0 ret
-DISASM-NEXT: 18000104c: 52800040 mov w0, #0x2 // =2
-DISASM-NEXT: 180001050: d65f03c0 ret
+DISASM-NEXT: 180001008: 90000030 adrp x16, 0x180005000
+DISASM-NEXT: 18000100c: f9400610 ldr x16, [x16, #0x8]
+DISASM-NEXT: 180001010: d61f0200 br x16
----------------
mstorsjo wrote:
So the existing thunks use x11/x10, but these ones uses x16 like they used to, for regular arm64. I had to check, but x16 does indeed seem to be kosher to use on arm64ec.
https://github.com/llvm/llvm-project/pull/108460
More information about the llvm-commits
mailing list