[llvm] [X86] Invert (and X, ~(and ~Y, Z)) back into (and X, (or Y, ~Z)) (PR #109215)

Miguel Saldivar via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 21 14:36:36 PDT 2024


Saldivarcher wrote:

@bgra8 actually it looks like this commit fixes the issue:
```
commit ec78f0da0e9b1b8e2b2323e434ea742e272dd913
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date:   Tue Oct 15 16:54:08 2024 +0100

    [X86] combineAndNotOrIntoAndNotAnd - don't attempt with constant operands
    
    Don't fold AND(X,OR(NOT(Z),C)) -> AND(X,NOT(AND(Z,C'))) as DAGCombiner will invert it back again.
    
    Fixes #112347 
```

Can you give it a try?

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


More information about the llvm-commits mailing list