i386: Do not align small stack slots to 16 bytes
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 7 Mar 2017 11:53:32 +0000 (12:53 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 7 Mar 2017 11:53:32 +0000 (12:53 +0100)
commit2413298e2df06c6013fb5533b7e01d6bdb38e4c7
treeeef07105615dd38f69e663f083a633dc4165891e
parentc242d6154c5969ee742f03eaf32a12b8362d7f90
i386: Do not align small stack slots to 16 bytes

As Shmuel reported in <https://gcc.gnu.org/ml/gcc-help/2017-03/msg00009.html>,
on x86-64 small structures in automatic storage are aligned to 16 bytes.
This seems to be because of a mix-up between bits and bytes in the i386
target code.

* config/i386/i386.c (ix86_local_alignment): Align most aggregates
of 16 bytes and more to 16 bytes, not those of 16 bits and more.

From-SVN: r245949
gcc/ChangeLog
gcc/config/i386/i386.c