1 // This defines the aarch64 target for UEFI systems as described in the UEFI specification. See the
2 // uefi-base module for generic UEFI options.
4 use super::uefi_msvc_base;
5 use crate::spec::{LinkerFlavor, Target};
7 pub fn target() -> Target {
8 let mut base = uefi_msvc_base::opts();
10 base.max_atomic_width = Some(128);
11 base.add_pre_link_args(LinkerFlavor::Msvc, &["/machine:arm64"]);
14 llvm_target: "aarch64-unknown-windows".into(),
16 data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128".into(),
17 arch: "aarch64".into(),