Commit 97d6fd65 by J"orn Rennecke Committed by Joern Rennecke

* sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.

From-SVN: r19432
parent 5645adf0
Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk> Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* sh.c (sh_expand_prologue, sh_expand_epilogue): * sh.c (sh_expand_prologue, sh_expand_epilogue):
......
...@@ -922,8 +922,16 @@ gen_ashift_hi (type, n, reg) ...@@ -922,8 +922,16 @@ gen_ashift_hi (type, n, reg)
zero/sign extension. zero/sign extension.
gen_ashift_hi is only called in contexts where we know that the gen_ashift_hi is only called in contexts where we know that the
sign extension works out correctly. */ sign extension works out correctly. */
gen_ashift (type, n, gen_rtx_SUBREG (SImode, reg, 0)); {
break; int word = 0;
if (GET_CODE (reg) == SUBREG)
{
word = SUBREG_WORD (reg);
reg = SUBREG_REG (reg);
}
gen_ashift (type, n, gen_rtx_SUBREG (SImode, reg, word));
break;
}
case ASHIFT: case ASHIFT:
emit_insn (gen_ashlhi3_k (reg, reg, GEN_INT (n))); emit_insn (gen_ashlhi3_k (reg, reg, GEN_INT (n)));
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment