Patch from Bob Manson.
authorBob Manson <manson@charmed.cygnus.com>
Fri, 15 May 1998 17:44:21 +0000 (17:44 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 15 May 1998 17:44:21 +0000 (10:44 -0700)
* config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
to an 8-byte boundary if info_ptr->fpmem_p.

From-SVN: r19780

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 05787f8ae5251f42b046d787d1d9e0f9ddf021a3..1cb532e3ce9636cb38f54b6108473f534c9486a1 100644 (file)
@@ -1,3 +1,8 @@
+Fri May 15 17:42:52 1998  Bob Manson  <manson@charmed.cygnus.com>
+
+       * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
+       to an 8-byte boundary if info_ptr->fpmem_p.
+
 Fri May 15 17:36:11 1998  Bill Moyer <ttk@cygnus.com>
 
         * loop.c (basic_induction_var): Added test preventing
index d0663d7a65bbbb0f19b32216e2d00b119620c652..635054fb015cf7569f6a5dd92bd0b9b438c62aa0 100644 (file)
@@ -3205,6 +3205,13 @@ rs6000_stack_info ()
        info_ptr->cr_size = reg_size;
     }
 
+  /* Ensure that fp_save_offset will be aligned to an 8-byte boundary. */
+  if (info_ptr->fpmem_p)
+    {
+      info_ptr->gp_size = RS6000_ALIGN (info_ptr->gp_size, 8);
+      info_ptr->main_size = RS6000_ALIGN (info_ptr->main_size, 8);
+    }
+
   /* Determine various sizes */
   info_ptr->reg_size     = reg_size;
   info_ptr->fixed_size   = RS6000_SAVE_AREA;