This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
patch applied to sh.c
- To: egcs-patches at cygnus dot com
- Subject: patch applied to sh.c
- From: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Date: Fri, 25 Sep 1998 19:35:57 +0100 (BST)
Fri Sep 25 19:30:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* sh.c (gen_shl_sext): Fix case 5.
Index: config/sh/sh.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/config/sh/sh.c,v
retrieving revision 1.137
diff -p -r1.137 sh.c
*** sh.c 1998/09/14 22:30:37 1.137
--- sh.c 1998/09/24 22:26:09
*************** gen_shl_sext (dest, left_rtx, size_rtx,
*** 1706,1713 ****
case 5:
{
int i = 16 - size;
! emit_insn (gen_shl_sext_ext (dest, source, GEN_INT (16 - insize),
! GEN_INT (16)));
/* Don't use gen_ashrsi3 because it generates new pseudos. */
while (--i >= 0)
gen_ashift (ASHIFTRT, 1, dest);
--- 1706,1721 ----
case 5:
{
int i = 16 - size;
! if (! rtx_equal_function_value_matters
! && ! reload_in_progress && ! reload_completed)
! emit_insn (gen_shl_sext_ext (dest, source, left_rtx, size_rtx));
! else
! {
! operands[0] = dest;
! operands[2] = GEN_INT (16 - insize);
! gen_shifty_hi_op (ASHIFT, operands);
! emit_insn (gen_extendhisi2 (dest, gen_lowpart (HImode, dest)));
! }
/* Don't use gen_ashrsi3 because it generates new pseudos. */
while (--i >= 0)
gen_ashift (ASHIFTRT, 1, dest);