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

Reply via email to