diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-03 20:22:49 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-03 20:22:49 +0000 |
commit | d3652418163f1d4851804d45971b9bd0aac1219e (patch) | |
tree | 1887089e06ca65a94032db7e19e5bf3f685f612d /gcc/config/h8300/h8300.c | |
parent | 2bae4acc54e8f37edc1d5e913c6be6f8284fe3cf (diff) | |
download | gcc-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.c | 6 |
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; |