mbox series

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

Message ID 20230829165304.114948-1-pbonzini@redhat.com
Headers show
Series target/i386: reimplement fp2fp conversion instructions | expand

Message

Paolo Bonzini Aug. 29, 2023, 4:53 p.m. UTC
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(-)