http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50251
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ebotcazou at gcc dot | |gnu.org --- Comment #17 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-09-03 09:47:08 UTC --- > This patch sets need_drap when a stack_restore is present at expand, which > allows both the 20010209-1.c and the stack-stave-restore.c testcase to > succeed: > ... > Index: src/gcc-mainline/gcc/explow.c > =================================================================== > --- src/gcc-mainline/gcc/explow.c (revision 178379) > +++ src/gcc-mainline/gcc/explow.c (working copy) > @@ -1062,6 +1062,9 @@ emit_stack_restore (enum save_level save > /* The default is that we use a move insn. */ > rtx (*fcn) (rtx, rtx) = gen_move_insn; > > + if (SUPPORTS_STACK_ALIGNMENT) > + crtl->need_drap = true; > + > /* See if this machine has anything special to do for this kind of save. > */ > switch (save_level) > { > ... Does this force stack realignment, or only the use of the DRAP if we already do stack realignment?