Skip to content

Commit 27c1934

Browse files
authored
Rollup merge of #132638 - taiki-e:ppc-asm-fixme, r=jieyouxu
Remove fixme comment about clobber_abi on PowerPC 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](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
2 parents 3d1dba8 + e2d5031 commit 27c1934

File tree

1 file changed

+15
-2
lines changed
  • compiler/rustc_target/src/asm

1 file changed

+15
-2
lines changed

compiler/rustc_target/src/asm/mod.rs

+15-2
Original file line numberDiff line numberDiff line change
@@ -1128,6 +1128,21 @@ impl InlineAsmClobberAbi {
11281128
},
11291129
InlineAsmClobberAbi::PowerPC => clobbered_regs! {
11301130
PowerPC PowerPCInlineAsmReg {
1131+
// Refs:
1132+
// - PPC32 SysV: "3.2. Function Calling Sequence" in Power Architecture® 32-bit Application Binary Interface Supplement 1.0 - Linux® & Embedded
1133+
// https://web.archive.org/web/20120608163804/https://www.power.org/resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Unified.pdf
1134+
// - PPC64 ELFv1: "3.2. Function Calling Sequence" in 64-bit PowerPC ELF Application Binary Interface Supplement 1.9
1135+
// https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-CALL
1136+
// - PPC64 ELFv2: "2.2 Function Calling Sequence" in 64-Bit ELF V2 ABI Specification: Power Architecture, Revision 1.5
1137+
// https://openpowerfoundation.org/specifications/64bitelfabi/
1138+
// - AIX:
1139+
// - Register usage and conventions
1140+
// https://www.ibm.com/docs/en/aix/7.3?topic=overview-register-usage-conventions
1141+
// - Special registers in the PowerPC®
1142+
// https://www.ibm.com/docs/en/aix/7.3?topic=overview-special-registers-in-powerpc
1143+
// - AIX vector programming
1144+
// https://www.ibm.com/docs/en/aix/7.3?topic=concepts-aix-vector-programming
1145+
11311146
// r0, r3-r12
11321147
r0,
11331148
r3, r4, r5, r6, r7,
@@ -1138,8 +1153,6 @@ impl InlineAsmClobberAbi {
11381153
f8, f9, f10, f11, f12, f13,
11391154

11401155
// v0-v19
1141-
// FIXME: PPC32 SysV ABI does not mention vector registers processing.
1142-
// https://refspecs.linuxfoundation.org/elf/elfspec_ppc.pdf
11431156
v0, v1, v2, v3, v4, v5, v6, v7,
11441157
v8, v9, v10, v11, v12, v13, v14,
11451158
v15, v16, v17, v18, v19,

0 commit comments

Comments
 (0)