On Fri, Feb 26, 2016 at 12:08 AM, Richard Henderson <r...@redhat.com> wrote: > It's the simplify-rtx.c portion of the patch that fixes the i686 regression. > > In the PR, Alan raises some good points, but I don't believe that we can > address those for gcc6. A new rtl reassoc optimization that takes loop > invariance into account will have to wait. > > But we do need to take care of the rs6000 ice that results, and that's the > bulk of the patch -- allowing CA to be sorted to any register of the plus > chain. > > Some notes: > > ca_operand doesn't work as written, since CA_REGNO is not an available > register, and thus doesn't satisfy register_operand. > > Is there any particular reason that subf<>3_carry_in_m1 was written with > minus rather than plus like all of the other patterns?
Segher wrote the rs6000 carry infrastructure, so he's the best one to comment. - David