48 lines · plain
1; REQUIRES: aarch64, x862; RUN: split-file %s %t.dir && cd %t.dir3 4; RUN: llvm-as arm64ec.ll -o arm64ec.obj5; RUN: llvm-as aarch64.ll -o aarch64.obj6; RUN: llvm-mc -filetype=obj -triple=aarch64-windows %S/Inputs/loadconfig-arm64.s -o loadconfig-arm64.obj7; RUN: llvm-mc -filetype=obj -triple=arm64ec-windows %S/Inputs/loadconfig-arm64ec.s -o loadconfig-arm64ec.obj8 9; RUN: lld-link -machine:arm64x aarch64.obj arm64ec.obj loadconfig-arm64.obj loadconfig-arm64ec.obj -out:out.exe -subsystem:console10; RUN: llvm-objdump -d out.exe | FileCheck %s11 12; CHECK: 0000000140001000 <.text>:13; CHECK-NEXT: 140001000: 52800020 mov w0, #0x1 // =114; CHECK-NEXT: 140001004: d65f03c0 ret15; CHECK-NEXT: ...16; CHECK-NEXT: 140002000: 00000009 udf #0x917; CHECK-NEXT: 140002004: 52800040 mov w0, #0x2 // =218; CHECK-NEXT: 140002008: d65f03c0 ret19 20; CHECK: 0000000140003000 <.hexpthk>:21; CHECK-NEXT: 140003000: 48 8b c4 movq %rsp, %rax22; CHECK-NEXT: 140003003: 48 89 58 20 movq %rbx, 0x20(%rax)23; CHECK-NEXT: 140003007: 55 pushq %rbp24; CHECK-NEXT: 140003008: 5d popq %rbp25; CHECK-NEXT: 140003009: e9 f6 ef ff ff jmp 0x140002004 <.text+0x1004>26; CHECK-NEXT: 14000300e: cc int327; CHECK-NEXT: 14000300f: cc int328 29#--- arm64ec.ll30 31target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-p:64:64-i32:32-i64:64-i128:128-n32:64-S128-Fn32"32target triple = "arm64ec-unknown-windows-msvc"33 34define dso_local i32 @mainCRTStartup() {35entry:36 ret i32 237}38 39#--- aarch64.ll40 41target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-p:64:64-i32:32-i64:64-i128:128-n32:64-S128-Fn32"42target triple = "aarch64-unknown-windows-msvc"43 44define dso_local i32 @mainCRTStartup() {45entry:46 ret i32 147}48