[Bug target/61296] New: Excessive alignment in ix86_data_alignment

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri May 23 16:49:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61296

            Bug ID: 61296
           Summary: Excessive alignment in ix86_data_alignment
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
            Target: x86

ix86_data_alignment was introduced by

https://gcc.gnu.org/ml/gcc-patches/2000-06/msg00871.html

It aligns struct larger than 32 bytes to 32 bytes. This change

https://gcc.gnu.org/ml/gcc-patches/2001-03/msg01356.html

aligns struct/union/array bigger than 16 bytes to 16 bytes, which
causes PR 56564 and leads to DATA_ABI_ALIGNMENT.  When OPT is false,
ix86_data_alignment may return alignment bigger than ABI required.
It happens when the references is bound to the current definition.
It improves the performance when data can be accessed with the biggest
alignment.  If data is aligned bigger than the biggest alignment, we
may not get performance benefit while wasting alignment padding.



More information about the Gcc-bugs mailing list