[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

addq/subq (fwd)



This diff is reversed but it fixes a known cpu32 code generation problem
that slipped into gcc 2.95.  It will be in 2.95.1.

---------- Forwarded message ----------
Date: Mon, 2 Aug 1999 15:01:18 +0100
From: David Fiddes <D.J.Fiddes at hw.ac.uk>
To: joel at OARcorp.com
Cc: DJF-at-home <D.J at fiddes.surfaid.org>
Subject: RE: addq/subq (fwd)

Hi,

Thanks for forwarding that on... I should have double checked the EGCS bugs
list first though. The message was posted on the 19th and I'm sure I found
it on the 24th or something....damn.

I should have elaborated a bit further too... I found the offending line in
the md but couldn't see anything obviously wrong with it...

> Jeff is very stressed out with the release.

Yeah....seems to have been a pretty tough one. I really shouldn't complain
about lack of time....

Here's the patch for your gcc-2.95-rtems.diff ;)

Dave

*** gcc/config/m68k/m68k.c	Mon Jul 19 20:50:47 1999
--- gcc/config/m68k/m68k.c.original	Mon Jul 19 20:49:57 1999
*************** output_function_prologue (stream, size)
*** 243,252 ****
  	      /* asm_fprintf() cannot handle %. */
  #ifdef MOTOROLA
  	      asm_fprintf (stream, "\tsubq.w %0I8,%Rsp\n\tsubq.w %0I%d,%Rsp\n",
! 			   fsize - 4);
  #else
  	      asm_fprintf (stream, "\tsubqw %0I8,%Rsp\n\tsubqw %0I%d,%Rsp\n",
! 			   fsize - 4);
  #endif
  	    }
  	  else
--- 243,252 ----
  	      /* asm_fprintf() cannot handle %. */
  #ifdef MOTOROLA
  	      asm_fprintf (stream, "\tsubq.w %0I8,%Rsp\n\tsubq.w %0I%d,%Rsp\n",
! 			   fsize + 4);
  #else
  	      asm_fprintf (stream, "\tsubqw %0I8,%Rsp\n\tsubqw %0I%d,%Rsp\n",
! 			   fsize + 4);
  #endif
  	    }
  	  else
*************** output_function_epilogue (stream, size)
*** 793,802 ****
  	  /* asm_fprintf() cannot handle %. */
  #ifdef MOTOROLA
  	  asm_fprintf (stream, "\taddq.w %0I8,%Rsp\n\taddq.w %0I%d,%Rsp\n",
! 		       fsize - 4);
  #else
  	  asm_fprintf (stream, "\taddqw %0I8,%Rsp\n\taddqw %0I%d,%Rsp\n",
! 		       fsize - 4);
  #endif
  	}
        else
--- 793,802 ----
  	  /* asm_fprintf() cannot handle %. */
  #ifdef MOTOROLA
  	  asm_fprintf (stream, "\taddq.w %0I8,%Rsp\n\taddq.w %0I%d,%Rsp\n",
! 		       fsize + 4);
  #else
  	  asm_fprintf (stream, "\taddqw %0I8,%Rsp\n\taddqw %0I%d,%Rsp\n",
! 		       fsize + 4);
  #endif
  	}
        else