[PATCH] D123043: [X86] Add XOR(X, MIN_SIGNED_VALUE) -> ADD(X, MIN_SIGNED_VALUE) isel patterns (PR52267)

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 4 10:28:34 PDT 2022


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86InstrCompiler.td:1529
+
+let AddedComplexity = 5 in {
+def : Pat<(xor_is_add GR8:$src1, imm:$src2),
----------------
It occurs to me you could avoid the AddedComplexity by writing

```
def : Pat<(xor GR8:$src1, 128),
          (ADD8ri GR8:$src1, 128)>;
def : Pat<(xor GR16:$src1, 32768),
          (ADD16ri GR16:$src1, 32768)>;
def : Pat<(xor GR32:$src1, 2147483648),
          (ADD32ri GR32:$src1, 2147483648)>;
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123043/new/

https://reviews.llvm.org/D123043



More information about the llvm-commits mailing list