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
This commit is contained in:
Jan Beulich 2006-01-10 07:25:39 +00:00 committed by Jan Beulich
parent 345f13fecf
commit 6c23a1f24f
2 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -13363,12 +13363,15 @@ ix86_constant_alignment (tree exp, int align)
int
ix86_data_alignment (tree type, int align)
{
int max_align = optimize_size ? BITS_PER_WORD : 256;
if (AGGREGATE_TYPE_P (type)
&& TYPE_SIZE (type)
&& TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
&& (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= 256
|| TREE_INT_CST_HIGH (TYPE_SIZE (type))) && align < 256)
return 256;
&& TYPE_SIZE (type)
&& TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
&& (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= (unsigned) max_align
|| TREE_INT_CST_HIGH (TYPE_SIZE (type)))
&& align < max_align)
align = max_align;
/* x86-64 ABI requires arrays greater than 16 bytes to be aligned
to 16byte boundary. */