[PATCH] Fix PR37216 [cygming] Invalid alignment for SSE store to .comm data generated with -O3
Danny Smith
dansmister@gmail.com
Sun May 24 07:46:00 GMT 2009
On Sun, May 24, 2009 at 10:28 AM, Dave Korn
<dave.korn.cygwin@googlemail.com> wrote:
>
> Bootstrapped on i686-pc-cygwin, and verified that it fixes 48 FAILs caused
> by the gcc.dg/torture/stackalign/push-1.c test. Also verified that when you
> build it (non-bootstrap) without support in the assembler, the autoconf test
> correctly detects this and sets the target option off by default. Also read
> the generated assembly files to verify they were emitting the correct forms of
> the directive.
>
It would also be nice to test the effect of this on
testsuite/gcc.dg/compat/struct-layout-1.exp tests after
removing -fno-common switch for mingw and cygwin in
struct-layout-1_generate.c, line 49.
"/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux*
powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n",
> gcc/ChangeLog:
>
> PR target/37216
> * configure.ac (HAVE_GAS_ALIGNED_COMM): Add autoconf test and
> macro definition for support of three-operand format aligned
> .comm directive in assembler on cygwin/pe/mingw target OS.
> * configure: Regenerate.
> * config.h: Regenerate.
> * doc/invoke.texi (-mpe-aligned-commons): Document new target option.
> * config/i386/cygming.opt (-mpe-aligned-commons): Add new option.
> * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Use
> aligned form of .comm directive if -mpe-aligned-commons is in effect.
>
> If no regressions when the tests complete, OK for HEAD?
These changes are OK by me.
Danny
More information about the Gcc-patches
mailing list