[PATCH 0/2] target/i386: reimplement fp2fp conversion instructions

Paolo Bonzini posted 2 patches 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230829165304.114948-1-pbonzini@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>
target/i386/tcg/decode-new.c.inc | 20 +++++++++++++++-----
target/i386/tcg/decode-new.h     |  2 +-
target/i386/tcg/emit.c.inc       | 30 +++++++++++++++++++++++++-----
3 files changed, 41 insertions(+), 11 deletions(-)
[PATCH 0/2] target/i386: reimplement fp2fp conversion instructions
Posted by Paolo Bonzini 8 months ago
CVTPS2PD only loads a half-register for memory, unlike the other
operations under 0x0F 0x5A.  Therefore, it is unlike other
"unary" floating point operations, that load a full register
from memory in their packed incarnation.

To fix it, reimplement the four operations under 0x0F 0x5A
(CVTSS2SD, CVTSD2SS, CVTPS2PD, CVTPD2PS) individually.

Paolo

Paolo Bonzini (2):
  target/i386: generalize operand size "ph" for use in CVTPS2PD
  target/i386: fix memory operand size for CVTPS2PD

 target/i386/tcg/decode-new.c.inc | 20 +++++++++++++++-----
 target/i386/tcg/decode-new.h     |  2 +-
 target/i386/tcg/emit.c.inc       | 30 +++++++++++++++++++++++++-----
 3 files changed, 41 insertions(+), 11 deletions(-)

-- 
2.41.0