VirtualBox

Ignore:
Timestamp:
Mar 9, 2024 12:28:08 PM (12 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162114
Message:

ValidationKit/bootsectors: add [v]psll[wdq] / [v]psra[wd] / [v]psrl[wdq] testcases for important corner conditions
VMM/IEM: fix vpsll[wdq] / vpsrl[wdq] emulation to actually pass corner case tests, bugref:9898

File:
1 edited

Legend:

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

    r103736 r103745  
    74197419            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    74207420            /* => */ RTUINT256_INIT_C(0xb7406b0058c0a500, 0x5700bb001c808cc0, 0x000056c0e640b0c0, 0xf4c06800e1007f40) },  /* sll 6-by-16 */
     7421        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000543201),
     7422            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7423            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* sll big-by-16 */
    74217424    };
    74227425    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues16_01[] =
     
    74467449            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    74477450            /* => */ RTUINT256_INIT_C(0xb7776b0058cca500, 0x5723bb001c958cc0, 0x003a56c0e658b0c0, 0xf4f36800e1267f40) },  /* sll 6-by-32 */
     7451        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00000000fedca204),
     7452            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7453            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* sll big-by-32 */
    74487454    };
    74497455    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues32_01[] =
     
    74587464            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    74597465            /* => */ RTUINT256_INIT_C(0x76b00000ca500000, 0x3bb0000058cc0000, 0xa56c00008b0c0000, 0x3680000067f40000) },  /* sll 0x12-by-32 */
     7466    };
     7467    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues32_big[] =
     7468    {
     7469        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00000000fedca204),
     7470            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7471            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* sll big-by-32 */
    74607472    };
    74617473    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64[] =
     
    74737485            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    74747486            /* => */ RTUINT256_INIT_C(0xb7776b0258cca500, 0x5723bb101c958cc0, 0x003a56efe658b0c0, 0xf4f36808e1267f40) },  /* sll 6-by-64 */
     7487        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0xf000000102030405),
     7488            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7489            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* sll big-by-64 */
    74757490    };
    74767491    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64_01[] =
     
    74857500            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    74867501            /* => */ RTUINT256_INIT_C(0x76b0258cca500000, 0x3bb101c958cc0000, 0xa56efe658b0c0000, 0x36808e1267f40000) },  /* sll 0x12-by-64 */
     7502    };
     7503    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64_big[] =
     7504    {
     7505        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0xf000000102030405),
     7506            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7507            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* sll big-by-64 */
    74877508    };
    74887509
     
    75107531        {  bs3CpuInstr3_pslld_MM1_001h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    75117532        {  bs3CpuInstr3_pslld_MM1_012h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7533        {  bs3CpuInstr3_pslld_MM1_021h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    75127534        {  bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75137535        {  bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c16,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75147536        {  bs3CpuInstr3_pslld_XMM1_001h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    75157537        {  bs3CpuInstr3_pslld_XMM1_012h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7538        {  bs3CpuInstr3_pslld_XMM1_021h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    75167539        {  bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75177540        {  bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75187541        {  bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    75197542        {  bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7543        {  bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    75207544        {  bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75217545        {  bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75227546        {  bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    75237547        {  bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7548        {  bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    75247549
    75257550        {  bs3CpuInstr3_psllq_MM1_MM2_icebp_c16,           255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
     
    75277552        {  bs3CpuInstr3_psllq_MM1_001h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    75287553        {  bs3CpuInstr3_psllq_MM1_012h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7554        {  bs3CpuInstr3_psllq_MM1_045h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    75297555        {  bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75307556        {  bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c16,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75317557        {  bs3CpuInstr3_psllq_XMM1_001h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    75327558        {  bs3CpuInstr3_psllq_XMM1_012h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7559        {  bs3CpuInstr3_psllq_XMM1_045h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    75337560        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75347561        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75357562        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    75367563        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7564        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    75377565        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75387566        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75397567        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    75407568        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7569        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    75417570    };
    75427571    static BS3CPUINSTR3_TEST1_T const s_aTests32[] =
     
    75637592        {  bs3CpuInstr3_pslld_MM1_001h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    75647593        {  bs3CpuInstr3_pslld_MM1_012h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7594        {  bs3CpuInstr3_pslld_MM1_021h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    75657595        {  bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75667596        {  bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c32,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75677597        {  bs3CpuInstr3_pslld_XMM1_001h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    75687598        {  bs3CpuInstr3_pslld_XMM1_012h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7599        {  bs3CpuInstr3_pslld_XMM1_021h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    75697600        {  bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75707601        {  bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75717602        {  bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    75727603        {  bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7604        {  bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    75737605        {  bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75747606        {  bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    75757607        {  bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    75767608        {  bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7609        {  bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    75777610
    75787611        {  bs3CpuInstr3_psllq_MM1_MM2_icebp_c32,           255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
     
    75807613        {  bs3CpuInstr3_psllq_MM1_001h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    75817614        {  bs3CpuInstr3_psllq_MM1_012h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7615        {  bs3CpuInstr3_psllq_MM1_045h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    75827616        {  bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75837617        {  bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c32,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75847618        {  bs3CpuInstr3_psllq_XMM1_001h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    75857619        {  bs3CpuInstr3_psllq_XMM1_012h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7620        {  bs3CpuInstr3_psllq_XMM1_045h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    75867621        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75877622        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75887623        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    75897624        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7625        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    75907626        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75917627        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    75927628        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    75937629        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7630        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    75947631    };
    75957632    static BS3CPUINSTR3_TEST1_T const s_aTests64[] =
     
    76247661        {  bs3CpuInstr3_pslld_MM1_001h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    76257662        {  bs3CpuInstr3_pslld_MM1_012h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7663        {  bs3CpuInstr3_pslld_MM1_021h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    76267664        {  bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76277665        {  bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c64,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76287666        {  bs3CpuInstr3_pslld_XMM1_001h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    76297667        {  bs3CpuInstr3_pslld_XMM1_012h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7668        {  bs3CpuInstr3_pslld_XMM1_021h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    76307669        {  bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76317670        {  bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76327671        {  bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    76337672        {  bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7673        {  bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    76347674        {  bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76357675        {  bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76367676        {  bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    76377677        {  bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7678        {  bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    76387679        {  bs3CpuInstr3_vpslld_XMM8_XMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX_128,   8, 9,  10, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76397680        {  bs3CpuInstr3_vpslld_XMM8_XMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76407681        {  bs3CpuInstr3_vpslld_XMM8_XMM9_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    76417682        {  bs3CpuInstr3_vpslld_XMM8_XMM9_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7683        {  bs3CpuInstr3_vpslld_XMM8_XMM9_021h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    76427684        {  bs3CpuInstr3_vpslld_YMM8_YMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX2_256,  8, 9,  10, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76437685        {  bs3CpuInstr3_vpslld_YMM8_YMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    76447686        {  bs3CpuInstr3_vpslld_YMM8_YMM9_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    76457687        {  bs3CpuInstr3_vpslld_YMM8_YMM9_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7688        {  bs3CpuInstr3_vpslld_YMM8_YMM9_021h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    76467689
    76477690        {  bs3CpuInstr3_psllq_MM1_MM2_icebp_c64,           255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
     
    76497692        {  bs3CpuInstr3_psllq_MM1_001h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    76507693        {  bs3CpuInstr3_psllq_MM1_012h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7694        {  bs3CpuInstr3_psllq_MM1_045h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    76517695        {  bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76527696        {  bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c64,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76537697        {  bs3CpuInstr3_psllq_XMM1_001h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    76547698        {  bs3CpuInstr3_psllq_XMM1_012h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7699        {  bs3CpuInstr3_psllq_XMM1_045h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    76557700        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76567701        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76577702        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    76587703        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7704        {  bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    76597705        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76607706        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76617707        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    76627708        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7709        {  bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    76637710        {  bs3CpuInstr3_vpsllq_XMM8_XMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX_128,   8, 9,  10, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76647711        {  bs3CpuInstr3_vpsllq_XMM8_XMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76657712        {  bs3CpuInstr3_vpsllq_XMM8_XMM9_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    76667713        {  bs3CpuInstr3_vpsllq_XMM8_XMM9_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7714        {  bs3CpuInstr3_vpsllq_XMM8_XMM9_045h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    76677715        {  bs3CpuInstr3_vpsllq_YMM8_YMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX2_256,  8, 9,  10, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76687716        {  bs3CpuInstr3_vpsllq_YMM8_YMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    76697717        {  bs3CpuInstr3_vpsllq_YMM8_YMM9_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    76707718        {  bs3CpuInstr3_vpsllq_YMM8_YMM9_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     7719        {  bs3CpuInstr3_vpsllq_YMM8_YMM9_045h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    76717720    };
    76727721    static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     
    76967745            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    76977746            /* => */ RTUINT256_INIT_C(0x007bff76002500ca, 0xffe5fe3b01010158, 0xfe20ffa5fefe018b, 0x010fff36008efe67) },  /* sra 6-by-16 */
     7747        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000543201),
     7748            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7749            /* => */ RTUINT256_INIT_C(0x0000ffff00000000, 0xffffffff00000000, 0xffffffffffff0000, 0x0000ffff0000ffff) },  /* sra big-by-16 */
    76987750    };
    76997751    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues16_01[] =
     
    77237775            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    77247776            /* => */ RTUINT256_INIT_C(0x007b777600258cca, 0xffe5723b0101c958, 0xfe2003a5fefe658b, 0x010f4f36008e1267) },  /* sra 6-by-32 */
     7777        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00000000fedca204),
     7778            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7779            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0xffffffff00000000, 0xffffffffffffffff, 0x0000000000000000) },  /* sra big-by-32 */
    77257780    };
    77267781    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues32_01[] =
     
    77357790            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    77367791            /* => */ RTUINT256_INIT_C(0x000007b700000258, 0xfffffe570000101c, 0xffffe200ffffefe6, 0x000010f4000008e1) },  /* sra 0x12-by-32 */
     7792    };
     7793    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues32_big[] =
     7794    {
     7795        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00000000fedca204),
     7796            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7797            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0xffffffff00000000, 0xffffffffffffffff, 0x0000000000000000) },  /* sra big-by-32 */
    77377798    };
    77387799    static BS3CPUINSTR3_TEST1_T const s_aTests16[] =
     
    77597820        {  bs3CpuInstr3_psrad_MM1_001h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    77607821        {  bs3CpuInstr3_psrad_MM1_012h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7822        {  bs3CpuInstr3_psrad_MM1_021h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    77617823        {  bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    77627824        {  bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c16,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    77637825        {  bs3CpuInstr3_psrad_XMM1_001h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    77647826        {  bs3CpuInstr3_psrad_XMM1_012h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7827        {  bs3CpuInstr3_psrad_XMM1_021h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    77657828        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    77667829        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    77677830        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    77687831        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7832        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    77697833        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    77707834        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    77717835        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    77727836        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7837        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    77737838    };
    77747839    static BS3CPUINSTR3_TEST1_T const s_aTests32[] =
     
    77957860        {  bs3CpuInstr3_psrad_MM1_001h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    77967861        {  bs3CpuInstr3_psrad_MM1_012h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7862        {  bs3CpuInstr3_psrad_MM1_021h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    77977863        {  bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    77987864        {  bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c32,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    77997865        {  bs3CpuInstr3_psrad_XMM1_001h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78007866        {  bs3CpuInstr3_psrad_XMM1_012h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7867        {  bs3CpuInstr3_psrad_XMM1_021h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78017868        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78027869        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78037870        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78047871        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7872        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78057873        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78067874        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78077875        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78087876        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7877        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78097878    };
    78107879    static BS3CPUINSTR3_TEST1_T const s_aTests64[] =
     
    78397908        {  bs3CpuInstr3_psrad_MM1_001h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78407909        {  bs3CpuInstr3_psrad_MM1_012h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7910        {  bs3CpuInstr3_psrad_MM1_021h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78417911        {  bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78427912        {  bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c64,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78437913        {  bs3CpuInstr3_psrad_XMM1_001h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78447914        {  bs3CpuInstr3_psrad_XMM1_012h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7915        {  bs3CpuInstr3_psrad_XMM1_021h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78457916        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78467917        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78477918        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78487919        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7920        {  bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78497921        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78507922        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78517923        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78527924        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7925        {  bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78537926        {  bs3CpuInstr3_vpsrad_XMM8_XMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX_128,   8, 9,  10, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78547927        {  bs3CpuInstr3_vpsrad_XMM8_XMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78557928        {  bs3CpuInstr3_vpsrad_XMM8_XMM9_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78567929        {  bs3CpuInstr3_vpsrad_XMM8_XMM9_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7930        {  bs3CpuInstr3_vpsrad_XMM8_XMM9_021h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78577931        {  bs3CpuInstr3_vpsrad_YMM8_YMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX2_256,  8, 9,  10, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78587932        {  bs3CpuInstr3_vpsrad_YMM8_YMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    78597933        {  bs3CpuInstr3_vpsrad_YMM8_YMM9_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    78607934        {  bs3CpuInstr3_vpsrad_YMM8_YMM9_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     7935        {  bs3CpuInstr3_vpsrad_YMM8_YMM9_021h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    78617936    };
    78627937    static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     
    78867961            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    78877962            /* => */ RTUINT256_INIT_C(0x007b0376002500ca, 0x03e5023b01010158, 0x022003a502fe018b, 0x010f0336008e0267) },  /* srl 6-by-16 */
     7963        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000543201),
     7964            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7965            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* srl big-by-16 */
    78887966    };
    78897967    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues16_01[] =
     
    79137991            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    79147992            /* => */ RTUINT256_INIT_C(0x007b777600258cca, 0x03e5723b0101c958, 0x022003a502fe658b, 0x010f4f36008e1267) },  /* srl 6-by-32 */
     7993        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00000000fedca204),
     7994            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     7995            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* srl big-by-32 */
    79157996    };
    79167997    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues32_01[] =
     
    79268007            /* => */ RTUINT256_INIT_C(0x000007b700000258, 0x00003e570000101c, 0x0000220000002fe6, 0x000010f4000008e1) },  /* srl 0x12-by-32 */
    79278008
     8009    };
     8010    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues32_big[] =
     8011    {
     8012        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00000000fedca204),
     8013            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     8014            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* srl big-by-32 */
    79288015    };
    79298016    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64[] =
     
    79418028            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    79428029            /* => */ RTUINT256_INIT_C(0x007b7776b0258cca, 0x03e5723bb101c958, 0x022003a56efe658b, 0x010f4f36808e1267) },  /* srl 6-by-64 */
     8030        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0xf000000102030405),
     8031            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     8032            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* srl big-by-64 */
    79438033    };
    79448034    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64_01[] =
     
    79538043            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
    79548044            /* => */ RTUINT256_INIT_C(0x000007b7776b0258, 0x00003e5723bb101c, 0x000022003a56efe6, 0x000010f4f36808e1) },  /* srl 0x12-by-64 */
     8045    };
     8046    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64_big[] =
     8047    {
     8048        {   /*src2*/ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0xf000000102030405),
     8049            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     8050            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },  /* srl big-by-64 */
    79558051    };
    79568052    static BS3CPUINSTR3_TEST1_T const s_aTests16[] =
     
    79778073        {  bs3CpuInstr3_psrld_MM1_001h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    79788074        {  bs3CpuInstr3_psrld_MM1_012h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8075        {  bs3CpuInstr3_psrld_MM1_021h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    79798076        {  bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    79808077        {  bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c16,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    79818078        {  bs3CpuInstr3_psrld_XMM1_001h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    79828079        {  bs3CpuInstr3_psrld_XMM1_012h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8080        {  bs3CpuInstr3_psrld_XMM1_021h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    79838081        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    79848082        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    79858083        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    79868084        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8085        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    79878086        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    79888087        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    79898088        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    79908089        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8090        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    79918091
    79928092        {  bs3CpuInstr3_psrlq_MM1_MM2_icebp_c16,           255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
     
    79948094        {  bs3CpuInstr3_psrlq_MM1_001h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    79958095        {  bs3CpuInstr3_psrlq_MM1_012h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8096        {  bs3CpuInstr3_psrlq_MM1_045h_icebp_c16,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    79968097        {  bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
    79978098        {  bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c16,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    79988099        {  bs3CpuInstr3_psrlq_XMM1_001h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    79998100        {  bs3CpuInstr3_psrlq_XMM1_012h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8101        {  bs3CpuInstr3_psrlq_XMM1_045h_icebp_c16,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    80008102        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80018103        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80028104        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    80038105        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8106        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c16,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    80048107        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80058108        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c16,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80068109        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    80078110        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8111        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c16,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    80088112    };
    80098113    static BS3CPUINSTR3_TEST1_T const s_aTests32[] =
     
    80308134        {  bs3CpuInstr3_psrld_MM1_001h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    80318135        {  bs3CpuInstr3_psrld_MM1_012h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8136        {  bs3CpuInstr3_psrld_MM1_021h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    80328137        {  bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80338138        {  bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c32,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80348139        {  bs3CpuInstr3_psrld_XMM1_001h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    80358140        {  bs3CpuInstr3_psrld_XMM1_012h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8141        {  bs3CpuInstr3_psrld_XMM1_021h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    80368142        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80378143        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80388144        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    80398145        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8146        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    80408147        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80418148        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80428149        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    80438150        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8151        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    80448152
    80458153        {  bs3CpuInstr3_psrlq_MM1_MM2_icebp_c32,           255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
     
    80478155        {  bs3CpuInstr3_psrlq_MM1_001h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    80488156        {  bs3CpuInstr3_psrlq_MM1_012h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8157        {  bs3CpuInstr3_psrlq_MM1_045h_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    80498158        {  bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80508159        {  bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c32,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80518160        {  bs3CpuInstr3_psrlq_XMM1_001h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    80528161        {  bs3CpuInstr3_psrlq_XMM1_012h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8162        {  bs3CpuInstr3_psrlq_XMM1_045h_icebp_c32,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    80538163        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80548164        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80558165        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    80568166        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8167        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c32,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    80578168        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80588169        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c32,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    80598170        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    80608171        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8172        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c32,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    80618173    };
    80628174    static BS3CPUINSTR3_TEST1_T const s_aTests64[] =
     
    80918203        {  bs3CpuInstr3_psrld_MM1_001h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    80928204        {  bs3CpuInstr3_psrld_MM1_012h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8205        {  bs3CpuInstr3_psrld_MM1_021h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    80938206        {  bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80948207        {  bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c64,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80958208        {  bs3CpuInstr3_psrld_XMM1_001h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    80968209        {  bs3CpuInstr3_psrld_XMM1_012h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8210        {  bs3CpuInstr3_psrld_XMM1_021h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    80978211        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80988212        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    80998213        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    81008214        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8215        {  bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    81018216        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues32), s_aValues32  },
    81028217        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    81038218        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    81048219        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8220        {  bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    81058221        {  bs3CpuInstr3_vpsrld_XMM8_XMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX_128,   8, 9,  10, RT_ELEMENTS(s_aValues32), s_aValues32  },
    81068222        {  bs3CpuInstr3_vpsrld_XMM8_XMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    81078223        {  bs3CpuInstr3_vpsrld_XMM8_XMM9_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    81088224        {  bs3CpuInstr3_vpsrld_XMM8_XMM9_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8225        {  bs3CpuInstr3_vpsrld_XMM8_XMM9_021h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    81098226        {  bs3CpuInstr3_vpsrld_YMM8_YMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX2_256,  8, 9,  10, RT_ELEMENTS(s_aValues32), s_aValues32  },
    81108227        {  bs3CpuInstr3_vpsrld_YMM8_YMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32  },
    81118228        {  bs3CpuInstr3_vpsrld_YMM8_YMM9_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01  },
    81128229        {  bs3CpuInstr3_vpsrld_YMM8_YMM9_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12  },
     8230        {  bs3CpuInstr3_vpsrld_YMM8_YMM9_021h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big  },
    81138231
    81148232        {  bs3CpuInstr3_psrlq_MM1_MM2_icebp_c64,           255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
     
    81168234        {  bs3CpuInstr3_psrlq_MM1_001h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    81178235        {  bs3CpuInstr3_psrlq_MM1_012h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8236        {  bs3CpuInstr3_psrlq_MM1_045h_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    81188237        {  bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81198238        {  bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c64,        255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81208239        {  bs3CpuInstr3_psrlq_XMM1_001h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    81218240        {  bs3CpuInstr3_psrlq_XMM1_012h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8241        {  bs3CpuInstr3_psrlq_XMM1_045h_icebp_c64,         255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    81228242        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81238243        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81248244        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    81258245        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8246        {  bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c64,   255,         RM_REG, T_AVX_128,   1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    81268247        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   3, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81278248        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81288249        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    81298250        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8251        {  bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c64,   255,         RM_REG, T_AVX2_256,  1, 2,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    81308252        {  bs3CpuInstr3_vpsrlq_XMM8_XMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX_128,   8, 9,  10, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81318253        {  bs3CpuInstr3_vpsrlq_XMM8_XMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX_128,   8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81328254        {  bs3CpuInstr3_vpsrlq_XMM8_XMM9_001h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    81338255        {  bs3CpuInstr3_vpsrlq_XMM8_XMM9_012h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8256        {  bs3CpuInstr3_vpsrlq_XMM8_XMM9_045h_icebp_c64,   255,         RM_REG, T_AVX_128,   8, 9,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    81348257        {  bs3CpuInstr3_vpsrlq_YMM8_YMM9_XMM10_icebp_c64,  255,         RM_REG, T_AVX2_256,  8, 9,  10, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81358258        {  bs3CpuInstr3_vpsrlq_YMM8_YMM9_FSxBX_icebp_c64,  X86_XCPT_DB, RM_MEM, T_AVX2_256,  8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64  },
    81368259        {  bs3CpuInstr3_vpsrlq_YMM8_YMM9_001h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01  },
    81378260        {  bs3CpuInstr3_vpsrlq_YMM8_YMM9_012h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12  },
     8261        {  bs3CpuInstr3_vpsrlq_YMM8_YMM9_045h_icebp_c64,   255,         RM_REG, T_AVX2_256,  8, 9,   1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big  },
    81388262    };
    81398263    static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
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