]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/i386/i386.h
re PR target/39137 (-mpreferred-stack-boundary=2 causes lots of dynamic realign)
authorJakub Jelinek <jakub@redhat.com>
Wed, 11 Mar 2009 21:12:33 +0000 (22:12 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 11 Mar 2009 21:12:33 +0000 (22:12 +0100)
commit9bfaf89d4f07272d60824efcbcbdb2d7f1dd4d6e
treeaac00dcd74a4bb14c38abd88b8fbe9ad9b4c2d6b
parent8a9ceef2cc5783e9920cb48e8eb68c21c9244a29
re PR target/39137 (-mpreferred-stack-boundary=2 causes lots of dynamic realign)

PR target/39137
* cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT
macro.
* defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
* config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
* config/i386/i386.c (ix86_local_alignment): For
-m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
long long variables on the stack to avoid dynamic realignment.
Allow the first argument to be a decl rather than type.
* doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.

* gcc.target/i386/stackalign/longlong-1.c: New test.
* gcc.target/i386/stackalign/longlong-2.c: New test.

From-SVN: r144792
gcc/ChangeLog
gcc/cfgexpand.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/defaults.h
gcc/doc/tm.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/stackalign/longlong-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/stackalign/longlong-2.c [new file with mode: 0644]