Commit 298ac1dd by Andrew Pinski Committed by Andrew Pinski

rs6000.c (compute_save_world_info): Set lr_save_p if we are going to "save the world".

2008-04-12  Andrew Pinski  <pinskia@gmail.com>

        * config/rs6000/rs6000.c (compute_save_world_info): Set lr_save_p if
        we are going to "save the world".


2008-04-12  Andrew Pinski  <pinskia@gmail.com>

        * gcc.target/powerpc/darwin-save-world-1.c: New test.

From-SVN: r134237
parent 70a7c7f1
2008-04-12 Andrew Pinski <pinskia@gmail.com>
* config/rs6000/rs6000.c (compute_save_world_info): Set lr_save_p if
we are going to "save the world".
2008-04-13 Hans-Peter Nilsson <hp@axis.com>
* config/cris/cris.md ("*andhi_lowpart_non_v32", "*andhi_lowpart_v32")
......
......@@ -14258,6 +14258,9 @@ compute_save_world_info (rs6000_stack_t *info_ptr)
will attempt to save it. */
info_ptr->vrsave_size = 4;
/* If we are going to save the world, we need to save the link register too. */
info_ptr->lr_save_p = 1;
/* "Save" the VRsave register too if we're saving the world. */
if (info_ptr->vrsave_mask == 0)
info_ptr->vrsave_mask = compute_vrsave_mask ();
......
2008-04-12 Andrew Pinski <pinskia@gmail.com>
* gcc.target/powerpc/darwin-save-world-1.c: New test.
2008-04-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/35869
/* { dg-do run { target powerpc*-*-* } } */
/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* With altivec turned on, Darwin wants to save the world but we did not mark lr as being saved any more
as saving the lr is not needed for saving altivec registers. */
int main (void)
{
__label__ l1;
void __attribute__((used)) q(void)
{
goto l1;
}
l1:;
return 0;
}
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