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

--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #9)
> Created attachment 55728 [details]
> Fixes part of this
> 
> This patch does 2 things which I will split out.
> First is it creates COND_NOT like COND_NEG to allow better code generation
> earlier on.
> 
> Next it simplifies:
> vector `(a ? -1 : 0) ^ b` -> `a ? ~b : b` as there might be a conditional
> not.
> 
> That fixes the case where the types are the same. Still need to fix up the
> case where the types are different.

The second part is really enough to fix that. The COND_NOT just improves the
situtation ...

Reply via email to