[llvm] [InstCombine] Fold Xor with or disjoint (PR #105992)

via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 07:36:52 PDT 2024


elhewaty wrote:

> The correct pattern should be (A | B) ^ C --> (A ^ C) ^ B: https://alive2.llvm.org/ce/z/u2vco3
The key is to treat or disjoint as xor.

Is this optimization profitable? We still have the same number of instructions, I think it depends on the target architecture if it has a special handling or if the pipelining prefers XOR.

this is just a guess.

https://github.com/llvm/llvm-project/pull/105992


More information about the llvm-commits mailing list