| REQUIRES: aarch64, x86 |
| RUN: split-file %s %t.dir && cd %t.dir |
| |
| RUN: llvm-mc -filetype=obj -triple=arm64ec-windows test.s -o test.obj |
| RUN: llvm-mc -filetype=obj -triple=arm64ec-windows %S/Inputs/loadconfig-arm64ec.s -o loadconfig-arm64ec.obj |
| RUN: llvm-lib -machine:arm64ec -def:test.def -out:test.lib |
| |
| RUN: lld-link -machine:arm64ec -dll -noentry -out:out.dll loadconfig-arm64ec.obj test.obj test.lib |
| |
| RUN: llvm-objdump -d out.dll | FileCheck --check-prefix=DISASM %s |
| DISASM: 0000000180001000 <.text>: |
| DISASM-NEXT: 180001000: 52800000 mov w0, #0x0 // =0 |
| DISASM-NEXT: 180001004: d65f03c0 ret |
| DISASM-NEXT: ... |
| DISASM-NEXT: 188001008: b000000b adrp x11, 0x188002000 |
| DISASM-NEXT: 18800100c: f940016b ldr x11, [x11] |
| DISASM-NEXT: 188001010: f0fbffea adrp x10, 0x180000000 |
| DISASM-NEXT: 188001014: 9100014a add x10, x10, #0x0 |
| DISASM-NEXT: 188001018: 90fc0010 adrp x16, 0x180001000 <.text> |
| DISASM-NEXT: 18800101c: 91000210 add x16, x16, #0x0 |
| DISASM-NEXT: 188001020: d61f0200 br x16 |
| |
| #--- test.s |
| .text |
| .globl __icall_helper_arm64ec |
| .p2align 2, 0x0 |
| __icall_helper_arm64ec: |
| mov w0, #0 |
| ret |
| |
| .space 0x8000000 |
| |
| .data |
| .rva __imp_func |
| |
| #--- test.def |
| NAME test.dll |
| EXPORTS |
| func |