[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