Changeset 67099 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- May 25, 2017 10:18:45 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c
r67098 r67099 1616 1616 1617 1617 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 else1641 return 0;1642 pThis->cbCurInstr = off;1643 return iEncoding + 1;1644 }1645 1646 1647 1618 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_MODRM_Pq_WO_Qq(PBS3CG1STATE pThis, unsigned iEncoding) 1648 1619 { … … 3626 3597 switch (pThis->enmEncoding) 3627 3598 { 3628 case BS3CG1ENC_MODRM_WqZxReg_WO_Vq:3629 return Bs3Cg1EncodeNext_MODRM_WqZxReg_WO_Vq(pThis, iEncoding);3630 3631 3599 case BS3CG1ENC_MODRM_Vq_WO_UqHi: 3632 3600 return Bs3Cg1EncodeNext_MODRM_Vq_WO_UqHi(pThis, iEncoding); … … 3840 3808 3841 3809 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; 3848 3820 break; 3849 3821
Note:
See TracChangeset
for help on using the changeset viewer.