h8300.c (expand_a_shift): Avoid invalid RTL sharing.

* h8300.c (expand_a_shift): Avoid invalid RTL sharing.

From-SVN: r139953
This commit is contained in:
Jeff Law 2008-09-03 14:22:49 -06:00 committed by Jeff Law
parent 49d988e7e8
commit bc9b880c60
2 changed files with 7 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2008-09-03 Jeff Law <law@redhat.com>
* h8300.c (expand_a_shift): Avoid invalid RTL sharing.
2008-09-03 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_split_lock_test_and_set): Move

View File

@ -3659,7 +3659,7 @@ expand_a_shift (enum machine_mode mode, int code, rtx operands[])
break;
}
emit_move_insn (operands[0], operands[1]);
emit_move_insn (copy_rtx (operands[0]), operands[1]);
/* Need a loop to get all the bits we want - we generate the
code at emit time, but need to allocate a scratch reg now. */
@ -3667,9 +3667,9 @@ expand_a_shift (enum machine_mode mode, int code, rtx operands[])
emit_insn (gen_rtx_PARALLEL
(VOIDmode,
gen_rtvec (2,
gen_rtx_SET (VOIDmode, operands[0],
gen_rtx_SET (VOIDmode, copy_rtx (operands[0]),
gen_rtx_fmt_ee (code, mode,
operands[0], operands[2])),
copy_rtx (operands[0]), operands[2])),
gen_rtx_CLOBBER (VOIDmode,
gen_rtx_SCRATCH (QImode)))));
return true;