This will probably be the first in a series of patches that tries to enable code generation for ARM SME (extension of SVE).
Since SME's core operation is the outer product instruction, I figured that it would probably be a good idea to enable the outer product operation to properly accept and generate scalable vectors.
Vector types in MLIR may have multiple dimensions so there could be multiple scalable dims (see getNumScalableDims). It would be great if you could add a test with multiple scalar dimensions and make sure that that works.