https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115478
Richard Sandiford <rsandifo at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rsandifo at gcc dot gnu.org --- Comment #5 from Richard Sandiford <rsandifo at gcc dot gnu.org> --- How about adding a new match_operator predicate to common.md for this kind of situation? It would be nice if it could automatically detect when the two operands have no nonzero bits in common, but doing that would need some refactoring of the nonzero_bits code, to ensure that the predicate gives a consistent result (and does that without polluting the current nonzero_bits cache). In the meantime, it might be enough to say that the insn must enforce the non-overlapping bits check itself.