The ThreadBinOpOverPHI routine attempts to detect loop-invariant values
by ignoring a PHI node input that equals the PHI node itself.
However, we can accept a slightly more general case: if we perform
some operation on the PHI node, and the result of that operation on
the PHI input equals the operation performed on the PHI node itself,
the result of the operation is loop invariant (even if the PHI node
itself is not), and we can still do the simplifcation.
See the attached test case for an example, where "phi & -256" is
loop invariant and can be simplified even though phi itself is not.