https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116120

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---

That is:
```
v4si f3(v4si a, v4si b, v4si c, v4si d, v4si e, v4si f) {
  v4si X = a == b;
  v4si Y = c == d;
  return ((X^Y) & (e != f)) ? {-1,...} : {0};
}
```
is what we should produce. Note this is still better code generation than the
original with `?:`. And for the constant case `e != f` will be reduced to 0/-1
just fine.

Reply via email to