This is a follow-on to D158753, and allows the lowering of a
transfer read/write of n-D vectors with a single trailing scalable dimension
to primitive vector ops.
The final conversion to LLVM depends on D158517 and D158752, without
these patches type conversion will fail (or an assert is hit in the LLVM
backend) if the final IR contains an array of scalable vectors.
This patch adds transform.apply_patterns.vector.lower_create_mask
which allows the lowering of vector.create_mask/constant_mask to be
tested independently of --convert-vector-to-llvm.