Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [NFC][InstCombine] '(X & (- Y)) - X' -> '- (X & (Y - 1))' fold (PR44448) | Roman Lebedev | 2020-01-03 | 1 | -12/+12 |
| | | | | | | | | | | | | | | | | | | | | | Name: (X & (- Y)) - X -> - (X & (Y - 1)) (PR44448) %negy = sub i8 0, %y %unbiasedx = and i8 %negy, %x %r = sub i8 %unbiasedx, %x => %ymask = add i8 %y, -1 %xmasked = and i8 %ymask, %x %r = sub i8 0, %xmasked https://rise4fun.com/Alive/OIpla This decreases use count of %x, may allow us to later hoist said negation even further, and results in marginally nicer X86 codegen. See https://bugs.llvm.org/show_bug.cgi?id=44448 https://reviews.llvm.org/D71499 | ||||
* | [NFC][InstCombine] '(X & (- Y)) - X' pattern tests (PR44448) | Roman Lebedev | 2020-01-03 | 1 | -0/+158 |
As discussed in https://bugs.llvm.org/show_bug.cgi?id=44448, we can hoist negation out of the pattern. |