https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122616
--- Comment #1 from Daniel Henrique Barboza <dbarboza at ventanamicro dot com> --- Hi, I sent a patch to the ML fixing both this and 122615. To fix 122615 the match.pd ended up being generic and it affected this bug as well, i.e. we're not just handling: x&1 ? (x-1): (x|1) -> x ^ 1 but x&a ? (x-a): (x|a) -> x ^ 1 , if popcount (a) == 1
