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

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-11-19
                 CC|                            |law at redhat dot com
     Ever confirmed|0                           |1

--- Comment #3 from Jeffrey A. Law <law at redhat dot com> ---
There's a variant for bclr as well.  Essentially by using &~ rather than IOR or
XOR.  That internally uses a rotate of -2 by the count to generate a mask.

We don't catch the case there A is an argument because it's coming out of
memory and it just gets too complex for the combiner to handle.

So in the end, it's 3 relatively simple patterns.  I'm not seeing hits in GCC's
runtime or newlib, but I trust Kazu enough to assume his suggestion could well
have come from a real codebase.

I'll be committing a fix shortly.

Reply via email to