Changeset 66743 in vbox for trunk/src/VBox/ValidationKit/bootsectors
- Timestamp:
- May 2, 2017 10:23:24 AM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 115150
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c
r66464 r66743 1660 1660 1661 1661 1662 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_Vps_Wps(PBS3CG1STATE pThis, unsigned iEncoding) 1663 { 1664 unsigned off; 1665 if (iEncoding == 0) 1666 { 1667 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1668 pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 1, 0); 1669 pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_XMM0; 1670 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM1; 1671 } 1672 else if (iEncoding == 1) 1673 { 1674 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM2; 1675 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1676 off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 2 /*iReg*/, 16, 0, BS3CG1OPLOC_MEM); 1677 } 1678 else if (iEncoding == 2) 1679 { 1680 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM3; 1681 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1682 off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 3 /*iReg*/, 16, 1 /*cbMissalign*/, BS3CG1OPLOC_MEM); 1683 if (!Bs3Cg1XcptTypeIsUnaligned(pThis->enmXcptType)) 1684 pThis->bAlignmentXcpt = X86_XCPT_GP; 1685 } 1686 else 1687 return 0; 1688 pThis->cbCurInstr = off; 1689 return iEncoding + 1; 1690 } 1691 1692 1662 1693 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_VssZxReg_Wss(PBS3CG1STATE pThis, unsigned iEncoding) 1663 1694 { … … 2069 2100 case BS3CG1ENC_MODRM_Vdq_Wdq: 2070 2101 return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_Vdq_Wdq(pThis, iEncoding); 2102 case BS3CG1ENC_MODRM_Vps_Wps: 2103 return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_Vps_Wps(pThis, iEncoding); 2071 2104 case BS3CG1ENC_MODRM_VssZxReg_Wss: 2072 2105 return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_VssZxReg_Wss(pThis, iEncoding); … … 2209 2242 2210 2243 case BS3CG1ENC_MODRM_Vdq_Wdq: 2244 pThis->iRmOp = 1; 2245 pThis->iRegOp = 0; 2246 pThis->aOperands[0].cbOp = 16; 2247 pThis->aOperands[1].cbOp = 16; 2248 pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX; 2249 pThis->aOperands[1].enmLocation = BS3CG1OPLOC_CTX; 2250 break; 2251 2252 case BS3CG1ENC_MODRM_Vps_Wps: 2211 2253 pThis->iRmOp = 1; 2212 2254 pThis->iRegOp = 0; -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1.h
r66464 r66743 105 105 BS3CG1ENC_MODRM_Vq_Mq, 106 106 BS3CG1ENC_MODRM_Vdq_Wdq, 107 BS3CG1ENC_MODRM_Vps_Wps, 107 108 BS3CG1ENC_MODRM_VssZxReg_Wss, 108 109 BS3CG1ENC_MODRM_MbRO,
Note:
See TracChangeset
for help on using the changeset viewer.