E.g. in
%i0 = zext <2 x i8> to <2 x i16> %i1 = bitcast <2 x i16> to <4 x i8>
the %i0's zero bits are known to be 0xFF00 (upper half of every element is known zero),
but no elements are known to be zero, and for %i1, we don't know anything about zero bits,
but the elements under 0b1010 mask are known to be zero (i.e. the odd elements).
But, we didn't perform such a propagation.
I think i wrote that right?
SrcDemandedBits was just synthesized from the DemandedElts, so i don't see any need in checking the former?