r289653 added a case where
vselect <cond> <vector1> <all-zeros>
is transformed to:
vselect xor(cond, DAG.getConstant(1, DL, Cond.getValueType())) <all-zeros> <vector1>
This was not aimed to catch cases where Cond is not a vXi1 mask but it does (e.g. happens on KNL for select <16 x i1>). Moreover, when Cond type is VxiN (N > 1) then xor(cond, DAG.getConstant(1, DL, Cond.getValueType())) != NOT(cond).
This patch changes the above to xor with allones, and avoids entering the case for non-mask Conds.
Why do we need getScalarSizeInBits() if we already know its i1?