[llvm] [WebAssembly] Fold extended vector shifts by constant to extmul (PR #184007)
Sam Parker via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 4 00:02:02 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:
My suggestion would have been to to lower the v8i32 `shl` into a pair of `extmul_low` and `extmul_high` and returned them with `CONCAT_VECTORS`. But your suggested approach sounds like less effort, which sounds good to me!
https://github.com/llvm/llvm-project/pull/184007
More information about the llvm-commits
mailing list