This patch teaches computeKnownBitsForTargetNode about MUL_IMM.
MUL_IMM comes up in certain select of constants. Specifically, it is
used to multiply the result of SETCC. Computing the known zero bits
of MUL_IMM allows matchAddressRecursively us to convert some OR into
ADD, which eventually becomes a part of LEA.
This patch fixes:
You can write this as ~Known2.Zero or Known2.getMaxValue(). But I agree with @craig.topper.