VirtualBox

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


Ignore:
Timestamp:
May 23, 2017 11:51:12 AM (8 years ago)
Author:
vboxsync
Message:

IEM: Implemented movntdqa Vdq,Mdq (0x66 0x0f 0x38 0x2a mod!=3).

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

Legend:

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

    r67003 r67040  
    352352        assert len(oInstr.asCpuIds) in [0, 1], str(oInstr);
    353353        if oInstr.asCpuIds:
    354             self.sCpu += oInstr.asCpuIds[0].upper();
     354            self.sCpu += oInstr.asCpuIds[0].upper().replace('.', '_');
    355355        elif oInstr.sMinCpu:
    356356            self.sCpu += 'GE_' + oInstr.sMinCpu;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c

    r67037 r67040  
    24112411
    24122412
    2413 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_MODRM_MsomethingWO_Vsomething(PBS3CG1STATE pThis, unsigned iEncoding)
     2413static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_MODRM_MsomethingWO_Vsomething_OR_ViceVersa(PBS3CG1STATE pThis, unsigned iEncoding)
    24142414{
    24152415    unsigned off;
     
    41884188        case BS3CG1ENC_MODRM_VqHi_WO_Mq:
    41894189            return Bs3Cg1EncodeNext_MODRM_VqHi_WO_Mq(pThis, iEncoding);
    4190         case BS3CG1ENC_MODRM_Vdq_WO_Wdq:
    4191             return Bs3Cg1EncodeNext_MODRM_Vdq_WO_Wdq(pThis, iEncoding);
    41924190        case BS3CG1ENC_MODRM_Vpd_WO_Wpd:
    41934191        case BS3CG1ENC_MODRM_Vps_WO_Wps:
     
    44084406            break;
    44094407
     4408        case BS3CG1ENC_MODRM_Vdq_WO_Mdq:
     4409            pThis->pfnEncoder        = Bs3Cg1EncodeNext_MODRM_MsomethingWO_Vsomething_OR_ViceVersa;
     4410            pThis->iRegOp            = 0;
     4411            pThis->iRmOp             = 1;
     4412            pThis->aOperands[0].cbOp = 16;
     4413            pThis->aOperands[1].cbOp = 16;
     4414            pThis->aOperands[0].enmLocation  = BS3CG1OPLOC_CTX;
     4415            pThis->aOperands[1].enmLocation  = BS3CG1OPLOC_MEM;
     4416            pThis->aOperands[0].idxFieldBase = BS3CG1DST_XMM0;
     4417            break;
     4418
    44104419        case BS3CG1ENC_MODRM_Vdq_WO_Wdq:
     4420            pThis->pfnEncoder        = Bs3Cg1EncodeNext_MODRM_Vdq_WO_Wdq;
    44114421            pThis->iRmOp             = 1;
    44124422            pThis->iRegOp            = 0;
     
    45664576
    45674577        case BS3CG1ENC_MODRM_Mdq_WO_Vdq:
    4568             pThis->pfnEncoder        = Bs3Cg1EncodeNext_MODRM_MsomethingWO_Vsomething;
     4578            pThis->pfnEncoder        = Bs3Cg1EncodeNext_MODRM_MsomethingWO_Vsomething_OR_ViceVersa;
    45694579            pThis->iRmOp             = 0;
    45704580            pThis->iRegOp            = 1;
     
    45994609        case BS3CG1ENC_MODRM_Mps_WO_Vps:
    46004610        case BS3CG1ENC_MODRM_Mpd_WO_Vpd:
    4601             pThis->pfnEncoder        = Bs3Cg1EncodeNext_MODRM_MsomethingWO_Vsomething;
     4611            pThis->pfnEncoder        = Bs3Cg1EncodeNext_MODRM_MsomethingWO_Vsomething_OR_ViceVersa;
    46024612            pThis->iRmOp             = 0;
    46034613            pThis->iRegOp            = 1;
     
    50795089        case BS3CG1CPU_SSE2:
    50805090        case BS3CG1CPU_SSE3:
     5091        case BS3CG1CPU_SSE4_1:
    50815092        case BS3CG1CPU_AVX:
    50825093        case BS3CG1CPU_AVX2:
     
    51585169        case BS3CG1CPU_SSE2:
    51595170        case BS3CG1CPU_SSE3:
     5171        case BS3CG1CPU_SSE4_1:
    51605172        case BS3CG1CPU_AVX:
    51615173            if (g_uBs3CpuDetected & BS3CPU_F_CPUID)
     
    51745186                    case BS3CG1CPU_SSE3:
    51755187                        if (fEcx & X86_CPUID_FEATURE_ECX_SSE3)
     5188                            return Bs3Cg3SetupSseAndAvx(pThis);
     5189                        return false;
     5190                    case BS3CG1CPU_SSE4_1:
     5191                        if (fEcx & X86_CPUID_FEATURE_ECX_SSE4_1)
    51765192                            return Bs3Cg3SetupSseAndAvx(pThis);
    51775193                        return false;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1.h

    r67037 r67040  
    117117    BS3CG1OP_Md_RO,
    118118    BS3CG1OP_Md_WO,
     119    BS3CG1OP_Mdq,
    119120    BS3CG1OP_Mdq_WO,
    120121    BS3CG1OP_Mq,
     
    165166    BS3CG1ENC_MODRM_VqHi_WO_Mq,
    166167    BS3CG1ENC_MODRM_VqZx_WO_Eq_WNZ,
     168    BS3CG1ENC_MODRM_Vdq_WO_Mdq,
    167169    BS3CG1ENC_MODRM_Vdq_WO_Wdq,
    168170    BS3CG1ENC_MODRM_Vpd_WO_Wpd,
     
    262264    BS3CG1CPU_SSE2,
    263265    BS3CG1CPU_SSE3,
     266    BS3CG1CPU_SSE4_1,
    264267    BS3CG1CPU_AVX,
    265268    BS3CG1CPU_AVX2,
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