Targets may require source information to know whether a mask is legal.
(e.g., whether sources are from a same vector). But current
isVectorClearMaskLegal only provides mask and value type, which is not
enough.
Because DAG.getBitcast may add use number of operand (which blocks some
optimization), we will remove the bitcast node if the node is not used.
How nasty would it be NOT to add the bitcast here at all and allow the N0/N1 operands into isVectorClearMaskLegal to keep their original types as long as they can safely be bitcasted to IntVT?
We'd still bitcast it as part of the getVectorShuffle call of course.