------- Comment #3 from hubicka at gcc dot gnu dot org 2006-08-07 10:18 ------- Hi, because of quite serve register pressure issues, I don't like much idea of GCC realocating stack transparently (it is also dificult to teach reload to decide when alignment is needed). Safe bugfix for 4.2 seems to be this: PR target/28621 * crtfastmath.c (force_align_arg_pointer): Force stack alignment. Index: config/i386/crtfastmath.c =================================================================== -u -L config/i386/crtfastmath.c (revision 115987) -L config/i386/crtfastmath.c (working copy) config/i386/.svn/text-base/crtfastmath.c.svn-base config/i386/crtfastmath.c --- config/i386/crtfastmath.c (revision 115987) +++ config/i386/crtfastmath.c (working copy) @@ -38,6 +38,9 @@ #define SSE (1 << 25)
static void __attribute__((constructor)) +#ifndef __x86_64__ +__attribute__ ((force_align_arg_pointer)) +#endif set_fast_math (void) { #ifndef __x86_64__ Does it help? Honza -- hubicka at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28621