summaryrefslogtreecommitdiff
path: root/gcc/config/h8300/h8300.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-03 20:22:49 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-03 20:22:49 +0000
commitd3652418163f1d4851804d45971b9bd0aac1219e (patch)
tree1887089e06ca65a94032db7e19e5bf3f685f612d /gcc/config/h8300/h8300.c
parent2bae4acc54e8f37edc1d5e913c6be6f8284fe3cf (diff)
downloadgcc-d3652418163f1d4851804d45971b9bd0aac1219e.tar.gz
* h8300.c (expand_a_shift): Avoid invalid RTL sharing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139953 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/h8300/h8300.c')
-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 992c73a4c1b..4e097053109 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;