[InstSimplify] allow vector folds for (Pow2C << X) == NonPow2C
Existing pre-conditions seem to be correct:
https://rise4fun.com/Alive/lCLB
Name: non-zero C1
Pre: !isPowerOf2(C1) && isPowerOf2(C2) && C1 != 0
%sub = shl i8 C2, %X
%cmp = icmp eq i8 %sub, C1
=>
%cmp = false
Name: one == C2
Pre: !isPowerOf2(C1) && isPowerOf2(C2) && C2 == 1
%sub = shl i8 C2, %X
%cmp = icmp eq i8 %sub, C1
=>
%cmp = false
Name: nuw
Pre: !isPowerOf2(C1) && isPowerOf2(C2)
%sub = shl nuw i8 C2, %X
%cmp = icmp eq i8 %sub, C1
=>
%cmp = false
Name: nsw
Pre: !isPowerOf2(C1) && isPowerOf2(C2)
%sub = shl nsw i8 C2, %X
%cmp = icmp eq i8 %sub, C1
=>
%cmp = false