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: r121485
This commit is contained in:
parent
7c40d6662b
commit
9278121c0f
2 changed files with 9 additions and 2 deletions
|
@ -1,5 +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.
|
||||
|
||||
* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Don't define for
|
||||
64-bit.
|
||||
|
||||
|
|
|
@ -13392,10 +13392,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;
|
||||
|
||||
|
@ -13403,6 +13404,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;
|
||||
|
|
Loading…
Add table
Reference in a new issue