http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52221
--- Comment #10 from Kai Tietz <ktietz at gcc dot gnu.org> 2012-02-16 20:37:28 UTC --- I see here three issues about this patch. First, you don't treat stack-alignment. Second, why you emulate here stack-argument cleanup for ret __size-4? Why not stick to already present variant? Thirs, you corrupt arguments after the second. That this patch works for you might be true, but it is for sure in general wrong.