rs6000.c (rs6000_stack_info): Correct altivec_padding_size calculation on AIX.

* config/rs6000/rs6000.c (rs6000_stack_info): Correct
	altivec_padding_size calculation on AIX.  Improve comment, add
	assert to verify that it's right.

From-SVN: r121486
This commit is contained in:
Geoffrey Keating
2007-02-02 01:49:35 +00:00
committed by Geoffrey Keating
parent f06523d34b
commit bb53e71d6a
2 changed files with 11 additions and 2 deletions

View File

@@ -1,3 +1,9 @@
2007-02-01 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/rs6000.c (rs6000_stack_info): Correct
altivec_padding_size calculation on AIX. Improve comment, add
assert to verify that it's right.
2007-01-31 Anatoly Sokolov <aesok@post.ru>
PR target/19087

View File

@@ -13127,10 +13127,11 @@ rs6000_stack_info (void)
info_ptr->vrsave_save_offset
= info_ptr->gp_save_offset - info_ptr->vrsave_size;
/* Align stack so vector save area is on a quadword boundary. */
/* Align stack so vector save area is on a quadword boundary.
The padding goes above the vectors. */
if (info_ptr->altivec_size != 0)
info_ptr->altivec_padding_size
= (-info_ptr->vrsave_save_offset) % 16;
= info_ptr->vrsave_save_offset & 0xF;
else
info_ptr->altivec_padding_size = 0;
@@ -13138,6 +13139,8 @@ rs6000_stack_info (void)
= info_ptr->vrsave_save_offset
- info_ptr->altivec_padding_size
- info_ptr->altivec_size;
gcc_assert (info_ptr->altivec_size == 0
|| info_ptr->altivec_save_offset % 16 == 0);
/* Adjust for AltiVec case. */
info_ptr->ehrd_offset = info_ptr->altivec_save_offset - ehrd_size;