VirtualBox

Changeset 67099 in vbox for trunk/src/VBox/ValidationKit


Ignore:
Timestamp:
May 25, 2017 10:18:45 PM (8 years ago)
Author:
vboxsync
Message:

bs3-cpu-generated-1: cleanups

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c

    r67098 r67099  
    16161616
    16171617
    1618 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_MODRM_WqZxReg_WO_Vq(PBS3CG1STATE pThis, unsigned iEncoding)
    1619 {
    1620     unsigned off;
    1621     if (iEncoding == 0)
    1622     {
    1623         off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));
    1624         pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 1, 0);
    1625         pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_XMM0_LO_ZX;
    1626         pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM1_LO;
    1627     }
    1628     else if (iEncoding == 1)
    1629     {
    1630         pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM2_LO;
    1631         off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));
    1632         off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 2 /*iReg*/, 8, 0, BS3CG1OPLOC_MEM_WO);
    1633     }
    1634     else if (iEncoding == 2)
    1635     {
    1636         pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM3_LO;
    1637         off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));
    1638         off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 3 /*iReg*/, 8, 1 /*cbMisalign*/, BS3CG1OPLOC_MEM_WO);
    1639     }
    1640     else
    1641         return 0;
    1642     pThis->cbCurInstr = off;
    1643     return iEncoding + 1;
    1644 }
    1645 
    1646 
    16471618static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_MODRM_Pq_WO_Qq(PBS3CG1STATE pThis, unsigned iEncoding)
    16481619{
     
    36263597    switch (pThis->enmEncoding)
    36273598    {
    3628         case BS3CG1ENC_MODRM_WqZxReg_WO_Vq:
    3629             return Bs3Cg1EncodeNext_MODRM_WqZxReg_WO_Vq(pThis, iEncoding);
    3630 
    36313599        case BS3CG1ENC_MODRM_Vq_WO_UqHi:
    36323600            return Bs3Cg1EncodeNext_MODRM_Vq_WO_UqHi(pThis, iEncoding);
     
    38403808
    38413809        case BS3CG1ENC_MODRM_WqZxReg_WO_Vq:
    3842             pThis->iRmOp             = 0;
    3843             pThis->iRegOp            = 1;
    3844             pThis->aOperands[0].cbOp = 8;
    3845             pThis->aOperands[1].cbOp = 8;
    3846             pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX;
    3847             pThis->aOperands[1].enmLocation = BS3CG1OPLOC_CTX;
     3810            pThis->pfnEncoder                  = Bs3Cg1EncodeNext_MODRM_Vsomething_Wsomething_OR_ViceVersa;
     3811            pThis->iRmOp                       = 0;
     3812            pThis->iRegOp                      = 1;
     3813            pThis->aOperands[0].cbOp           = 8;
     3814            pThis->aOperands[1].cbOp           = 8;
     3815            pThis->aOperands[0].idxFieldBase   = BS3CG1DST_XMM0_LO_ZX;
     3816            pThis->aOperands[1].idxFieldBase   = BS3CG1DST_XMM0_LO;
     3817            pThis->aOperands[0].enmLocationReg = BS3CG1OPLOC_CTX;
     3818            pThis->aOperands[0].enmLocationMem = BS3CG1OPLOC_MEM_WO;
     3819            pThis->aOperands[1].enmLocation    = BS3CG1OPLOC_CTX;
    38483820            break;
    38493821
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