I have looked at various memref casts and have not succeeded in performing the following operation, namely casting to a vector that cover a subset of the last dimension.
%vB = vector.type_cast %B: memref<64x128xf32> to memref<64x32xvector<4xf32>>
That above conversion is not supported. It is critically important when performing tiling in conjunction with SIMD and buffers, as we want to copy large panels for cache benefits, and then simdizing subsets
of the large panel.
I looked at increasing the memref rank of
%B first, e.g.
%B1 = some_cast %B: memref<64x128xf32> to memref<64x32x4xf32>
as it would then let me use the current vector.type_cast; I have not succeeded in doing so. So is there currently a way to perform such a rank-increasing (same total size, same type, sufficient in only the last dimension)?