aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/h8300
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2008-09-03 14:22:49 -0600
committerJeff Law <law@gcc.gnu.org>2008-09-03 14:22:49 -0600
commitbc9b880c6075c57c54003869d98c6a249eef7cbd (patch)
tree1887089e06ca65a94032db7e19e5bf3f685f612d /gcc/config/h8300
parent49d988e7e8164d71e73c2de5a1f1c6a2afe205a4 (diff)
downloadgcc-bc9b880c6075c57c54003869d98c6a249eef7cbd.zip
gcc-bc9b880c6075c57c54003869d98c6a249eef7cbd.tar.gz
gcc-bc9b880c6075c57c54003869d98c6a249eef7cbd.tar.bz2
h8300.c (expand_a_shift): Avoid invalid RTL sharing.
* h8300.c (expand_a_shift): Avoid invalid RTL sharing. From-SVN: r139953
Diffstat (limited to 'gcc/config/h8300')
-rw-r--r--gcc/config/h8300/h8300.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 992c73a..4e09705 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -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;