[llvm] [WebAssembly] Fold extended vector shifts by constant to extmul (PR #184007)

Sam Parker via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 2 06:40:29 PST 2026


================
@@ -195,3 +195,47 @@ define <8 x i32> @zext_sext_mul_v8i16(<8 x i16> %a, <8 x i16> %b) {
   %mul = mul <8 x i32> %wide.a, %wide.b
   ret <8 x i32> %mul
 }
+
+define <4 x i32> @sext_mul_v8i16_with_symmetric_constant_vector(<8 x i16> %v) {
----------------
sparker-arm wrote:

So what's the type of the constant vector you're creating? It looks like legalization is breaking it up, but it's confusing me as to why. Can we change the element type to try to ensure it's`<8 x i16>`?

https://github.com/llvm/llvm-project/pull/184007


More information about the llvm-commits mailing list