diff options
author | Muhammad Mominul Huque <mominul2082@gmail.com> | 2021-04-23 17:04:45 +0600 |
---|---|---|
committer | Muhammad Mominul Huque <mominul2082@gmail.com> | 2021-04-23 17:04:45 +0600 |
commit | e16ccba3945e06a9e687dd13de9053d981cc4fad (patch) | |
tree | 72a11a36015b4f777a0550a42c83fa63c5c2c939 | |
parent | cdc0aa188e72ee100bd61943cf7c81ac28be9a81 (diff) | |
download | rust-e16ccba3945e06a9e687dd13de9053d981cc4fad.tar.gz |
Support -Ctarget-cpu
-rw-r--r-- | src/lib.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/lib.rs b/src/lib.rs index 5a75b9be0cb..02518cc0b19 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -273,9 +273,14 @@ fn build_isa(sess: &Session, backend_config: &BackendConfig) -> Box<dyn isa::Tar let variant = cranelift_codegen::isa::BackendVariant::MachInst; let mut isa_builder = cranelift_codegen::isa::lookup_variant(target_triple, variant).unwrap(); - // Don't use "haswell", as it implies `has_lzcnt`.macOS CI is still at Ivy Bridge EP, so `lzcnt` - // is interpreted as `bsr`. - isa_builder.enable("nehalem").unwrap(); + + if let Some(target_cpu) = sess.opts.cg.target_cpu.as_ref() { + isa_builder.enable(target_cpu).unwrap(); + } else { + // Don't use "haswell" as the default, as it implies `has_lzcnt`. + // macOS CI is still at Ivy Bridge EP, so `lzcnt` is interpreted as `bsr`. + isa_builder.enable("nehalem").unwrap(); + } isa_builder.finish(flags) } |