rust/compiler
bors c87ef0a2fc Auto merge of #80749 - as-com:target-cpu-actually-native, r=nagisa
Make target-cpu=native detect individual features

This PR makes target-cpu=native check for and enable/disable individual features instead of detecting and targeting a CPU by name. This brings the flag's behavior more in line with clang and gcc and ensures that the host actually supports each feature that we are compiling for.

This should resolve issues with miscompilations on e.g. "Haswell" Pentiums and Celerons that lack support for AVX, and also enable support for `aes` on Broadwell processors that support it. It should also resolve issues with failing to detect feature support in newer CPUs that aren't yet known by LLVM (see: #80633).

Fixes #54688
Fixes #48464
Fixes #38218
2021-01-09 04:36:24 +00:00
..
rustc just max_level_info 2020-09-11 09:37:51 -07:00
rustc_apfloat Backport another LLVM commit to rustc_apfloat 2020-10-04 02:02:25 +02:00
rustc_arena stabilize min_const_generics 2020-12-26 18:24:10 +01:00
rustc_ast Rollup merge of #80784 - petrochenkov:nontspan, r=Aaron1011 2021-01-08 02:06:20 +09:00
rustc_ast_lowering rustc_parse: Better spans for synthesized token streams 2021-01-07 17:48:13 +03:00
rustc_ast_passes reduce borrowing and (de)referencing around match patterns (clippy::match_ref_pats) 2021-01-02 20:09:17 +01:00
rustc_ast_pretty rustc_ast_pretty: Remove PrintState::insert_extra_parens 2021-01-08 00:43:38 +03:00
rustc_attr Get rid of clean::Deprecation 2020-12-14 22:00:46 -05:00
rustc_builtin_macros reduce borrowing and (de)referencing around match patterns (clippy::match_ref_pats) 2021-01-02 20:09:17 +01:00
rustc_codegen_cranelift Merge commit 'dbee13661efa269cb4cd57bb4c6b99a19732b484' into sync_cg_clif-2020-12-27 2020-12-27 10:30:38 +01:00
rustc_codegen_llvm Auto merge of #80749 - as-com:target-cpu-actually-native, r=nagisa 2021-01-09 04:36:24 +00:00
rustc_codegen_ssa Auto merge of #80200 - mahkoh:dst-offset, r=nagisa 2021-01-07 03:13:21 +00:00
rustc_data_structures rustc_serialize: have read_raw_bytes take MaybeUninit<u8> slice 2021-01-01 22:49:16 -08:00
rustc_driver where possible, pass slices instead of &Vec or &String (clippy::ptr_arg) 2020-12-30 13:11:52 +01:00
rustc_error_codes Refine E0435 description 2021-01-07 20:20:58 +09:00
rustc_errors Switch compiler/ to intra-doc links 2020-12-18 15:22:51 -05:00
rustc_expand rustc_parse: Better spans for synthesized token streams 2021-01-07 17:48:13 +03:00
rustc_feature Allow references to interior mutable data behind a feature gate 2021-01-01 16:59:12 +00:00
rustc_fs_util Optimize away a fs::metadata call. 2021-01-06 08:33:15 -08:00
rustc_graphviz Rust coverage before splitting instrument_coverage.rs 2020-11-05 18:24:12 -08:00
rustc_hir Rollup merge of #80538 - JulianKnodt:err_usize, r=lcnr 2021-01-05 09:52:37 +09:00
rustc_hir_pretty rustc_ast_pretty: Remove PrintState::insert_extra_parens 2021-01-08 00:43:38 +03:00
rustc_incremental Optimize away some fs::metadata calls. 2021-01-06 08:31:25 -08:00
rustc_index Switch compiler/ to intra-doc links 2020-12-18 15:22:51 -05:00
rustc_infer Rollup merge of #80637 - LingMan:filter, r=oli-obk 2021-01-05 09:52:42 +09:00
rustc_interface Remove compile-fail test suite 2020-12-29 23:39:56 +03:00
rustc_lexer Return EOF_CHAR constant instead of magic char. 2021-01-07 13:20:04 +01:00
rustc_lint Rollup merge of #80628 - matthiaskrgr:match_ref_pats, r=varkor 2021-01-03 17:09:11 +01:00
rustc_lint_defs improve unconditional_panic description 2021-01-01 15:00:27 +01:00
rustc_llvm llvm: update ffi bindings for split dwarf 2020-12-16 10:31:42 +00:00
rustc_macros rustc_serialize: specialize opaque encoding of some u8 sequences 2021-01-01 22:49:14 -08:00
rustc_metadata Rollup merge of #80643 - LingMan:unwrap, r=oli-obk 2021-01-05 09:52:44 +09:00
rustc_middle Auto merge of #78452 - cjgillot:ddk-struct, r=Mark-Simulacrum 2021-01-08 18:16:00 +00:00
rustc_mir Rollup merge of #80521 - richkadel:llvm-coverage-counters-2.4.0, r=wesleywiser 2021-01-08 02:06:03 +09:00
rustc_mir_build Add note to non-exhaustive match on reference to empty 2021-01-03 19:05:23 +01:00
rustc_parse Add a note for * and {} usage on use 2021-01-08 17:36:14 +09:00
rustc_parse_format /nightly/nightly-rustc 2020-09-23 21:51:56 +02:00
rustc_passes Don't use to_string on Symbol 2021-01-06 10:59:50 +01:00
rustc_plugin_impl Store ForeignItem in a side table. 2020-11-26 21:29:27 +01:00
rustc_privacy Rollup merge of #80495 - jyn514:rename-empty, r=petrochenkov 2020-12-30 20:56:58 +00:00
rustc_query_system Use a side-table of consts instead of matching on the DepKind enum. 2021-01-08 17:48:02 +01:00
rustc_resolve Rollup merge of #80012 - sasurau4:feature/point-constant-identifier-E0435, r=petrochenkov 2021-01-08 02:05:58 +09:00
rustc_save_analysis reduce borrowing and (de)referencing around match patterns (clippy::match_ref_pats) 2021-01-02 20:09:17 +01:00
rustc_serialize rustc_serialize: specialize opaque decoding of some u8 sequences 2021-01-01 22:49:16 -08:00
rustc_session Auto merge of #80709 - lzutao:target-enumerate, r=petrochenkov 2021-01-07 21:33:57 +00:00
rustc_span Auto merge of #80648 - Aaron1011:expn-data-private, r=petrochenkov 2021-01-07 08:25:39 +00:00
rustc_symbol_mangling Make BoundRegion have a kind of BoungRegionKind 2020-12-18 15:27:28 -05:00
rustc_target Change related spec files to use the new enum 2021-01-06 13:34:20 +00:00
rustc_trait_selection reduce borrowing and (de)referencing around match patterns (clippy::match_ref_pats) 2021-01-02 20:09:17 +01:00
rustc_traits fix: small typo error in chalk/mod.rs 2020-12-27 03:22:23 +01:00
rustc_ty_utils Be cautious of calling upvar_tys before mir 2020-11-29 19:20:28 -05:00
rustc_type_ir Fix typo in DebruijnIndex documentation 2020-12-12 16:13:06 +01:00
rustc_typeck Rollup merge of #79675 - CraftSpider:79669, r=estebank 2021-01-08 11:11:34 +09:00