From 7bbc950b362cb825a54bb9da3dc06b29a1c68fbe Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 30 Nov 2016 14:02:07 +0100 Subject: [PATCH] i386.c (dimode_scalar_chain::convert_op): Avoid sharing the SUBREG rtx between move and following insn. * config/i386/i386.c (dimode_scalar_chain::convert_op): Avoid sharing the SUBREG rtx between move and following insn. From-SVN: r243018 --- gcc/ChangeLog | 3 +++ gcc/config/i386/i386.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5b91b860c54a..6c853e90b830 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2016-11-30 Jakub Jelinek + * 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 5018ccb633ae..a5f5339be67e 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 -- 2.47.2