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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu.org

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Actually I think we should do:
(simplify
 (mult:c truth_valuep@0 @1)
 (and (neg @0) @1))

Instead. What do you think?

This will catch things like:
unsigned long foo (long a, unsigned long b)
{
  unsigned long t =  a & 1;
  return t * b;
}

---- CUT ---
We can put a ! after neg if we want it to be optimized out even.

Reply via email to