This commutes the extension (arith.extsi, arith.extui) over the
following vector ops: vector.broadcast, vector.shape_cast,
vector.transpose, vector.flat_transpose.
I focused on these as I saw them getting created by vector unroll
patterns. Maybe except vector.flat_transpose.