diff --git a/cranelift/codegen/src/isa/x64/lower.isle b/cranelift/codegen/src/isa/x64/lower.isle index 1c413f148a..23f18a73f0 100644 --- a/cranelift/codegen/src/isa/x64/lower.isle +++ b/cranelift/codegen/src/isa/x64/lower.isle @@ -3640,7 +3640,8 @@ ;; Rules for `vany_true` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (rule (lower (vany_true val)) - (with_flags (x64_ptest val val) (x64_setcc (CC.NZ)))) + (let ((val Xmm val)) + (with_flags (x64_ptest val val) (x64_setcc (CC.NZ))))) ;; Rules for `vall_true` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/tests/misc_testsuite/simd/issue4807.wast b/tests/misc_testsuite/simd/issue4807.wast new file mode 100644 index 0000000000..da12904404 --- /dev/null +++ b/tests/misc_testsuite/simd/issue4807.wast @@ -0,0 +1,8 @@ + (module + (func (result i32) + global.get 0 + v128.any_true + ) + (global (;0;) (mut v128) v128.const i64x2 0 0) +) +