On Wed, Dec 17, 2014 at 05:10:36AM -0800, H.J. Lu wrote:
> 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.
> --- a/gcc/config/i386/i386.opt
> +++ b/gcc/config/i386/i386.opt
> @@ -221,6 +221,23 @@ malign-stringops
> Target RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS,
> ALIGN_STRINGOPS) Save
> Align destination of the string operations
>
> +malign-data=
> +Target RejectNegative Joined Var(ix86_align_data_type) Enum(ix86_align_data)
> Init(ix86_align_data_type_compat)
> +Use the given data alignment
> +
> +Enum
> +Name(ix86_align_data) Type(enum ix86_align_data)
> +Known data alignment choices (for use with the -malign-data== option):
Only one = ?
Otherwise LGTM, but I'll defer to Uros for final ack.
Jakub