https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70676
--- Comment #4 from night_ghost at ykoctpa dot ru --- Created attachment 38551 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38551&action=edit testcase in attachment without -no-optimize-sibling-call reported bug can be found in MinimOsd_Extra.s on lines 2424, 3249 and so on - all POP's of epilogue can be done before comparison. If GCC can't move up epilogue to that place then such optimization is not suitable for -Os because it means "in size at the expense of the rest", especially on embedded, where task - to shove an elephant into a beaker (I can not better translate Russian proverb "Впихнуть невпихнуемое")