From efa3468ff97c4d7ed6a16e26221f9bf4abe27c96 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 19 Nov 2021 08:16:21 -0800 Subject: [PATCH] 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))