On 04/24/2017 03:13 PM, Jakub Jelinek wrote:
Hi!

The following testcase ICEs, because ve->reg is a SUBREG and thus should not
be shared, but we initialize sum to ve->reg, then add to it some REGs (which
can be shared always), and finally assign the addition etc. result into
ve->reg.

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for
trunk?

2017-04-24  Jakub Jelinek  <ja...@redhat.com>

        PR rtl-optimization/80500
        * loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on
        sum's initial value.

        * gcc.dg/pr80500.c: New test.
OK with some kind of comment indicating why we need to do the copy.

Jeff

Reply via email to