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:
Andrew Brown
2021-11-19 10:29:37 -08:00
parent ef8ea644f4
commit 994fe41daf
2 changed files with 15 additions and 1 deletions

View 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))