This patch adds support for scalable-vector splats in DAGCombiner's
isConstantOrConstantVector and ISD::matchUnaryPredicate functions,
which enable the SelectionDAG div/rem-by-constant optimizations for
scalable vector types.
It also fixes up one case where the UDIV optimization was generating a
SETCC without first consulting the target for its preferred SETCC result
type.
In general, is isFixedLengthVector || isScalableVector a suitable replacement for isVector, or should we be more explicit/future-proof about the possibility of a third case?