VirtualBox

Ignore:
Timestamp:
May 5, 2017 2:56:34 PM (8 years ago)
Author:
vboxsync
Message:

IEM: Implemented movdq2q Pq,Uq (f2 0f d6)

File:
1 edited

Legend:

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

    r66810 r66811  
    15831583
    15841584
     1585static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_Pq_Uq(PBS3CG1STATE pThis, unsigned iEncoding)
     1586{
     1587    unsigned off;
     1588    if (iEncoding == 0)
     1589    {
     1590        off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));
     1591        pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 1, 0);
     1592        pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_XMM0_LO;
     1593        pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_MM1;
     1594    }
     1595    else if (iEncoding == 1)
     1596    {
     1597        off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));
     1598        pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 6, 2);
     1599        pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_XMM2_LO;
     1600        pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_MM6;
     1601    }
     1602    else
     1603        return 0;
     1604    pThis->cbCurInstr = off;
     1605    return iEncoding + 1;
     1606}
     1607
     1608
    15851609static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_Vq_UqHi(PBS3CG1STATE pThis, unsigned iEncoding)
    15861610{
     
    22382262        case BS3CG1ENC_MODRM_WqZxReg_Vq:
    22392263            return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_WqZxReg_Vq(pThis, iEncoding);
     2264
     2265        case BS3CG1ENC_MODRM_Pq_Uq:
     2266            return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_Pq_Uq(pThis, iEncoding);
    22402267
    22412268        case BS3CG1ENC_MODRM_Vq_UqHi:
     
    24192446            break;
    24202447
     2448        case BS3CG1ENC_MODRM_Pq_Uq:
    24212449        case BS3CG1ENC_MODRM_Vq_UqHi:
    24222450        case BS3CG1ENC_MODRM_VqHi_Uq:
     
    31193147                    if ((unsigned)(idxField - BS3CG1DST_XMM0_LO_ZX) <= (unsigned)(BS3CG1DST_XMM15_LO_ZX - BS3CG1DST_XMM0_LO_ZX))
    31203148                        PtrField.pu64[1] = 0;
     3149                    else if ((unsigned)(idxField - BS3CG1DST_MM0) <= (unsigned)(BS3CG1DST_MM7 - BS3CG1DST_MM0))
     3150                        PtrField.pu32[2] = 0xffff; /* observed on skylake */
     3151
    31213152                    switch (bOpcode & BS3CG1_CTXOP_OPERATOR_MASK)
    31223153                    {
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