diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-08-13 12:12:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-13 12:12:21 +0200 |
| commit | 00d040e50a8ab80e3f30aebcb136af8dd61715e7 (patch) | |
| tree | 9340de554975336dcb4333c01677f905589a40cf /compiler/rustc_codegen_llvm/src | |
| parent | 591ecb88dffdb0f233e2fae74fd3d7c81d65ff0c (diff) | |
| parent | 715728f546ec13fd7e59fd09eef96a15d936fc2a (diff) | |
| download | rust-00d040e50a8ab80e3f30aebcb136af8dd61715e7.tar.gz rust-00d040e50a8ab80e3f30aebcb136af8dd61715e7.zip | |
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
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions
