[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
addq/subq (fwd)
- Date: Mon, 2 Aug 1999 15:55:48 -0500 (CDT)
- From: joel at OARcorp.com (joel at OARcorp.com)
- Subject: 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