Enable outline-atomics by default on AArch64 FreeBSD

Many aarch64 targets without LSE in the baseline enable the
`outline-atomics` feature, which uses runtime detection of LSE for its
faster atomic ops. This provides nontrivial performance improvements on
most hardware from the past decade, at a small cost to anything pre-LSE.

This matches what Clang does [1].

[1]: e24f90190c
This commit is contained in:
Trevor Gross 2025-09-05 15:27:17 -04:00 committed by Trevor Gross
parent 31010ca61c
commit 383053e016

View file

@ -15,7 +15,7 @@ pub(crate) fn target() -> Target {
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(), 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: Arch::AArch64, arch: Arch::AArch64,
options: TargetOptions { options: TargetOptions {
features: "+v8a".into(), features: "+v8a,+outline-atomics".into(),
max_atomic_width: Some(128), max_atomic_width: Some(128),
stack_probes: StackProbeType::Inline, stack_probes: StackProbeType::Inline,
supported_sanitizers: SanitizerSet::ADDRESS supported_sanitizers: SanitizerSet::ADDRESS