From 7dcec20aeb4fa230db85fe2bccdfa58c5707b557 Mon Sep 17 00:00:00 2001 From: bernie Date: Sun, 26 Oct 2003 22:08:07 +0000 Subject: [PATCH] * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and reg_rev_mask computation. (m68k_output_function_prologue): Fix usage of current_frame (one typo and one missing); use reg_rev_mask not reg_mask. (m68k_output_function_epilogue): Fix usage of current_frame; use fpu_rev_mask not fpu_mask. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72964 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 9 +++++++++ gcc/config/m68k/m68k.c | 14 +++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3d9ea8c..794acfd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2003-10-26 Gunther Nikl + + * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and + reg_rev_mask computation. + (m68k_output_function_prologue): Fix usage of current_frame (one typo + and one missing); use reg_rev_mask not reg_mask. + (m68k_output_function_epilogue): Fix usage of current_frame; + use fpu_rev_mask not fpu_mask. + 2003-10-26 Bernardo Innocenti * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 59bd544..64c8c9c6 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -358,8 +358,8 @@ m68k_compute_frame_layout (void) for (regno = 16; regno < 24; regno++) if (m68k_save_reg (regno, interrupt_handler)) { - mask |= 1 << (23 - regno); - rmask |= 1 << (regno - 16); + mask |= 1 << (regno - 16); + rmask |= 1 << (23 - regno); saved++; } current_frame.foffset = saved * 12 /* (TARGET_CFV4E ? 8 : 12) */; @@ -610,7 +610,7 @@ m68k_output_function_prologue (FILE *stream, HOST_WIDE_INT size ATTRIBUTE_UNUSED #ifdef MOTOROLA asm_fprintf (stream, "\tfmovm %I0x%x,-(%Rsp)\n", current_frame.fpu_mask); #else - asm_fprintf (stream, "\tfmovem %I0x%x,%Rsp@-\n", current_frmae.fpu_mask); + asm_fprintf (stream, "\tfmovem %I0x%x,%Rsp@-\n", current_frame.fpu_mask); #endif if (dwarf2out_do_frame ()) { @@ -695,9 +695,9 @@ m68k_output_function_prologue (FILE *stream, HOST_WIDE_INT size ATTRIBUTE_UNUSED else { #ifdef MOTOROLA - asm_fprintf (stream, "\tmovm.l %I0x%x,-(%Rsp)\n", current_frame.reg_mask); + asm_fprintf (stream, "\tmovm.l %I0x%x,-(%Rsp)\n", current_frame.reg_rev_mask); #else - asm_fprintf (stream, "\tmoveml %I0x%x,%Rsp@-\n", current_frame.reg_mask); + asm_fprintf (stream, "\tmoveml %I0x%x,%Rsp@-\n", current_frame.reg_rev_mask); #endif } if (dwarf2out_do_frame ()) @@ -922,7 +922,7 @@ m68k_output_function_epilogue (FILE *stream, HOST_WIDE_INT size ATTRIBUTE_UNUSED #else asm_fprintf (stream, "\tmoveml %s@(-%wd),%I0x%x\n", reg_names[FRAME_POINTER_REGNUM], - offset + fsize, + current_frame.offset + fsize, current_frame.reg_mask); #endif } @@ -1001,7 +1001,7 @@ m68k_output_function_epilogue (FILE *stream, HOST_WIDE_INT size ATTRIBUTE_UNUSED asm_fprintf (stream, "\tfmovm -%wd(%s),%I0x%x\n", current_frame.foffset + fsize, reg_names[FRAME_POINTER_REGNUM], - current_frame.fpu_mask); + current_frame.fpu_rev_mask); #else asm_fprintf (stream, "\tfmovem %s@(-%wd),%I0x%x\n", reg_names[FRAME_POINTER_REGNUM], -- 2.7.4