rust/compiler
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
..
2024-08-11 04:16:53 +02:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-08-10 12:07:17 +02:00
2024-08-10 12:07:17 +02:00
2024-07-29 08:26:52 +10:00