While removing a scalar shackle from an icmp fold, I noticed that I couldn't find any tests to trigger this code path.
The 'and' shrinking transform should be handled by InstCombiner::foldCastedBitwiseLogic() or eliminated with InstSimplify. The icmp narrowing is part of InstCombiner::foldICmpWithCastAndCast().