From efa3468ff97c4d7ed6a16e26221f9bf4abe27c96 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 19 Nov 2021 08:16:21 -0800 Subject: [PATCH 1/2] x64: Add test for a fixed issue This commit adds a test from #3337 which is an issue that was fixed in #3506 due to moving `imul` lowering rules to ISLE which fixed the underlying issue of accidentally not falling through to the necessary case for general `i64x2.mul` multiplication. Closes #3337 --- tests/misc_testsuite/simd/almost-extmul.wast | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tests/misc_testsuite/simd/almost-extmul.wast diff --git a/tests/misc_testsuite/simd/almost-extmul.wast b/tests/misc_testsuite/simd/almost-extmul.wast new file mode 100644 index 0000000000..be6c3694c0 --- /dev/null +++ b/tests/misc_testsuite/simd/almost-extmul.wast @@ -0,0 +1,16 @@ +;; regression test from #3337, there's a multiplication that sort of +;; looks like an extmul and codegen shouldn't pattern match too much +(module + (type (;0;) (func)) + (func (;0;) (type 0) + v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 + i64x2.extend_low_i32x4_u + v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 + i64x2.mul + i32x4.all_true + i64.load offset=1 align=1 + drop + unreachable) + (func (;1;) (type 0) + nop) + (memory (;0;) 5613 17832)) From 88e400b98c68ece0373536d792da172ec26076de Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 19 Nov 2021 08:44:22 -0800 Subject: [PATCH 2/2] Make memory smaller --- tests/misc_testsuite/simd/almost-extmul.wast | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/misc_testsuite/simd/almost-extmul.wast b/tests/misc_testsuite/simd/almost-extmul.wast index be6c3694c0..b7ef287d72 100644 --- a/tests/misc_testsuite/simd/almost-extmul.wast +++ b/tests/misc_testsuite/simd/almost-extmul.wast @@ -13,4 +13,4 @@ unreachable) (func (;1;) (type 0) nop) - (memory (;0;) 5613 17832)) + (memory (;0;) 1 1))