This change allow CooperativeMatrix Load/Store operations to use pointer type that may not match the matrix element type. This allow us to declare buffer with a larger type size than the matrix element type. This follows SPIR-V spec and this is needed to be able to use cooperative matrix in combination with shared local memory efficiently. Differential Revision: https://reviews.llvm.org/D84993