http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57288
Bug ID: 57288 Summary: cfi_restore should precede cfi_def_cfa_offset Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: msharov at users dot sourceforge.net Created attachment 30122 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30122&action=edit The emitted assembly exhibiting the ordering problem This is on x86_64, compiled with -Os. In the attached assembly, line 89, .L55, .cfi_restore is emitted for ebx and ebp after .cfi_def_cfa_offset 8 already invalidated the location where they were stored. cfa_offset should be emitted after cfi_restores, as it was in the other codepaths like .LEHE0-.L51