https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88343

Alan Modra <amodra at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amodra at gmail dot com

--- Comment #23 from Alan Modra <amodra at gmail dot com> ---
On master, something as simple as

extern int foo (int);
int f1 (int x) { return foo (x); }

compiled with -S -m32 -mbig -fpic -O2 results in a use of r30 without saving.

f1:
.LFB0:
        .cfi_startproc
        mflr 0
        .cfi_register 65, 0
        bcl 20,31,.L2
.L2:
        stwu 1,-16(1)
        .cfi_def_cfa_offset 16
        mflr 30
        addis 30,30,_GLOBAL_OFFSET_TABLE_-.L2@ha
        addi 30,30,_GLOBAL_OFFSET_TABLE_-.L2@l
        stw 0,20(1)
        .cfi_offset 65, 4
        bl foo@plt
        lwz 0,20(1)
        addi 1,1,16
        .cfi_def_cfa_offset 0
        mtlr 0
        .cfi_restore 65
        blr
        .cfi_endproc

Reply via email to