nikic wrote: To give an example, let's say C=0 (ignoring the existing special case). Then the range for EQ will be `[0, ~Mask]`. The range for NE you would compute is `[~Mask, MAX]`, which is (very) incorrect. https://github.com/llvm/llvm-project/pull/92946