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

--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #11)
> Am I missing something here?

I don't think so.

Most likely should combine the 2 patterns too like:

(for neeq (ne eq)
 (simplify
  (mult:c (convert? (neeq (bit_ior:c @0 @1) integer_zerop@2)) @0)
  (if (neeq == EQ_EXPR)
   { build_zero_cst (type); }
   @0)))


But nothing else. Then again that would solve the simplified `(a | b) !=/== 0`
case but not the `(a | b | c | d) !=/== 0` case maybe that is ok for now not to
solve.

Reply via email to