Skip to content

Conversation

taiki-e
Copy link
Member

@taiki-e taiki-e commented Nov 5, 2024

This was considered an unresolved question in #131341, but according to the ABI document published in 2011 by Power.org the current implementation is fine as-is.
#131341 (comment)

According to Power Architecture 32-bit Application Binary Interface Supplement 1.0 - Linux & Embedded published in 2011, PPC32 has the same convention here as PPC64.

Therefore, we can just remove the FIXME comment here.

r? workingjubilee

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 5, 2024
Comment on lines -1141 to -1142
// FIXME: PPC32 SysV ABI does not mention vector registers processing.
// https://refspecs.linuxfoundation.org/elf/elfspec_ppc.pdf
Copy link
Member

@jieyouxu jieyouxu Nov 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: can you replace this with the link in the PR description? Can't hurt to have some useful links here :3 (unless this is already linked in the module)

Copy link
Member Author

@taiki-e taiki-e Nov 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added links (there are six links).

// Refs:
// - PPC32 SysV: "3.2. Function Calling Sequence" in Power Architecture® 32-bit Application Binary Interface Supplement 1.0 - Linux® & Embedded
// https://web.archive.org/web/20120608163804/https://www.power.org/resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Unified.pdf
// - PPC64 ELFv1: "3.2. Function Calling Sequence" in 64-bit PowerPC ELF Application Binary Interface Supplement 1.9
// https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-CALL
// - PPC64 ELFv2: "2.2 Function Calling Sequence" in 64-Bit ELF V2 ABI Specification: Power Architecture, Revision 1.5
// https://openpowerfoundation.org/specifications/64bitelfabi/
// - AIX:
// - Register usage and conventions
// https://www.ibm.com/docs/en/aix/7.3?topic=overview-register-usage-conventions
// - Special registers in the PowerPC®
// https://www.ibm.com/docs/en/aix/7.3?topic=overview-special-registers-in-powerpc
// - AIX vector programming
// https://www.ibm.com/docs/en/aix/7.3?topic=concepts-aix-vector-programming

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's very nice, thank you!

@jieyouxu jieyouxu added the O-PowerPC Target: PowerPC processors label Nov 7, 2024
@jieyouxu
Copy link
Member

jieyouxu commented Nov 7, 2024

Thanks!

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Nov 7, 2024

📌 Commit e2d5031 has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 7, 2024
@jieyouxu jieyouxu assigned jieyouxu and unassigned workingjubilee Nov 7, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 7, 2024
…iaskrgr

Rollup of 4 pull requests

Successful merges:

 - rust-lang#132638 (Remove fixme comment about clobber_abi on PowerPC)
 - rust-lang#132726 (Remove unused intercrate dependencies)
 - rust-lang#132729 (Make fn_abi_sanity_check a bit stricter)
 - rust-lang#132734 ( remove 'platform-intrinsic' ABI leftovers)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 27c1934 into rust-lang:master Nov 7, 2024
6 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Nov 7, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 7, 2024
Rollup merge of rust-lang#132638 - taiki-e:ppc-asm-fixme, r=jieyouxu

Remove fixme comment about clobber_abi on PowerPC

This was considered an unresolved question in rust-lang#131341, but according to the ABI document published in 2011 by Power.org the current implementation is fine as-is.
rust-lang#131341 (comment)

> According to [Power Architecture 32-bit Application Binary Interface Supplement 1.0 - Linux & Embedded](https://web.archive.org/web/20120608163804/https://www.power.org/resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Unified.pdf) published in 2011, PPC32 has the same convention here as PPC64.
>
> Therefore, we can just remove the FIXME comment here.

r? workingjubilee
@taiki-e taiki-e deleted the ppc-asm-fixme branch November 8, 2024 01:39
mati865 pushed a commit to mati865/rust that referenced this pull request Nov 12, 2024
…iaskrgr

Rollup of 4 pull requests

Successful merges:

 - rust-lang#132638 (Remove fixme comment about clobber_abi on PowerPC)
 - rust-lang#132726 (Remove unused intercrate dependencies)
 - rust-lang#132729 (Make fn_abi_sanity_check a bit stricter)
 - rust-lang#132734 ( remove 'platform-intrinsic' ABI leftovers)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-PowerPC Target: PowerPC processors S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants