https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251
--- Comment #5 from rguenther at suse dot de <rguenther at suse dot de> --- On Wed, 16 Mar 2016, glisse at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 > > --- Comment #4 from Marc Glisse <glisse at gcc dot gnu.org> --- > (In reply to Ilya Enkovich from comment #2) > > Here is a responsible match.pd pattern: > > > > /* A + (B vcmp C ? 1 : 0) -> A - (B vcmp C), since vector comparisons > > return all-1 or all-0 results. */ > > Since we don't simplify (x<y)?-1:0 to (x<y) anymore for vectors (on any > platform), it seems weird to keep this optimization at all. Maybe it should be > instead: > > A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0) > > ? I think that would be an odd transform. But yes, The pattern is probably dead now and can as well be removed...