This patch adds the missing logic so that the
TransferReadPermutationLowering can be used for scalable vectors. To
this end:
- TransferOp custom C++ builder is updated to support scalable vectors,
- TransferOpReduceRank is also updated to support scalable vectors.
This pattern is relevant when lowering linalg.matmul via
vector_multi_reduction for scalable vectors.
Depends on D157092
nit: move ub to variable