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

--- Comment #4 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Richard Biener from comment #2)
> Confirmed.  Watch out for (v4sf)~a though.  Note there's
> ~(v4si)(a ^ b) to be considered - outer not and inner bitops which could
> be combined (likewise inner not and outer bitops).  

It seems we prefer out not.

/* Otherwise prefer ~(X ^ Y) to ~X ^ Y as more canonical.  */
(simplify
 (bit_xor:c (nop_convert?:s (bit_not:s @0)) @1)
 (if (tree_nop_conversion_p (type, TREE_TYPE (@0)))
  (bit_not (bit_xor (view_convert @0) @1))))

Reply via email to