[Bug target/88343] [7/8/9 Regression] R31 is unconditionally saved/restored on powerpc-darwin even when it's not necessary.
iains at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 3 21:43:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88343
Iain Sandoe <iains at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|powerpc-darwin |powerpc-darwin,
| |powerpc-linux-gnu
--- Comment #3 from Iain Sandoe <iains at gcc dot gnu.org> ---
actually, m32 powerpc-linux-gnu seems affected too.
The only change that the commit causing this introduced was makrking the
picbase as non-copyable.
-----
$ echo "void foo (void) {} " | ./gcc/xgcc -Bgcc -x c - -S -o t.s -O2 -fPIC
-fomit-frame-pointer -m32
$ more t.s
.file ""
.machine power4
.section ".text"
.align 2
.p2align 4,,15
.globl foo
.type foo, @function
foo:
.LFB0:
.cfi_startproc
stwu 1,-16(1)
.cfi_def_cfa_offset 16
stw 30,8(1)
.cfi_offset 30, -8
ori 2,2,0
lwz 30,8(1)
addi 1,1,16
.cfi_restore 30
.cfi_def_cfa_offset 0
blr
.cfi_endproc
.LFE0:
.size foo,.-foo
.ident "GCC: (GNU) 9.0.0 20181203 (experimental) [trunk revision
266733]"
.section .note.GNU-stack,"",@progbits
More information about the Gcc-bugs
mailing list