VirtualBox

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


Ignore:
Timestamp:
May 2, 2017 11:46:46 AM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
115154
Message:

IEM: Implemented movsd Vsd,Wsd (0xf2 0x0f 0x10).

Location:
trunk/src/VBox/ValidationKit/bootsectors
Files:
2 edited

Legend:

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

    r66744 r66746  
    17211721
    17221722
     1723static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_VsdZxReg_Wsd(PBS3CG1STATE pThis, unsigned iEncoding)
     1724{
     1725    unsigned off;
     1726    if (iEncoding == 0)
     1727    {
     1728        off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));
     1729        pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 1, 0);
     1730        pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_XMM0_LO;
     1731        pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM1_LO_ZX;
     1732    }
     1733    else if (iEncoding == 1)
     1734    {
     1735        pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM2_LO_ZX;
     1736        off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));
     1737        off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 2 /*iReg*/, 8, 0, BS3CG1OPLOC_MEM);
     1738    }
     1739    else if (iEncoding == 2)
     1740    {
     1741        pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM3_LO_ZX;
     1742        off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));
     1743        off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 3 /*iReg*/, 8, 1 /*cbMissalign*/, BS3CG1OPLOC_MEM);
     1744    }
     1745    else
     1746        return 0;
     1747    pThis->cbCurInstr = off;
     1748    return iEncoding + 1;
     1749}
     1750
     1751
    17231752static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_Gv_Ma(PBS3CG1STATE pThis, unsigned iEncoding)
    17241753{
     
    21062135        case BS3CG1ENC_MODRM_VssZxReg_Wss:
    21072136            return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_VssZxReg_Wss(pThis, iEncoding);
     2137        case BS3CG1ENC_MODRM_VsdZxReg_Wsd:
     2138            return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_VsdZxReg_Wsd(pThis, iEncoding);
    21082139
    21092140        case BS3CG1ENC_MODRM_Gv_Ma:
     
    22852316            pThis->aOperands[0].cbOp = 4;
    22862317            pThis->aOperands[1].cbOp = 4;
     2318            pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX;
     2319            pThis->aOperands[1].enmLocation = BS3CG1OPLOC_CTX;
     2320            break;
     2321
     2322        case BS3CG1ENC_MODRM_VsdZxReg_Wsd:
     2323            pThis->iRmOp             = 1;
     2324            pThis->iRegOp            = 0;
     2325            pThis->aOperands[0].cbOp = 8;
     2326            pThis->aOperands[1].cbOp = 8;
    22872327            pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX;
    22882328            pThis->aOperands[1].enmLocation = BS3CG1OPLOC_CTX;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1.h

    r66744 r66746  
    5858    BS3CG1OP_VssZxReg,
    5959    BS3CG1OP_Vsd,
     60    BS3CG1OP_VsdZxReg,
    6061    BS3CG1OP_Vps,
    6162    BS3CG1OP_Vpd,
     
    108109    BS3CG1ENC_MODRM_Vps_Wps,
    109110    BS3CG1ENC_MODRM_VssZxReg_Wss,
     111    BS3CG1ENC_MODRM_VsdZxReg_Wsd,
    110112    BS3CG1ENC_MODRM_MbRO,
    111113    BS3CG1ENC_MODRM_MdRO,
Note: See TracChangeset for help on using the changeset viewer.

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