[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.
glisse at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Mar 16 15:30:00 GMT 2016
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)
?
More information about the Gcc-bugs
mailing list