[Bug target/77439] [6/7 regression] wrong code for sibcall with longcall, APCS frame and VFP

rearnsha at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Sep 2 09:33:00 GMT 2016


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

Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-09-02
     Ever confirmed|0                           |1

--- Comment #2 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
I'm not sure why the epilogue generates this sequence.  For this particular
instance we could generate

        sub     sp, fp, #36
        vldm    sp!, {d8}
        ldmfd   sp, {r4, r5, r6, r7, fp, sp, lr}
        bx      ip

And save an instruction as well as keeping IP clear, but I've not looked to see
if there are other complications that prevent this in the more general case.

Note that
         ldmfd   sp, {r4, r5, r6, r7, fp, sp, lr}

has been deprecated in the ARM Architecture and so -mapcs-frame is consequently
also deprecated.


More information about the Gcc-bugs mailing list