Commit 6c23a1f2 by Jan Beulich Committed by Jan Beulich

i386.c (ix86_data_alignment): Don't force alignment to 256 bits when optimize_size.

2006-01-10  Jan Beulich  <jbeulich@novell.com>

	* config/i386/i386.c (ix86_data_alignment): Don't force alignment to
	256 bits when optimize_size.

From-SVN: r109537
parent 345f13fe
2006-01-10 Jan Beulich <jbeulich@novell.com> 2006-01-10 Jan Beulich <jbeulich@novell.com>
* config/i386/i386.c (ix86_data_alignment): Don't force alignment to
256 bits when optimize_size.
2006-01-10 Jan Beulich <jbeulich@novell.com>
* config/i386/netware.h (TARGET_SUBTARGET_DEFAULT): Include * config/i386/netware.h (TARGET_SUBTARGET_DEFAULT): Include
MASK_ALIGN_DOUBLE. MASK_ALIGN_DOUBLE.
* config/i386/nwld.h (LINK_SPEC): Add --extensions:GNU option. * config/i386/nwld.h (LINK_SPEC): Add --extensions:GNU option.
......
...@@ -13363,12 +13363,15 @@ ix86_constant_alignment (tree exp, int align) ...@@ -13363,12 +13363,15 @@ ix86_constant_alignment (tree exp, int align)
int int
ix86_data_alignment (tree type, int align) ix86_data_alignment (tree type, int align)
{ {
int max_align = optimize_size ? BITS_PER_WORD : 256;
if (AGGREGATE_TYPE_P (type) if (AGGREGATE_TYPE_P (type)
&& TYPE_SIZE (type) && TYPE_SIZE (type)
&& TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
&& (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= 256 && (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= (unsigned) max_align
|| TREE_INT_CST_HIGH (TYPE_SIZE (type))) && align < 256) || TREE_INT_CST_HIGH (TYPE_SIZE (type)))
return 256; && align < max_align)
align = max_align;
/* x86-64 ABI requires arrays greater than 16 bytes to be aligned /* x86-64 ABI requires arrays greater than 16 bytes to be aligned
to 16byte boundary. */ to 16byte boundary. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment