mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
llvm: Match aarch64 data layout to new LLVM layout
LLVM has added 3 new address spaces to support special Windows use cases. These shouldn't trouble us for now, but LLVM requires matching data layouts. See llvm/llvm-project#111879 for details
This commit is contained in:
parent
a0c2aba29a
commit
e985396145
@ -138,6 +138,16 @@ pub(crate) unsafe fn create_module<'ll>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if llvm_version < (20, 0, 0) {
|
||||||
|
if sess.target.arch == "aarch64" || sess.target.arch.starts_with("arm64") {
|
||||||
|
// LLVM 20 defines three additional address spaces for alternate
|
||||||
|
// pointer kinds used in Windows.
|
||||||
|
// See https://github.com/llvm/llvm-project/pull/111879
|
||||||
|
target_data_layout =
|
||||||
|
target_data_layout.replace("-p270:32:32-p271:32:32-p272:64:64", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Ensure the data-layout values hardcoded remain the defaults.
|
// Ensure the data-layout values hardcoded remain the defaults.
|
||||||
{
|
{
|
||||||
let tm = crate::back::write::create_informational_target_machine(tcx.sess, false);
|
let tm = crate::back::write::create_informational_target_machine(tcx.sess, false);
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
mcount: "\u{1}mcount".into(),
|
mcount: "\u{1}mcount".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a7".into(),
|
features: "+neon,+fp-armv8,+apple-a7".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a12".into(),
|
features: "+neon,+fp-armv8,+apple-a12".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a7".into(),
|
features: "+neon,+fp-armv8,+apple-a7".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a7".into(),
|
features: "+neon,+fp-armv8,+apple-a7".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a7".into(),
|
features: "+neon,+fp-armv8,+apple-a7".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(false),
|
std: Some(false),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a16".into(),
|
features: "+neon,+fp-armv8,+apple-a16".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(false),
|
std: Some(false),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a16".into(),
|
features: "+neon,+fp-armv8,+apple-a16".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a,+neon,+fp-armv8,+apple-a7".into(),
|
features: "+v8a,+neon,+fp-armv8,+apple-a7".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a7".into(),
|
features: "+neon,+fp-armv8,+apple-a7".into(),
|
||||||
|
@ -11,7 +11,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
linker: Some("aarch64-kmc-elf-gcc".into()),
|
linker: Some("aarch64-kmc-elf-gcc".into()),
|
||||||
|
@ -13,7 +13,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
max_atomic_width: Some(128),
|
max_atomic_width: Some(128),
|
||||||
|
@ -15,7 +15,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(false),
|
std: Some(false),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a".into(),
|
features: "+v8a".into(),
|
||||||
|
@ -15,7 +15,9 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout:
|
||||||
|
"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"
|
||||||
|
.into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: base,
|
options: base,
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,9 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout:
|
||||||
|
"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"
|
||||||
|
.into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: base,
|
options: base,
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a".into(),
|
features: "+v8a".into(),
|
||||||
|
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a".into(),
|
features: "+v8a".into(),
|
||||||
|
@ -11,7 +11,7 @@ pub(crate) fn target() -> Target {
|
|||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a,+strict-align,+neon,+fp-armv8".into(),
|
features: "+v8a,+strict-align,+neon,+fp-armv8".into(),
|
||||||
max_atomic_width: Some(128),
|
max_atomic_width: Some(128),
|
||||||
|
@ -18,7 +18,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: base,
|
options: base,
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a,+outline-atomics".into(),
|
features: "+v8a,+outline-atomics".into(),
|
||||||
|
@ -21,7 +21,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions { mcount: "\u{1}_mcount".into(), ..base },
|
options: TargetOptions { mcount: "\u{1}_mcount".into(), ..base },
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+reserve-x18".into(),
|
features: "+reserve-x18".into(),
|
||||||
|
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a".into(),
|
features: "+v8a".into(),
|
||||||
|
@ -37,7 +37,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(false),
|
std: Some(false),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: opts,
|
options: opts,
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(false),
|
std: Some(false),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: opts,
|
options: opts,
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ pub(crate) fn target() -> Target {
|
|||||||
// i128:128 = 128-bit-integer, minimum_alignment=128, preferred_alignment=128
|
// i128:128 = 128-bit-integer, minimum_alignment=128, preferred_alignment=128
|
||||||
// n32:64 = 32 and 64 are native integer widths; Elements of this set are considered to support most general arithmetic operations efficiently.
|
// n32:64 = 32 and 64 are native integer widths; Elements of this set are considered to support most general arithmetic operations efficiently.
|
||||||
// S128 = 128 bits are the natural alignment of the stack in bits.
|
// S128 = 128 bits are the natural alignment of the stack in bits.
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a".into(),
|
features: "+v8a".into(),
|
||||||
|
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a".into(),
|
features: "+v8a".into(),
|
||||||
|
@ -15,7 +15,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: None, // ?
|
std: None, // ?
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: base,
|
options: base,
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: None, // ?
|
std: None, // ?
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: base,
|
options: base,
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(false),
|
std: Some(false),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+reserve-x18".into(),
|
features: "+neon,+fp-armv8,+reserve-x18".into(),
|
||||||
|
@ -19,7 +19,9 @@ pub(crate) fn target() -> Target {
|
|||||||
std: None, // ?
|
std: None, // ?
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout:
|
||||||
|
"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"
|
||||||
|
.into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: base,
|
options: base,
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,9 @@ pub(crate) fn target() -> Target {
|
|||||||
std: None, // ?
|
std: None, // ?
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout:
|
||||||
|
"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"
|
||||||
|
.into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: base,
|
options: base,
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch: "aarch64".into(),
|
arch: "aarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a".into(),
|
features: "+v8a".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 32,
|
pointer_width: 32,
|
||||||
data_layout: "e-m:o-p:32:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout:
|
||||||
|
"e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+v8a,+neon,+fp-armv8,+apple-a7".into(),
|
features: "+v8a,+neon,+fp-armv8,+apple-a7".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
mcount: "\u{1}mcount".into(),
|
mcount: "\u{1}mcount".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a12,+v8.3a,+pauth".into(),
|
features: "+neon,+fp-armv8,+apple-a12,+v8.3a,+pauth".into(),
|
||||||
|
@ -12,7 +12,8 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
|
||||||
|
.into(),
|
||||||
arch,
|
arch,
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
features: "+neon,+fp-armv8,+apple-a12,+v8.3a,+pauth".into(),
|
features: "+neon,+fp-armv8,+apple-a12,+v8.3a,+pauth".into(),
|
||||||
|
@ -18,7 +18,9 @@ pub(crate) fn target() -> Target {
|
|||||||
std: None, // ?
|
std: None, // ?
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
|
data_layout:
|
||||||
|
"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"
|
||||||
|
.into(),
|
||||||
arch: "arm64ec".into(),
|
arch: "arm64ec".into(),
|
||||||
options: base,
|
options: base,
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user