[llvm] d4ec8ea - [InstCombine] ctpop(X) + ctpop(Y) => ctpop(X | Y) if X and Y have no common bits (PR48999)

Dávid Bolvanský via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 24 11:54:20 PDT 2021


Yeah, consider to mention this generalization here
https://bugs.llvm.org/show_bug.cgi?id=48999

so 24. 4. 2021 o 20:48 Joerg Sonnenberger <joerg at bec.de> napísal(a):
>
> On Sat, Apr 24, 2021 at 08:52:20AM -0700, Dávid Bolvanský via llvm-commits wrote:
> >
> > Author: Dávid Bolvanský
> > Date: 2021-04-24T17:52:10+02:00
> > New Revision: d4ec8ea19cb1c944f70b584b2bdb8a12ea875261
> >
> > URL: https://github.com/llvm/llvm-project/commit/d4ec8ea19cb1c944f70b584b2bdb8a12ea875261
> > DIFF: https://github.com/llvm/llvm-project/commit/d4ec8ea19cb1c944f70b584b2bdb8a12ea875261.diff
> >
> > LOG: [InstCombine] ctpop(X) + ctpop(Y) => ctpop(X | Y) if X and Y have no common bits (PR48999)
>
> Would it make sense to slightly generalize this into:
>
>   ctpop(X) + ctpop(Y) => ctpop(X|Y) - ctpop(X&Y)
>
> if X&Y is known to be constant?
>
> Joerg


More information about the llvm-commits mailing list