[Bug target/61296] Excessive alignment in ix86_data_alignment

hjl at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 17 14:23:00 GMT 2014


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

--- Comment #16 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Wed Dec 17 14:22:57 2014
New Revision: 218818

URL: https://gcc.gnu.org/viewcvs?rev=218818&root=gcc&view=rev
Log:
Add -malign-data={abi|compat|cachineline}

Add -malign-data={abi|compat,cachineline} to control how GCC aligns
variables.  "compat" uses increased alignment value compatible with
GCC 4.8 and earlier, "abi" uses alignment value as specified by the
psABI, and "cacheline" uses increased alignment value to match the
cache line size.  "compat" is the default.

gcc/

    PR target/61296
    * config/i386/i386-opts.h (ix86_align_data): New enum.
    * config/i386/i386.c (ix86_data_alignment): Return the ABI
    alignment value for -malign-data=abi, the cachine line size
    for -malign-data=cachineline and the older GCC compatible
    alignment value for for -malign-data=compat.
    * config/i386/i386.opt (malign-data=): New.
    * doc/invoke.texi: Document -malign-data=.

gcc/testsuite/

    PR target/61296
    * gcc.target/i386/pr61296-2.c: New.
    * gcc.target/i386/pr61296-2.c: Likewise.
    * gcc.target/i386/pr61296-3.c: Likewise.
    * gcc.target/i386/pr61296-4.c: Likewise.
    * gcc.target/i386/pr61296-5.c: Likewise.
    * gcc.target/i386/pr61296-6.c: Likewise.
    * gcc.target/i386/pr61296-7.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr61296-1.c
    trunk/gcc/testsuite/gcc.target/i386/pr61296-2.c
    trunk/gcc/testsuite/gcc.target/i386/pr61296-3.c
    trunk/gcc/testsuite/gcc.target/i386/pr61296-4.c
    trunk/gcc/testsuite/gcc.target/i386/pr61296-5.c
    trunk/gcc/testsuite/gcc.target/i386/pr61296-6.c
    trunk/gcc/testsuite/gcc.target/i386/pr61296-7.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386-opts.h
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.opt
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-bugs mailing list