VirtualBox

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


Ignore:
Timestamp:
Aug 2, 2022 2:48:12 PM (3 years ago)
Author:
vboxsync
Message:

ValKit/bs3-cpu-instr-3: Simple [v]pmaxub test. ​bugref:9898 [fix for the MMX variants]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32

    r95987 r95988  
    33743374BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmaxub(uint8_t bMode)
    33753375{
    3376 #define NO_PMAXUB_64 /** @todo Throws errors on Intel hardware in HM mode. */
    3377 #ifndef NO_PMAXUB_64
    33783376    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64[] =
    33793377    {
     
    33863384        {   /*src2*/ RTUINT256_INIT_C( 4,  5,  7, 0x5555666677778888),
    33873385            /*src1*/ RTUINT256_INIT_C( 4,  6,  7, 0xddddeeeeffff0000),
    3388             /* => */ RTUINT256_INIT_C( 4,  6,  7, 0xddddeeeeffff0000) },
     3386            /* => */ RTUINT256_INIT_C( 4,  6,  7, 0xddddeeeeffff8888) },
    33893387        {   /*src2*/ RTUINT256_INIT_C( 8, 10, 11, 0x9c5ce073930996bb),
    33903388            /*src1*/ RTUINT256_INIT_C(12, 13, 14, 0x43d3cda0238499fd),
    3391             /* => */ RTUINT256_INIT_C(12, 13, 14, 0x9cd3cda0938499fd) },
     3389            /* => */ RTUINT256_INIT_C(12, 13, 14, 0x9cd3e0a0938499fd) },
    33923390        {   /*src2*/ RTUINT256_INIT_C( 8, 10, 11, 0xff820064fffe0042),
    33933391            /*src1*/ RTUINT256_INIT_C(12, 13, 14, 0x0022fe00ff80ff81),
    33943392            /* => */ RTUINT256_INIT_C(12, 13, 14, 0xff82fe64fffeff81) },
    33953393    };
    3396 #endif
    33973394    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValuesOthers[] =
    33983395    {
     
    34103407    static BS3CPUINSTR3_TEST1_T const s_aTests16[] =
    34113408    {
    3412 #ifndef NO_PMAXUB_64
    3413         {  bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c16,          255,         RM_REG, T_SSE,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64 },
    3414         {  bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c16,        255,         RM_MEM, T_SSE,       1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64 },
    3415 #endif
     3409        {  bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c16,          255,         RM_REG, T_MMX_SSE,   1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64 },
     3410        {  bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c16,        255,         RM_MEM, T_MMX_SSE,   1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64 },
    34163411        {  bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c16,        255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers },
    34173412        {  bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c16,       255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers },
     
    34233418    static BS3CPUINSTR3_TEST1_T const s_aTests32[] =
    34243419    {
    3425 #ifndef NO_PMAXUB_64
    3426         {  bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c32,          255,         RM_REG, T_SSE,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64 },
    3427         {  bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c32,        255,         RM_MEM, T_SSE,       1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64 },
    3428 #endif
     3420        {  bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c32,          255,         RM_REG, T_MMX_SSE,   1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64 },
     3421        {  bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c32,        255,         RM_MEM, T_MMX_SSE,   1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64 },
    34293422        {  bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c32,        255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers },
    34303423        {  bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c32,       255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers },
     
    34363429    static BS3CPUINSTR3_TEST1_T const s_aTests64[] =
    34373430    {
    3438 #ifndef NO_PMAXUB_64
    3439         {  bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c64,          255,         RM_REG, T_SSE,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64 },
    3440         {  bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c64,        255,         RM_MEM, T_SSE,       1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64 },
    3441 #endif
     3431        {  bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c64,          255,         RM_REG, T_MMX_SSE,   1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64 },
     3432        {  bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c64,        255,         RM_MEM, T_MMX_SSE,   1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64 },
    34423433        {  bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c64,        255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers },
    34433434        {  bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c64,       255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers },
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