Skip to content

Commit e7b397b

Browse files
committed
auto merge of #20935 : dotdash/rust/cpu_x86-64, r=luqmana
Using "generic" disables a number of features that are present on all x86_64 cpus, the "x86-64" target cpu is the common denominator for that arch. Refs #20777
2 parents 32ddbb8 + 14b6c6d commit e7b397b

6 files changed

+14
-0
lines changed

src/librustc_back/target/apple_ios_base.rs

+9
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ use target::TargetOptions;
1414
use self::Arch::*;
1515

1616
#[allow(non_camel_case_types)]
17+
#[derive(Copy)]
1718
pub enum Arch {
1819
Armv7,
1920
Armv7s,
@@ -70,8 +71,16 @@ fn pre_link_args(arch: Arch) -> Vec<String> {
7071
"-Wl,-syslibroot".to_string(), get_sdk_root(sdk_name)]
7172
}
7273

74+
fn target_cpu(arch: Arch) -> String {
75+
match arch {
76+
X86_64 => "x86-64",
77+
_ => "generic",
78+
}.to_string()
79+
}
80+
7381
pub fn opts(arch: Arch) -> TargetOptions {
7482
TargetOptions {
83+
cpu: target_cpu(arch),
7584
dynamic_linking: false,
7685
executables: true,
7786
// Although there is an experimental implementation of LLVM which

src/librustc_back/target/x86_64_apple_darwin.rs

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use target::Target;
1212

1313
pub fn target() -> Target {
1414
let mut base = super::apple_base::opts();
15+
base.cpu = "x86-64".to_string();
1516
base.eliminate_frame_pointer = false;
1617
base.pre_link_args.push("-m64".to_string());
1718

src/librustc_back/target/x86_64_pc_windows_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use target::Target;
1212

1313
pub fn target() -> Target {
1414
let mut base = super::windows_base::opts();
15+
base.cpu = "x86-64".to_string();
1516
// On Win64 unwinding is handled by the OS, so we can link libgcc statically.
1617
base.pre_link_args.push("-static-libgcc".to_string());
1718
base.pre_link_args.push("-m64".to_string());

src/librustc_back/target/x86_64_unknown_dragonfly.rs

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use target::Target;
1212

1313
pub fn target() -> Target {
1414
let mut base = super::dragonfly_base::opts();
15+
base.cpu = "x86-64".to_string();
1516
base.pre_link_args.push("-m64".to_string());
1617

1718
Target {

src/librustc_back/target/x86_64_unknown_freebsd.rs

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use target::Target;
1212

1313
pub fn target() -> Target {
1414
let mut base = super::freebsd_base::opts();
15+
base.cpu = "x86-64".to_string();
1516
base.pre_link_args.push("-m64".to_string());
1617

1718
Target {

src/librustc_back/target/x86_64_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use target::Target;
1212

1313
pub fn target() -> Target {
1414
let mut base = super::linux_base::opts();
15+
base.cpu = "x86-64".to_string();
1516
base.pre_link_args.push("-m64".to_string());
1617

1718
Target {

0 commit comments

Comments
 (0)