------- 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