rust/compiler
Michael Goulet 7b40a9b7c6
Rollup merge of #133102 - RalfJung:aarch64-softfloat, r=davidtwco,wesleywiser
aarch64 softfloat target: always pass floats in int registers

This is a part of https://github.com/rust-lang/rust/issues/131058: on softfloat aarch64 targets, the float registers may be unavailable. And yet, LLVM will happily use them to pass float types if the corresponding target features are enabled. That's a problem as it means enabling/disabling `neon` instructions can change the ABI.

Other targets have a `soft-float` target feature that forces the use of the soft-float ABI no matter whether float registers are enabled or not; aarch64 has nothing like that.

So we follow the aarch64 [softfloat ABI](https://github.com/rust-lang/rust/issues/131058#issuecomment-2385027423) and treat floats like integers for `extern "C"` functions. For the "Rust" ABI, we do the same for scalars, and then just do something reasonable for ScalarPair that avoids the pointer indirection.

Cc ```@workingjubilee```
2024-11-22 21:07:39 -05:00
..
rustc Auto merge of #132282 - Noratrieb:it-is-the-end-of-serial, r=cjgillot 2024-11-12 15:14:56 +00:00
rustc_abi Auto merge of #130867 - michirakara:steps_between, r=dtolnay 2024-11-22 10:54:22 +00:00
rustc_arena move strict provenance lints to new feature gate, remove old feature gates 2024-10-21 15:22:17 +01:00
rustc_ast Auto merge of #132629 - nnethercote:124141-preliminaries, r=petrochenkov 2024-11-21 10:57:22 +00:00
rustc_ast_ir Add sugar for &pin (const|mut) types 2024-10-07 11:15:04 -07:00
rustc_ast_lowering Introduce min_generic_const_args and directly represent paths 2024-11-19 05:07:43 +00:00
rustc_ast_passes Rollup merge of #133023 - samestep:hir-stats-total-count, r=nnethercote 2024-11-19 09:19:20 +01:00
rustc_ast_pretty Introduce InvisibleOrigin on invisible delimiters. 2024-11-21 08:16:54 +11:00
rustc_attr ensure that all publicly reachable const fn have const stability info 2024-11-10 10:16:26 +01:00
rustc_baked_icu_data Delete the cfg(not(parallel)) serial compiler 2024-11-12 13:38:58 +00:00
rustc_borrowck reduce false positives of tail-expr-drop-order from consumed values 2024-11-20 20:53:11 +08:00
rustc_builtin_macros Use visit_item instead of flat_map_item in test_harness.rs 2024-11-20 16:47:00 -03:00
rustc_codegen_cranelift reduce false positives of tail-expr-drop-order from consumed values 2024-11-20 20:53:11 +08:00
rustc_codegen_gcc When the required discriminator value exceeds LLVM's limits, drop the debug info for the function instead of panicking. 2024-11-19 05:19:09 -08:00
rustc_codegen_llvm When the required discriminator value exceeds LLVM's limits, drop the debug info for the function instead of panicking. 2024-11-19 05:19:09 -08:00
rustc_codegen_ssa Auto merge of #132362 - mustartt:aix-dylib-detection, r=jieyouxu 2024-11-21 21:36:47 +00:00
rustc_const_eval Auto merge of #131326 - dingxiangfei2009:issue-130836-attempt-2, r=nikomatsakis 2024-11-20 18:51:54 +00:00
rustc_data_structures Add UnordMap::clear method 2024-11-20 18:11:37 +01:00
rustc_driver
rustc_driver_impl Rollup merge of #130236 - yaahc:unstable-feature-usage, r=estebank 2024-11-21 11:58:36 +01:00
rustc_error_codes remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead 2024-11-08 09:16:00 +01:00
rustc_error_messages Delete the cfg(not(parallel)) serial compiler 2024-11-12 13:38:58 +00:00
rustc_errors Auto merge of #132954 - matthiaskrgr:rollup-x3rww9h, r=matthiaskrgr 2024-11-12 18:04:27 +00:00
rustc_expand Auto merge of #132629 - nnethercote:124141-preliminaries, r=petrochenkov 2024-11-21 10:57:22 +00:00
rustc_feature Rollup merge of #130236 - yaahc:unstable-feature-usage, r=estebank 2024-11-21 11:58:36 +01:00
rustc_fluent_macro use tracked_path in rustc_fluent_macro 2024-10-19 22:32:38 +08:00
rustc_fs_util Couple of changes to make it easier to compile rustc for wasm 2024-09-26 19:51:14 +00:00
rustc_graphviz Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_hir Rollup merge of #132144 - adetaylor:receiver-trait-itself, r=wesleywiser 2024-11-11 21:58:29 +01:00
rustc_hir_analysis Simplify fulfill_implication 2024-11-22 01:03:17 +00:00
rustc_hir_pretty compiler: Switch to rustc_abi in hir_pretty, lint_defs, and mir_build 2024-10-30 22:38:49 -07:00
rustc_hir_typeck Rollup merge of #132489 - compiler-errors:fn-sugg-tweaks, r=BoxyUwU 2024-11-21 11:58:39 +01:00
rustc_incremental replace manual time convertions with std ones 2024-11-03 15:51:39 +03:00
rustc_index reduce false positives of tail-expr-drop-order from consumed values 2024-11-20 20:53:11 +08:00
rustc_index_macros Auto merge of #130867 - michirakara:steps_between, r=dtolnay 2024-11-22 10:54:22 +00:00
rustc_infer Implement ~const opaques 2024-11-19 20:31:05 +00:00
rustc_interface Rollup merge of #133023 - samestep:hir-stats-total-count, r=nnethercote 2024-11-19 09:19:20 +01:00
rustc_lexer Remove TokenKind::InvalidPrefix. 2024-11-19 18:06:22 +11:00
rustc_lint Rollup merge of #133153 - maxcabrajac:flat_maps, r=petrochenkov 2024-11-21 07:56:12 +01:00
rustc_lint_defs Auto merge of #131326 - dingxiangfei2009:issue-130836-attempt-2, r=nikomatsakis 2024-11-20 18:51:54 +00:00
rustc_llvm PassWrapper: disable UseOdrIndicator for Asan Win32 2024-11-14 04:20:18 +08:00
rustc_log Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_macros give a better error for tuple structs in derive(Diagnostic) 2024-10-27 21:23:28 -04:00
rustc_metadata Auto merge of #132362 - mustartt:aix-dylib-detection, r=jieyouxu 2024-11-21 21:36:47 +00:00
rustc_middle Pretty print AsyncFn traits too 2024-11-22 16:55:28 +00:00
rustc_mir_build Rollup merge of #132658 - estebank:const-in-pattern-typo, r=Nadrieril 2024-11-22 21:07:38 -05:00
rustc_mir_dataflow reduce false positives of tail-expr-drop-order from consumed values 2024-11-20 20:53:11 +08:00
rustc_mir_transform Auto merge of #131326 - dingxiangfei2009:issue-130836-attempt-2, r=nikomatsakis 2024-11-20 18:51:54 +00:00
rustc_monomorphize move fn is_item_raw to TypingEnv 2024-11-19 18:06:20 +01:00
rustc_next_trait_solver Rollup merge of #133218 - compiler-errors:const-opaque, r=fee1-dead 2024-11-21 07:56:13 +01:00
rustc_parse Remove ErrorGuaranteed retval from error_unexpected_after_dot. 2024-11-21 08:22:17 +11:00
rustc_parse_format Remove 'apostrophes' from rustc_parse_format 2024-10-14 23:22:51 +02:00
rustc_passes Auto merge of #133234 - jhpratt:rollup-42dmg4p, r=jhpratt 2024-11-20 09:27:56 +00:00
rustc_pattern_analysis Rollup merge of #132708 - estebank:const-as-binding, r=Nadrieril 2024-11-20 20:10:12 +01:00
rustc_privacy Simplify some places that deal with generic parameter defaults 2024-11-11 21:29:18 +01:00
rustc_query_impl Delete the cfg(not(parallel)) serial compiler 2024-11-12 13:38:58 +00:00
rustc_query_system Auto merge of #124780 - Mark-Simulacrum:lockless-cache, r=lcnr 2024-11-19 02:07:48 +00:00
rustc_resolve Store resolution for self and crate root module segments 2024-11-20 18:57:02 +00:00
rustc_sanitizers use TypingEnv when no infcx is available 2024-11-18 10:38:56 +01:00
rustc_serialize Fix explicit_iter_loop in rustc_serialize 2024-10-16 15:44:16 +02:00
rustc_session Rollup merge of #130236 - yaahc:unstable-feature-usage, r=estebank 2024-11-21 11:58:36 +01:00
rustc_smir reduce false positives of tail-expr-drop-order from consumed values 2024-11-20 20:53:11 +08:00
rustc_span Stabilize the 2024 edition 2024-11-22 11:12:15 -08:00
rustc_symbol_mangling additional TypingEnv cleanups 2024-11-19 21:36:23 +01:00
rustc_target Rollup merge of #133102 - RalfJung:aarch64-softfloat, r=davidtwco,wesleywiser 2024-11-22 21:07:39 -05:00
rustc_trait_selection Rollup merge of #132090 - compiler-errors:baily, r=lcnr 2024-11-22 21:07:38 -05:00
rustc_traits use TypingEnv when no infcx is available 2024-11-18 10:38:56 +01:00
rustc_transmute use TypingEnv when no infcx is available 2024-11-18 10:38:56 +01:00
rustc_ty_utils Stop being so bail-y in candidate assembly 2024-11-21 01:35:34 +00:00
rustc_type_ir Simplify logic a bit 2024-11-22 16:41:29 +00:00
rustc_type_ir_macros do not relate Abi and Safety 2024-10-22 23:13:04 +02:00
stable_mir Rollup merge of #132161 - celinval:smir-fix-indent, r=compiler-errors 2024-11-08 18:51:28 +11:00