The signedness is carried by !gpu.mma_matrix types to most closely
match the Cooperative Matrix specification which determines signedness
with the type (and sometimes the operation).
https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_cooperative_matrix.html
To handle the lowering from vector to gpu, ops such as arith.extsi are
pattern matched next to vector.transfer_read and vector.contract to
determine the signedness of the matrix type.
do we need this?