Issue |
128475
|
Summary |
[InstCombine] Missed optimization: `((X + LowMask) & LowMask) ^ LowMask -> (-X) & LowMask`
|
Labels |
llvm:instcombine,
missed-optimization
|
Assignees |
|
Reporter |
dtcxzyw
|
https://godbolt.org/z/5jh59cjs7
Alive2: https://alive2.llvm.org/ce/z/BSkmbC
```
define i32 @src(i32 %x) {
%18 = add i32 %x, 63
%19 = and i32 %18, 63
%20 = xor i32 %19, 63
ret i32 %20
}
define i32 @tgt(i32 %x) {
%18 = sub i32 0, %x
%19 = and i32 %18, 63
ret i32 %19
}
```
I don't have any idea about fixing this issue in `SimplifyDemandedInstructionBits`.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs