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.