rust/compiler/rustc_target/src
Matthias Krüger 00d040e50a
Rollup merge of #128643 - beetrees:ppc64-abi-fix, r=bjorn3
Refactor `powerpc64` call ABI handling

As the [specification](https://openpowerfoundation.org/specifications/64bitelfabi/) for the ELFv2 ABI states that returned aggregates are returned like arguments as long as they are at most two doublewords, I've merged the `classify_arg` and `classify_ret` functions to reduce code duplication. The only functional change is to fix #128579: the `classify_ret` function was incorrectly handling aggregates where `bits > 64 && bits < 128`. I've used the aggregate handling implementation from `classify_arg` which doesn't have this issue.

`@awilfox` could you test this on `powerpc64-unknown-linux-musl`? I'm only able to cross-test on `powerpc64-unknown-linux-gnu` and `powerpc64le-unknown-linux-gnu` locally at the moment, and as a tier 3 target `powerpc64-unknown-linux-musl` has zero CI coverage.

Fixes: #128579
2024-08-13 12:12:21 +02:00
..
abi Refactor powerpc64 call ABI handling 2024-08-11 14:11:17 +01:00
asm Reformat use declarations. 2024-07-29 08:26:52 +10:00
spec Rollup merge of #128978 - compiler-errors:assert-matches, r=jieyouxu 2024-08-12 17:09:19 +02:00
json.rs Add metadata to targets 2024-03-10 20:46:08 +01:00
lib.rs Update std and compiler 2024-08-10 12:07:17 +02:00
target_features.rs Fix typo 2024-08-07 00:43:56 -04:00
tests.rs Use serde_json for target spec json 2022-06-03 16:46:19 +00:00