diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5b91b86..6c853e9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2016-11-30 Jakub Jelinek <jakub@redhat.com> + * config/i386/i386.c (dimode_scalar_chain::convert_op): Avoid + sharing the SUBREG rtx between move and following insn. + * ira.c (ira_update_equiv_info_by_shuffle_insn): Use copy_rtx for REG_EQUIV argument. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 5018ccb..a5f5339 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3723,7 +3723,7 @@ dimode_scalar_chain::convert_op (rtx *op, rtx_insn *insn) emit_insn_before (seq, insn); } - emit_insn_before (gen_move_insn (tmp, vec_cst), insn); + emit_insn_before (gen_move_insn (copy_rtx (tmp), vec_cst), insn); *op = tmp; } else |