diff options
| author | Ralf Jung <post@ralfj.de> | 2025-01-29 12:16:51 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2025-02-14 19:47:52 +0100 |
| commit | 2eff2155e5467c42f43143f282dd96f9ccb7bf08 (patch) | |
| tree | 56382ec9b9d1093c345ea1d0178df58e7c027661 /compiler/rustc_target/src/spec/base | |
| parent | bdc97d104696f6abccea657f76401e282fc6ca85 (diff) | |
| download | rust-2eff2155e5467c42f43143f282dd96f9ccb7bf08.tar.gz rust-2eff2155e5467c42f43143f282dd96f9ccb7bf08.zip | |
add x86-sse2 (32bit) ABI that requires SSE2 target feature
Diffstat (limited to 'compiler/rustc_target/src/spec/base')
| -rw-r--r-- | compiler/rustc_target/src/spec/base/apple/mod.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/compiler/rustc_target/src/spec/base/apple/mod.rs b/compiler/rustc_target/src/spec/base/apple/mod.rs index 497994a5998..1b56143545f 100644 --- a/compiler/rustc_target/src/spec/base/apple/mod.rs +++ b/compiler/rustc_target/src/spec/base/apple/mod.rs @@ -2,8 +2,8 @@ use std::borrow::Cow; use std::env; use crate::spec::{ - Cc, DebuginfoKind, FloatAbi, FramePointer, LinkerFlavor, Lld, SplitDebuginfo, StackProbeType, - StaticCow, TargetOptions, cvs, + Cc, DebuginfoKind, FloatAbi, FramePointer, LinkerFlavor, Lld, RustcAbi, SplitDebuginfo, + StackProbeType, StaticCow, TargetOptions, cvs, }; #[cfg(test)] @@ -103,7 +103,7 @@ pub(crate) fn base( arch: Arch, abi: TargetAbi, ) -> (TargetOptions, StaticCow<str>, StaticCow<str>) { - let opts = TargetOptions { + let mut opts = TargetOptions { abi: abi.target_abi().into(), llvm_floatabi: Some(FloatAbi::Hard), os: os.into(), @@ -154,6 +154,10 @@ pub(crate) fn base( ..Default::default() }; + if matches!(arch, Arch::I386 | Arch::I686) { + // All Apple x86-32 targets have SSE2. + opts.rustc_abi = Some(RustcAbi::X86Sse2); + } (opts, unversioned_llvm_target(os, arch, abi), arch.target_arch()) } |
