VirtualBox

Ignore:
Timestamp:
Nov 15, 2022 12:59:28 PM (2 years ago)
Author:
vboxsync
Message:

IEM: Modified microcode XMM accessors to fetch specified qword/dword etc.; added PEXTRD instruction.

File:
1 edited

Legend:

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

    r97534 r97543  
    482482         (a_XmmValue).au64[1] = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au64[1]; \
    483483    } while (0)
    484 #define IEM_MC_FETCH_XREG_U64(a_u64Value, a_iXReg) \
    485     do { (a_u64Value) = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au64[0]; } while (0)
    486 #define IEM_MC_FETCH_XREG_U32(a_u32Value, a_iXReg) \
    487     do { (a_u32Value) = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au32[0]; } while (0)
    488 #define IEM_MC_FETCH_XREG_HI_U64(a_u64Value, a_iXReg) \
    489     do { (a_u64Value) = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au64[1]; } while (0)
     484#define IEM_MC_FETCH_XREG_U64(a_u64Value, a_iXReg, a_iQWord) \
     485    do { (a_u64Value) = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au64[(a_iQWord)]; } while (0)
     486#define IEM_MC_FETCH_XREG_U32(a_u32Value, a_iXReg, a_iDWord) \
     487    do { (a_u32Value) = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au32[(a_iDWord)]; } while (0)
     488#define IEM_MC_FETCH_XREG_U16(a_u16Value, a_iXReg, a_iWord) \
     489    do { (a_u16Value) = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au16[(a_iWord)]; } while (0)
     490#define IEM_MC_FETCH_XREG_U8( a_u8Value,  a_iXReg, a_iByte) \
     491    do { (a_u8Value)  = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au16[(a_iByte)]; } while (0)
    490492#define IEM_MC_STORE_XREG_U128(a_iXReg, a_u128Value) \
    491493    do { pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg)].au64[0] = (a_u128Value).au64[0]; \
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