qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH v2 35/39] target/i386: introduce UdqMq operand


From: Jan Bobek
Subject: [Qemu-devel] [RFC PATCH v2 35/39] target/i386: introduce UdqMq operand
Date: Sat, 10 Aug 2019 00:12:51 -0400

The MOVHLPS instruction has a special operand: it reads the high
quadword of the source operand (hence it requires the full
double-quadword width), but if the operand is indirect, only 64-bits
are read from memory. Introduce UdqMq operand to address this case.

Signed-off-by: Jan Bobek <address@hidden>
---
 target/i386/translate.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/target/i386/translate.c b/target/i386/translate.c
index 97614e5941..5802b324f0 100644
--- a/target/i386/translate.c
+++ b/target/i386/translate.c
@@ -4876,6 +4876,11 @@ INSNOP_LDST(UqMq, Uq, Mq, offsetof(CPUX86State, xmm_t0),
              gen_ldq_env_A0(s, reg + offsetof(ZMMReg, ZMM_Q(0)))),
             (assert(ptr == s->A0),
              gen_stq_env_A0(s, reg + offsetof(ZMMReg, ZMM_Q(0)))))
+INSNOP_LDST(UdqMq, Udq, Mq, offsetof(CPUX86State, xmm_t0),
+            (assert(ptr == s->A0),
+             gen_ldq_env_A0(s, reg + offsetof(ZMMReg, ZMM_Q(0)))),
+            (assert(ptr == s->A0),
+             gen_stq_env_A0(s, reg + offsetof(ZMMReg, ZMM_Q(0)))))
 INSNOP_LDST(UdqMdq, Udq, Mdq, offsetof(CPUX86State, xmm_t0),
             (assert(ptr == s->A0), gen_ldo_env_A0(s, reg)),
             (assert(ptr == s->A0), gen_sto_env_A0(s, reg)))
-- 
2.20.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]