VirtualBox

Changeset 105277 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jul 11, 2024 5:13:59 PM (8 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
163929
Message:

VMM/IEM: Rework roundps/roundpd which only have two operands instead of three, add vroundps/vroundpd, ​bugref:9898 [build fix]

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstThree0f3a.cpp.h

    r105274 r105277  
    229229 * @sa  iemOpCommonSse41_FullFullImm8_To_Full
    230230 */
    231 FNIEMOP_DEF_1(iemOpCommonSse41Fp_FullImm8_To_Full, PFNIEMAIMPLMEDIAF2XMMIMM8, pfnU128)
     231FNIEMOP_DEF_1(iemOpCommonSse41Fp_FullImm8_To_Full, PFNIEMAIMPLMEDIAF2U128IMM8, pfnU128)
    232232{
    233233    uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm);
  • trunk/src/VBox/VMM/VMMAll/IEMAllThrdPython.py

    r105235 r105277  
    780780            if sBaseType == 'PCIEMOPMULDIVSIZES':       return 'PFNIEMAIMPLMULDIVU'     + sMember[offBits:];
    781781            if sBaseType == 'PCIEMOPMEDIAF2':           return 'PFNIEMAIMPLMEDIAF2U'    + sMember[offBits:];
     782            if sBaseType == 'PCIEMOPMEDIAF2IMM8':       return 'PFNIEMAIMPLMEDIAF2U'    + sMember[offBits:] + 'IMM8';
    782783            if sBaseType == 'PCIEMOPMEDIAF3':           return 'PFNIEMAIMPLMEDIAF3U'    + sMember[offBits:];
    783784            if sBaseType == 'PCIEMOPMEDIAOPTF2':        return 'PFNIEMAIMPLMEDIAOPTF2U' + sMember[offBits:];
  • trunk/src/VBox/VMM/include/IEMInternal.h

    r105275 r105277  
    41744174
    41754175
    4176 typedef IEM_DECL_IMPL_TYPE(uint32_t, FNIEMAIMPLMEDIAF2XMMIMM8,(uint32_t uMxCsrIn, PX86XMMREG puDst, PCX86XMMREG puSrc, uint8_t bEvil));
    4177 typedef FNIEMAIMPLMEDIAF2XMMIMM8 *PFNIEMAIMPLMEDIAF2XMMIMM8;
    4178 
    4179 
    4180 typedef IEM_DECL_IMPL_TYPE(uint32_t, FNIEMAIMPLMEDIAF2YMMIMM8,(uint32_t uMxCsrIn, PX86YMMREG puDst, PCX86YMMREG puSrc, uint8_t bEvil));
    4181 typedef FNIEMAIMPLMEDIAF2YMMIMM8 *PFNIEMAIMPLMEDIAF2YMMIMM8;
    4182 
    4183 
    4184 FNIEMAIMPLMEDIAF2XMMIMM8 iemAImpl_roundps_u128,  iemAImpl_roundps_u128_fallback;
    4185 FNIEMAIMPLMEDIAF2XMMIMM8 iemAImpl_roundpd_u128,  iemAImpl_roundpd_u128_fallback;
    4186 
    4187 FNIEMAIMPLMEDIAF2XMMIMM8 iemAImpl_vroundps_u128, iemAImpl_vroundps_u128_fallback;
    4188 FNIEMAIMPLMEDIAF2XMMIMM8 iemAImpl_vroundpd_u128, iemAImpl_vroundpd_u128_fallback;
    4189 
    4190 FNIEMAIMPLMEDIAF2YMMIMM8 iemAImpl_vroundps_u256, iemAImpl_vroundps_u256_fallback;
    4191 FNIEMAIMPLMEDIAF2YMMIMM8 iemAImpl_vroundpd_u256, iemAImpl_vroundpd_u256_fallback;
     4176typedef IEM_DECL_IMPL_TYPE(uint32_t, FNIEMAIMPLMEDIAF2U128IMM8,(uint32_t uMxCsrIn, PX86XMMREG puDst, PCX86XMMREG puSrc, uint8_t bEvil));
     4177typedef FNIEMAIMPLMEDIAF2U128IMM8 *PFNIEMAIMPLMEDIAF2U128IMM8;
     4178
     4179
     4180typedef IEM_DECL_IMPL_TYPE(uint32_t, FNIEMAIMPLMEDIAF2U256IMM8,(uint32_t uMxCsrIn, PX86YMMREG puDst, PCX86YMMREG puSrc, uint8_t bEvil));
     4181typedef FNIEMAIMPLMEDIAF2U256IMM8 *PFNIEMAIMPLMEDIAF2U256IMM8;
     4182
     4183
     4184FNIEMAIMPLMEDIAF2U128IMM8 iemAImpl_roundps_u128,  iemAImpl_roundps_u128_fallback;
     4185FNIEMAIMPLMEDIAF2U128IMM8 iemAImpl_roundpd_u128,  iemAImpl_roundpd_u128_fallback;
     4186
     4187FNIEMAIMPLMEDIAF2U128IMM8 iemAImpl_vroundps_u128, iemAImpl_vroundps_u128_fallback;
     4188FNIEMAIMPLMEDIAF2U128IMM8 iemAImpl_vroundpd_u128, iemAImpl_vroundpd_u128_fallback;
     4189
     4190FNIEMAIMPLMEDIAF2U256IMM8 iemAImpl_vroundps_u256, iemAImpl_vroundps_u256_fallback;
     4191FNIEMAIMPLMEDIAF2U256IMM8 iemAImpl_vroundpd_u256, iemAImpl_vroundpd_u256_fallback;
    41924192
    41934193
     
    44414441typedef struct IEMOPMEDIAF2IMM8
    44424442{
    4443     PFNIEMAIMPLMEDIAF2XMMIMM8 pfnU128;
    4444     PFNIEMAIMPLMEDIAF2YMMIMM8 pfnU256;
     4443    PFNIEMAIMPLMEDIAF2U128IMM8 pfnU128;
     4444    PFNIEMAIMPLMEDIAF2U256IMM8 pfnU256;
    44454445} IEMOPMEDIAF2IMM8;
    44464446/** Pointer to a media operation function table for 2 full sized ops (AVX). */
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