http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53038
Bug #: 53038 Summary: cfi_restore for cr before cr is actually restored Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: amo...@gmail.com void s_c (void) { char a[33]; __asm __volatile ("#%0" : "=m" (a) : : "cr2"); } compiled with -m32 -O2 -g gives this epilogue lwz 12,76(1) addi 1,1,80 .cfi_restore 70 .cfi_def_cfa_offset 0 mtcrf 32,12 blr