Add support for OpUMulExtended, OpSMulExtended
- Make the existing LLVMReactor lowering support for MulHigh on non-x86
available on x86 as well, as we don't have good intrinsics-based implementation
of 4x 32bit mul highs. At some point in the future we can rework this
to use some shuffles and a pair of pmuludq.
- Plumb through Int4 and UInt4 variants of MulHigh
- Implement SPIRV OpUMulExtended, OpSMulExtended in terms of MulHigh
Bug: b/
126873455
Change-Id: I25ba0a69691e7a6f7a5542ec4a90a44ba8f68331
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25929
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>