From 961c9ea9093d6db4f9cd6ebe1572c493b09aa7f4 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Wed, 21 Jul 2021 13:32:44 -0700 Subject: [PATCH] test: check unaligned load-coalescing with SIMD operations --- build.rs | 1 + tests/misc_testsuite/simd/unaligned-load.wast | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 tests/misc_testsuite/simd/unaligned-load.wast diff --git a/build.rs b/build.rs index 47852cf618..773b38e6a8 100644 --- a/build.rs +++ b/build.rs @@ -32,6 +32,7 @@ fn main() -> anyhow::Result<()> { test_directory_module(out, "tests/misc_testsuite/reference-types", strategy)?; test_directory_module(out, "tests/misc_testsuite/multi-memory", strategy)?; test_directory_module(out, "tests/misc_testsuite/module-linking", strategy)?; + test_directory_module(out, "tests/misc_testsuite/simd", strategy)?; test_directory_module(out, "tests/misc_testsuite/threads", strategy)?; Ok(()) })?; diff --git a/tests/misc_testsuite/simd/unaligned-load.wast b/tests/misc_testsuite/simd/unaligned-load.wast new file mode 100644 index 0000000000..359dbe0a6f --- /dev/null +++ b/tests/misc_testsuite/simd/unaligned-load.wast @@ -0,0 +1,13 @@ +(; See discussion at https://github.com/bytecodealliance/wasmtime/issues/2943 ;) +(module + (memory 1) + (data (i32.const 1) "\01\00\00\00\01\00\00\00") + + (func $unaligned_load (export "unaligned_load") (result v128) + v128.const i32x4 0 0 1 1 + i32.const 1 + v128.load + v128.xor) +) + +(assert_return (invoke "unaligned_load") (v128.const i32x4 1 1 1 1))