x64: Port fdemote and fvdemote to ISLE (#4449)
https://github.com/bytecodealliance/wasmtime/pull/4449
This commit is contained in:
@@ -2841,6 +2841,13 @@
|
||||
(_ Unit (emit (MInst.XmmUnaryRmR (SseOpcode.Cvtss2sd) x dst))))
|
||||
dst))
|
||||
|
||||
;; Helper for creating `cvtsd2ss` instructions.
|
||||
(decl x64_cvtsd2ss (Xmm) Xmm)
|
||||
(rule (x64_cvtsd2ss x)
|
||||
(let ((dst WritableXmm (temp_writable_xmm))
|
||||
(_ Unit (emit (MInst.XmmUnaryRmR (SseOpcode.Cvtsd2ss) x dst))))
|
||||
dst))
|
||||
|
||||
;; Helper for creating `cvtps2pd` instructions.
|
||||
(decl x64_cvtps2pd (Xmm) Xmm)
|
||||
(rule (x64_cvtps2pd x)
|
||||
@@ -2848,6 +2855,13 @@
|
||||
(_ Unit (emit (MInst.XmmUnaryRmR (SseOpcode.Cvtps2pd) x dst))))
|
||||
dst))
|
||||
|
||||
;; Helper for creating `cvtpd2ps` instructions.
|
||||
(decl x64_cvtpd2ps (Xmm) Xmm)
|
||||
(rule (x64_cvtpd2ps x)
|
||||
(let ((dst WritableXmm (temp_writable_xmm))
|
||||
(_ Unit (emit (MInst.XmmUnaryRmR (SseOpcode.Cvtpd2ps) x dst))))
|
||||
dst))
|
||||
|
||||
;; Helpers for creating `pcmpeq*` instructions.
|
||||
(decl x64_pcmpeq (Type Xmm XmmMem) Xmm)
|
||||
(rule (x64_pcmpeq $I8X16 x y) (x64_pcmpeqb x y))
|
||||
|
||||
Reference in New Issue
Block a user