VirtualBox

Changeset 40209 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Feb 22, 2012 12:14:21 PM (13 years ago)
Author:
vboxsync
Message:

IEM: Implemented missing FPU instructions starting with 0xd8 and adjusted fld m32r and fld m64r.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/IEMInternal.h

    r40187 r40209  
    728728/** @name FPU operations taking a 32-bit float argument
    729729 * @{ */
    730 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR32,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, RTFLOAT32U r32Val));
     730typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR32U,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT32U pr32Val));
     731typedef FNIEMAIMPLFPUR32U  *PFNIEMAIMPLFPUR32U;
     732typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR32FSW,(PCX86FXSTATE pFpuState, uint16_t *pFSW,
     733                                                      PCRTFLOAT80U pr80Val1, PCRTFLOAT32U pr32Val2));
     734typedef FNIEMAIMPLFPUR32FSW *PFNIEMAIMPLFPUR32FSW;
     735typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR32,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes,
     736                                                   PCRTFLOAT80U pr80Val1, PCRTFLOAT32U pr32Val2));
    731737typedef FNIEMAIMPLFPUR32  *PFNIEMAIMPLFPUR32;
    732 FNIEMAIMPLFPUR32 iemAImpl_fpu_r32_to_r80;
     738
     739FNIEMAIMPLFPUR32U   iemAImpl_fld_r32_to_r80;
     740FNIEMAIMPLFPUR32FSW iemAImpl_fcom_r80_by_r32;
     741FNIEMAIMPLFPUR32    iemAImpl_fadd_r80_by_r32;
     742FNIEMAIMPLFPUR32    iemAImpl_fmul_r80_by_r32;
     743FNIEMAIMPLFPUR32    iemAImpl_fsub_r80_by_r32;
     744FNIEMAIMPLFPUR32    iemAImpl_fsubr_r80_by_r32;
     745FNIEMAIMPLFPUR32    iemAImpl_fdiv_r80_by_r32;
     746FNIEMAIMPLFPUR32    iemAImpl_fdivr_r80_by_r32;
    733747/** @} */
    734748
     
    737751typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR64,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes,
    738752                                                   PCRTFLOAT80U pr80Val1, PCRTFLOAT64U pr64Val2));
    739 typedef FNIEMAIMPLFPUR64  *PFNIEMAIMPLFPUR64;
     753typedef FNIEMAIMPLFPUR64   *PFNIEMAIMPLFPUR64;
    740754typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR64U,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT64U pr64Val));
    741755typedef FNIEMAIMPLFPUR64U  *PFNIEMAIMPLFPUR64U;
    742 FNIEMAIMPLFPUR64U iemAImpl_fpu_r64_to_r80;
     756
     757FNIEMAIMPLFPUR64U iemAImpl_fld_r64_to_r80;
    743758FNIEMAIMPLFPUR64  iemAImpl_fadd_r80_by_r64;
    744759FNIEMAIMPLFPUR64  iemAImpl_fmul_r80_by_r64;
     
    748763FNIEMAIMPLFPUR64  iemAImpl_fdiv_r80_by_r64;
    749764FNIEMAIMPLFPUR64  iemAImpl_fdivr_r80_by_r64;
    750 
    751765/** @} */
    752766
    753767/** @name FPU operations taking a 80-bit float argument
    754768 * @{ */
     769typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR80FSW,(PCX86FXSTATE pFpuState, uint16_t *pFSW,
     770                                                      PCRTFLOAT80U pr80Val1, PCRTFLOAT80U pr80Val2));
     771typedef FNIEMAIMPLFPUR80FSW *PFNIEMAIMPLFPUR80FSW;
    755772typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR80,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes,
    756773                                                   PCRTFLOAT80U pr80Val1, PCRTFLOAT80U pr80Val2));
    757 typedef FNIEMAIMPLFPUR80  *PFNIEMAIMPLFPUR80;
    758 FNIEMAIMPLFPUR80  iemAImpl_fadd_r80_by_r80;
    759 FNIEMAIMPLFPUR80  iemAImpl_fmul_r80_by_r80;
    760 FNIEMAIMPLFPUR80  iemAImpl_fcom_r80_by_r80;
    761 FNIEMAIMPLFPUR80  iemAImpl_fsub_r80_by_r80;
    762 FNIEMAIMPLFPUR80  iemAImpl_fsubr_r80_by_r80;
    763 FNIEMAIMPLFPUR80  iemAImpl_fdiv_r80_by_r80;
    764 FNIEMAIMPLFPUR80  iemAImpl_fdivr_r80_by_r80;
    765 
     774typedef FNIEMAIMPLFPUR80    *PFNIEMAIMPLFPUR80;
     775
     776FNIEMAIMPLFPUR80FSW iemAImpl_fcom_r80_by_r80;
     777FNIEMAIMPLFPUR80    iemAImpl_fadd_r80_by_r80;
     778FNIEMAIMPLFPUR80    iemAImpl_fmul_r80_by_r80;
     779FNIEMAIMPLFPUR80    iemAImpl_fsub_r80_by_r80;
     780FNIEMAIMPLFPUR80    iemAImpl_fsubr_r80_by_r80;
     781FNIEMAIMPLFPUR80    iemAImpl_fdiv_r80_by_r80;
     782FNIEMAIMPLFPUR80    iemAImpl_fdivr_r80_by_r80;
    766783/** @} */
    767784
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette