x64: allow vector types in select move
As reported in #3173, the `select` instruction fails an assertion when it is given `v128` types as operands. This change relaxes the assertion to allow the same type of XMM move that occurs for the f32 and f64 types. This fixes #3173 in the old `lower.rs` code temporarily until the relatively complex `select` lowering can be ported to ISLE.
This commit is contained in:
10
tests/misc_testsuite/simd/issue_3173_select_v128.wast
Normal file
10
tests/misc_testsuite/simd/issue_3173_select_v128.wast
Normal file
@@ -0,0 +1,10 @@
|
||||
(; See issue https://github.com/bytecodealliance/wasmtime/issues/3173. ;)
|
||||
|
||||
(module
|
||||
(func (export "select_v128") (result v128)
|
||||
v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000
|
||||
i32.const 0
|
||||
select))
|
||||
|
||||
(assert_return (invoke "select_v128") (v128.const i32x4 0 0 0 0))
|
||||
Reference in New Issue
Block a user