VirtualBox

Changeset 104077 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Mar 27, 2024 8:19:55 AM (12 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162471
Message:

ValidationKit/bootsectors: Implement testcases for [v]pinsr[bdq] instructions, bugref:9898

  • plus a few missing pinsrw testcases
Location:
trunk/src/VBox/ValidationKit/bootsectors
Files:
2 edited

Legend:

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

    r104060 r104077  
    21302130
    21312131;
     2132; [V]PINSRB
     2133;
     2134EMIT_INSTR_PLUS_ICEBP       pinsrb,  XMM1, EDX,   0FFh
     2135EMIT_INSTR_PLUS_ICEBP       pinsrb,  XMM1, FSxBX, 0FFh
     2136EMIT_INSTR_PLUS_ICEBP       pinsrb,  XMM1, EDX,   000h
     2137EMIT_INSTR_PLUS_ICEBP       pinsrb,  XMM1, FSxBX, 000h
     2138
     2139EMIT_INSTR_PLUS_ICEBP       vpinsrb, XMM1, XMM2,  EDX,   0FFh
     2140EMIT_INSTR_PLUS_ICEBP       vpinsrb, XMM1, XMM2,  FSxBX, 0FFh
     2141EMIT_INSTR_PLUS_ICEBP       vpinsrb, XMM1, XMM2,  EDX,   000h
     2142EMIT_INSTR_PLUS_ICEBP       vpinsrb, XMM1, XMM2,  FSxBX, 000h
     2143
     2144EMIT_INSTR_PLUS_ICEBP_C64   pinsrb,  XMM8, R9D,   0FFh
     2145EMIT_INSTR_PLUS_ICEBP_C64   pinsrb,  XMM8, FSxBX, 0FFh
     2146EMIT_INSTR_PLUS_ICEBP_C64   pinsrb,  XMM8, R9D,   000h
     2147EMIT_INSTR_PLUS_ICEBP_C64   pinsrb,  XMM8, FSxBX, 000h
     2148
     2149EMIT_INSTR_PLUS_ICEBP_C64   vpinsrb, XMM8, XMM9,  R9D,   0FFh
     2150EMIT_INSTR_PLUS_ICEBP_C64   vpinsrb, XMM8, XMM9,  FSxBX, 0FFh
     2151EMIT_INSTR_PLUS_ICEBP_C64   vpinsrb, XMM8, XMM9,  R9D,   000h
     2152EMIT_INSTR_PLUS_ICEBP_C64   vpinsrb, XMM8, XMM9,  FSxBX, 000h
     2153
     2154;
    21322155; [V]PINSRW
    21332156;
    2134 EMIT_INSTR_PLUS_ICEBP   pinsrw,  MM1, EDX,   0FFh
    2135 EMIT_INSTR_PLUS_ICEBP   pinsrw,  MM1, FSxBX, 0FFh
    2136 EMIT_INSTR_PLUS_ICEBP   pinsrw,  MM1, EDX,   000h
    2137 EMIT_INSTR_PLUS_ICEBP   pinsrw,  MM1, FSxBX, 000h
    2138 
    2139 EMIT_INSTR_PLUS_ICEBP   pinsrw,  XMM1, EDX,   0FFh
    2140 EMIT_INSTR_PLUS_ICEBP   pinsrw,  XMM1, FSxBX, 0FFh
    2141 EMIT_INSTR_PLUS_ICEBP   pinsrw,  XMM1, EDX,   000h
    2142 EMIT_INSTR_PLUS_ICEBP   pinsrw,  XMM1, FSxBX, 000h
    2143 
    2144 EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM1, XMM2, EDX,   0FFh
    2145 EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM1, XMM2, FSxBX, 0FFh
    2146 EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM1, XMM2, EDX,   000h
    2147 EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM1, XMM2, FSxBX, 000h
    2148 
    2149 EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  MM1, R9D,   0FFh
    2150 EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  MM1, R9D,   000h
     2157EMIT_INSTR_PLUS_ICEBP       pinsrw,  MM1, EDX,   0FFh
     2158EMIT_INSTR_PLUS_ICEBP       pinsrw,  MM1, FSxBX, 0FFh
     2159EMIT_INSTR_PLUS_ICEBP       pinsrw,  MM1, EDX,   000h
     2160EMIT_INSTR_PLUS_ICEBP       pinsrw,  MM1, FSxBX, 000h
     2161
     2162EMIT_INSTR_PLUS_ICEBP       pinsrw,  XMM1, EDX,   0FFh
     2163EMIT_INSTR_PLUS_ICEBP       pinsrw,  XMM1, FSxBX, 0FFh
     2164EMIT_INSTR_PLUS_ICEBP       pinsrw,  XMM1, EDX,   000h
     2165EMIT_INSTR_PLUS_ICEBP       pinsrw,  XMM1, FSxBX, 000h
     2166
     2167EMIT_INSTR_PLUS_ICEBP       vpinsrw, XMM1, XMM2, EDX,   0FFh
     2168EMIT_INSTR_PLUS_ICEBP       vpinsrw, XMM1, XMM2, FSxBX, 0FFh
     2169EMIT_INSTR_PLUS_ICEBP       vpinsrw, XMM1, XMM2, EDX,   000h
     2170EMIT_INSTR_PLUS_ICEBP       vpinsrw, XMM1, XMM2, FSxBX, 000h
     2171
     2172EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  MM1,  R9D,   0FFh
     2173EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  MM1,  R9D,   000h
    21512174
    21522175EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM8, R9D,   0FFh
     
    21552178EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM8, FSxBX, 000h
    21562179
    2157 EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9, R9D,   0FFh
    2158 EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9, FSxBX, 0FFh
    2159 EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9, R9D,   000h
    2160 EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9, FSxBX, 000h
     2180EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM1, RDX,   0FFh
     2181EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM8, R9,    0FFh
     2182EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM1, RDX,   000h
     2183EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM8, R9,    000h
     2184
     2185EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9,  R9D,   0FFh
     2186EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9,  FSxBX, 0FFh
     2187EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9,  R9D,   000h
     2188EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9,  FSxBX, 000h
     2189
     2190;
     2191; [V]PINSRD
     2192;
     2193EMIT_INSTR_PLUS_ICEBP       pinsrd,  XMM1, EDX,   0FFh
     2194EMIT_INSTR_PLUS_ICEBP       pinsrd,  XMM1, FSxBX, 0FFh
     2195EMIT_INSTR_PLUS_ICEBP       pinsrd,  XMM1, EDX,   000h
     2196EMIT_INSTR_PLUS_ICEBP       pinsrd,  XMM1, FSxBX, 000h
     2197
     2198EMIT_INSTR_PLUS_ICEBP       vpinsrd, XMM1, XMM2,  EDX,   0FFh
     2199EMIT_INSTR_PLUS_ICEBP       vpinsrd, XMM1, XMM2,  FSxBX, 0FFh
     2200EMIT_INSTR_PLUS_ICEBP       vpinsrd, XMM1, XMM2,  EDX,   000h
     2201EMIT_INSTR_PLUS_ICEBP       vpinsrd, XMM1, XMM2,  FSxBX, 000h
     2202
     2203EMIT_INSTR_PLUS_ICEBP_C64   pinsrd,  XMM8, R9D,   0FFh
     2204EMIT_INSTR_PLUS_ICEBP_C64   pinsrd,  XMM8, FSxBX, 0FFh
     2205EMIT_INSTR_PLUS_ICEBP_C64   pinsrd,  XMM8, R9D,   000h
     2206EMIT_INSTR_PLUS_ICEBP_C64   pinsrd,  XMM8, FSxBX, 000h
     2207
     2208EMIT_INSTR_PLUS_ICEBP_C64   vpinsrd, XMM8, XMM9,  R9D,   0FFh
     2209EMIT_INSTR_PLUS_ICEBP_C64   vpinsrd, XMM8, XMM9,  FSxBX, 0FFh
     2210EMIT_INSTR_PLUS_ICEBP_C64   vpinsrd, XMM8, XMM9,  R9D,   000h
     2211EMIT_INSTR_PLUS_ICEBP_C64   vpinsrd, XMM8, XMM9,  FSxBX, 000h
     2212
     2213;
     2214; [V]PINSRQ
     2215;
     2216EMIT_INSTR_PLUS_ICEBP_C64   pinsrq,  XMM1, RDX,   0FFh
     2217EMIT_INSTR_PLUS_ICEBP_C64   pinsrq,  XMM1, FSxBX, 0FFh
     2218EMIT_INSTR_PLUS_ICEBP_C64   pinsrq,  XMM1, RDX,   000h
     2219EMIT_INSTR_PLUS_ICEBP_C64   pinsrq,  XMM1, FSxBX, 000h
     2220
     2221EMIT_INSTR_PLUS_ICEBP_C64   vpinsrq, XMM1, XMM2,  RDX,   0FFh
     2222EMIT_INSTR_PLUS_ICEBP_C64   vpinsrq, XMM1, XMM2,  FSxBX, 0FFh
     2223EMIT_INSTR_PLUS_ICEBP_C64   vpinsrq, XMM1, XMM2,  RDX,   000h
     2224EMIT_INSTR_PLUS_ICEBP_C64   vpinsrq, XMM1, XMM2,  FSxBX, 000h
     2225
     2226EMIT_INSTR_PLUS_ICEBP_C64   pinsrq,  XMM8, R9,    0FFh
     2227EMIT_INSTR_PLUS_ICEBP_C64   pinsrq,  XMM8, FSxBX, 0FFh
     2228EMIT_INSTR_PLUS_ICEBP_C64   pinsrq,  XMM8, R9,    000h
     2229EMIT_INSTR_PLUS_ICEBP_C64   pinsrq,  XMM8, FSxBX, 000h
     2230
     2231EMIT_INSTR_PLUS_ICEBP_C64   vpinsrq, XMM8, XMM9,  R9,    0FFh
     2232EMIT_INSTR_PLUS_ICEBP_C64   vpinsrq, XMM8, XMM9,  FSxBX, 0FFh
     2233EMIT_INSTR_PLUS_ICEBP_C64   vpinsrq, XMM8, XMM9,  R9,    000h
     2234EMIT_INSTR_PLUS_ICEBP_C64   vpinsrq, XMM8, XMM9,  FSxBX, 000h
    21612235
    21622236;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32

    r104066 r104077  
    1351613516
    1351713517/*
    13518  * [V]PINSRW.
     13518 * [V]PINSRB / [V]PINSRW / [V]PINSRD / [V]PINSRQ.
    1351913519 */
    13520 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pinsrw(uint8_t bMode)
    13521 {
    13522     static BS3CPUINSTR3_TEST6_VALUES_T const s_aValues00[] =
    13523     {
    13524         /* Media source                 GPR word          Media dest. */
    13525         { RTUINT256_INIT_C(0, 0, 0, 0), UINT64_C(0x1234), RTUINT256_INIT_C(0, 0, 0, 0x0000000000001234) },
    13526     };
    13527     static BS3CPUINSTR3_TEST6_VALUES_T const s_aValuesFF_64[] =
    13528     {
    13529         /* Media source                 GPR word          Media dest. */
    13530         { RTUINT256_INIT_C(0, 0, 0, 0), UINT64_C(0x1234), RTUINT256_INIT_C(0, 0, 0, 0x1234000000000000) },
    13531     };
    13532     static BS3CPUINSTR3_TEST6_VALUES_T const s_aValuesFF[] =
    13533     {
    13534         /* Media source                 GPR word          Media dest. */
    13535         { RTUINT256_INIT_C(0, 0, 0, 0), UINT64_C(0x1234), RTUINT256_INIT_C(0, 0, 0x1234000000000000, 0) },
     13520BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pinsrb_pinsrw_pinsrd_pinsrq(uint8_t bMode)
     13521{
     13522    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValues00_b[] =
     13523    {
     13524        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x807f6e5d4c3b2a19, 0xf0e1d2c3b4a59687),
     13525          /*gprSrc*/         UINT64_C(                          0xcdefba9845671234),
     13526          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x807f6e5d4c3b2a19, 0xf0e1d2c3b4a59634) },
     13527    };
     13528    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValuesFF_b[] =
     13529    {
     13530        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x0000000000000000, 0x0000000000000000),
     13531          /*gprSrc*/         UINT64_C(                          0x0000000000001234),
     13532          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x3400000000000000, 0x0000000000000000) },
     13533    };
     13534    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValues00_w[] =
     13535    {
     13536        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x807f6e5d4c3b2a19, 0xf0e1d2c3b4a59687),
     13537          /*gprSrc*/         UINT64_C(                          0xcdefba9845671234),
     13538          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x807f6e5d4c3b2a19, 0xf0e1d2c3b4a51234) },
     13539    };
     13540    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValuesFF_w_64[] =
     13541    {
     13542        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x0000000000000000, 0x0000000000000000),
     13543          /*gprSrc*/         UINT64_C(                          0x0000000000001234),
     13544          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x0000000000000000, 0x1234000000000000) },
     13545    };
     13546    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValuesFF_w[] =
     13547    {
     13548        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x0000000000000000, 0x0000000000000000),
     13549          /*gprSrc*/         UINT64_C(                          0x0000000000001234),
     13550          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x1234000000000000, 0x0000000000000000) },
     13551    };
     13552    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValues00_d[] =
     13553    {
     13554        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x807f6e5d4c3b2a19, 0xf0e1d2c3b4a59687),
     13555          /*gprSrc*/         UINT64_C(                          0xcdefba9845671234),
     13556          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x807f6e5d4c3b2a19, 0xf0e1d2c345671234) },
     13557    };
     13558    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValuesFF_d[] =
     13559    {
     13560        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x0000000000000000, 0x0000000000000000),
     13561          /*gprSrc*/         UINT64_C(                          0x0000000000001234),
     13562          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x0000123400000000, 0x0000000000000000) },
     13563    };
     13564    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValues00_q[] =
     13565    {
     13566        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x807f6e5d4c3b2a19, 0xf0e1d2c3b4a59687),
     13567          /*gprSrc*/         UINT64_C(                          0xcdefba9845671234),
     13568          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x807f6e5d4c3b2a19, 0xcdefba9845671234) },
     13569    };
     13570    static BS3CPUINSTR3_TEST6_VALUES_T const s_aValuesFF_q[] =
     13571    {
     13572        { /*medSrc*/ RTUINT256_INIT_C(0, 0, 0x0000000000000000, 0x0000000000000000),
     13573          /*gprSrc*/         UINT64_C(                          0x0000000000001234),
     13574          /*medDst*/ RTUINT256_INIT_C(0, 0, 0x0000000000001234, 0x0000000000000000) },
    1353613575    };
    1353713576
    1353813577    static BS3CPUINSTR3_TEST6_T const s_aTests16[] =
    1353913578    {
    13540         {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c16,          255,         RM_REG,   T_MMX_SSE, 4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13541         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c16,        255,         RM_MEM32, T_MMX_SSE, 4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13542         {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c16,          255,         RM_REG,   T_MMX_SSE, 4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_64), s_aValuesFF_64 },
    13543         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c16,        255,         RM_MEM32, T_MMX_SSE, 4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_64), s_aValuesFF_64 },
    13544 
    13545         {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c16,         255,         RM_REG,   T_SSE,     4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13546         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM32, T_SSE,     4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13547         {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c16,         255,         RM_REG,   T_SSE,     4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13548         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM32, T_SSE,     4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13549 
    13550         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13551         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13552         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13553         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
     13579        {  bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c16,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13580        {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13581        {  bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c16,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13582        {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13583
     13584        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c16,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13585        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13586        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c16,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13587        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13588
     13589        {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c16,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13590        {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c16,        X86_XCPT_AC, RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13591        {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c16,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
     13592        {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c16,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
     13593
     13594        {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c16,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13595        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13596        {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c16,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13597        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13598
     13599        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c16,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13600        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13601        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c16,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13602        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13603
     13604        {  bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c16,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13605        {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13606        {  bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c16,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13607        {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13608        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13609        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13610        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13611        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    1355413612    };
    1355513613    static BS3CPUINSTR3_TEST6_T const s_aTests32[] =
    1355613614    {
    13557         {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c32,          255,         RM_REG,   T_MMX_SSE, 4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13558         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c32,        255,         RM_MEM32, T_MMX_SSE, 4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13559         {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c32,          255,         RM_REG,   T_MMX_SSE, 4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_64), s_aValuesFF_64 },
    13560         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c32,        255,         RM_MEM32, T_MMX_SSE, 4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_64), s_aValuesFF_64 },
    13561 
    13562         {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c32,         255,         RM_REG,   T_SSE,     4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13563         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM32, T_SSE,     4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13564         {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c32,         255,         RM_REG,   T_SSE,     4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13565         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM32, T_SSE,     4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13566 
    13567         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13568         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13569         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13570         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
     13615        {  bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c32,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13616        {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13617        {  bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c32,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13618        {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13619
     13620        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c32,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13621        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13622        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c32,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13623        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13624
     13625        {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c32,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13626        {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c32,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13627        {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c32,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
     13628        {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c32,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
     13629
     13630        {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c32,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13631        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13632        {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c32,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13633        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13634
     13635        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c32,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13636        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13637        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c32,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13638        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13639
     13640        {  bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c32,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13641        {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13642        {  bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c32,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13643        {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13644        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13645        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13646        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13647        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    1357113648    };
    1357213649    static BS3CPUINSTR3_TEST6_T const s_aTests64[] =
    1357313650    {
    13574         {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13575         {  bs3CpuInstr3_pinsrw_MM1_R9D_000h_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 4, 32,   9,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13576         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c64,        255,         RM_MEM32, T_MMX_SSE, 4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13577         {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_64), s_aValuesFF_64 },
    13578         {  bs3CpuInstr3_pinsrw_MM1_R9D_0FFh_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 4, 32,   9,  1,  1, RT_ELEMENTS(s_aValuesFF_64), s_aValuesFF_64 },
    13579         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c64,        255,         RM_MEM32, T_MMX_SSE, 4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_64), s_aValuesFF_64 },
    13580 
    13581         {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c64,         255,         RM_REG,   T_SSE,     4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13582         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE,     4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13583         {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE,     4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13584         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE,     4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13585 
    13586         {  bs3CpuInstr3_pinsrw_XMM8_R9D_000h_icebp_c64,         255,         RM_REG,   T_SSE,     4, 32,   9,  8,  8, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13587         {  bs3CpuInstr3_pinsrw_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE,     4, 32, 255,  8,  8, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13588         {  bs3CpuInstr3_pinsrw_XMM8_R9D_0FFh_icebp_c64,         255,         RM_REG,   T_SSE,     4, 32,   9,  8,  8, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13589         {  bs3CpuInstr3_pinsrw_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE,     4, 32, 255,  8,  8, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13590 
    13591         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13592         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13593         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13594         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13595 
    13596         {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   9,  9,  8, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13597         {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  9,  8, RT_ELEMENTS(s_aValues00),    s_aValues00 },
    13598         {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   9,  9,  8, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13599         {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  9,  8, RT_ELEMENTS(s_aValuesFF),    s_aValuesFF },
    13600     };
     13651        {  bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13652        {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13653        {  bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13654        {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13655
     13656        {  bs3CpuInstr3_pinsrb_XMM8_R9D_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  1,  8,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13657        {  bs3CpuInstr3_pinsrb_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  8,  8, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13658        {  bs3CpuInstr3_pinsrb_XMM8_R9D_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  1,  8,   9,  8,  8, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13659        {  bs3CpuInstr3_pinsrb_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  8,  8, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13660
     13661        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13662        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13663        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13664        {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13665
     13666        {  bs3CpuInstr3_vpinsrb_XMM8_XMM9_R9D_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 1,  8,   9,  9,  8, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13667        {  bs3CpuInstr3_vpinsrb_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  9,  8, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
     13668        {  bs3CpuInstr3_vpinsrb_XMM8_XMM9_R9D_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 1,  8,   9,  9,  8, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13669        {  bs3CpuInstr3_vpinsrb_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  9,  8, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
     13670
     13671        {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13672        {  bs3CpuInstr3_pinsrw_MM1_R9D_000h_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 2, 16,   9,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13673        {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c64,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13674        {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
     13675        {  bs3CpuInstr3_pinsrw_MM1_R9D_0FFh_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 2, 16,   9,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
     13676        {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c64,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
     13677
     13678        {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c64,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13679        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13680        {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13681        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13682
     13683        {  bs3CpuInstr3_pinsrw_XMM8_R9D_000h_icebp_c64,         255,         RM_REG,   T_SSE,     2, 16,   9,  8,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13684        {  bs3CpuInstr3_pinsrw_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE,     2, 16, 255,  8,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13685        {  bs3CpuInstr3_pinsrw_XMM8_R9D_0FFh_icebp_c64,         255,         RM_REG,   T_SSE,     2, 16,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13686        {  bs3CpuInstr3_pinsrw_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE,     2, 16, 255,  8,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13687
     13688        {  bs3CpuInstr3_pinsrw_XMM1_RDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13689        {  bs3CpuInstr3_pinsrw_XMM8_R9_0FFh_icebp_c64,          255,         RM_REG,   T_SSE4_1,  2, 16,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13690        {  bs3CpuInstr3_pinsrw_XMM1_RDX_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13691        {  bs3CpuInstr3_pinsrw_XMM8_R9_000h_icebp_c64,          255,         RM_REG,   T_SSE4_1,  2, 16,   9,  8,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13692
     13693        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13694        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13695        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13696        {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13697
     13698        {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 2, 16,   9,  9,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13699        {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  9,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     13700        {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 2, 16,   9,  9,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13701        {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  9,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     13702
     13703        {  bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13704        {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13705        {  bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13706        {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13707
     13708        {  bs3CpuInstr3_pinsrd_XMM8_R9D_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  4, 32,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13709        {  bs3CpuInstr3_pinsrd_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  8,  8, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13710        {  bs3CpuInstr3_pinsrd_XMM8_R9D_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  4, 32,   9,  8,  8, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13711        {  bs3CpuInstr3_pinsrd_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  8,  8, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13712
     13713        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13714        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13715        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13716        {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13717
     13718        {  bs3CpuInstr3_vpinsrd_XMM8_XMM9_R9D_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   9,  9,  8, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13719        {  bs3CpuInstr3_vpinsrd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  9,  8, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
     13720        {  bs3CpuInstr3_vpinsrd_XMM8_XMM9_R9D_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   9,  9,  8, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13721        {  bs3CpuInstr3_vpinsrd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  9,  8, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     13722
     13723        {  bs3CpuInstr3_pinsrq_XMM1_RDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  8, 64,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
     13724        {  bs3CpuInstr3_pinsrq_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM64, T_SSE4_1,  8, 64, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
     13725        {  bs3CpuInstr3_pinsrq_XMM1_RDX_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  8, 64,   2,  1,  1, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     13726        {  bs3CpuInstr3_pinsrq_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM64, T_SSE4_1,  8, 64, 255,  1,  1, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     13727
     13728        {  bs3CpuInstr3_pinsrq_XMM8_R9_0FFh_icebp_c64,          255,         RM_REG,   T_SSE4_1,  8, 64,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
     13729        {  bs3CpuInstr3_pinsrq_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM64, T_SSE4_1,  8, 64, 255,  8,  8, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
     13730        {  bs3CpuInstr3_pinsrq_XMM8_R9_000h_icebp_c64,          255,         RM_REG,   T_SSE4_1,  8, 64,   9,  8,  8, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     13731        {  bs3CpuInstr3_pinsrq_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM64, T_SSE4_1,  8, 64, 255,  8,  8, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     13732
     13733        {  bs3CpuInstr3_vpinsrq_XMM1_XMM2_RDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 8, 64,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
     13734        {  bs3CpuInstr3_vpinsrq_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, 64, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
     13735        {  bs3CpuInstr3_vpinsrq_XMM1_XMM2_RDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 8, 64,   2,  2,  1, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     13736        {  bs3CpuInstr3_vpinsrq_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, 64, 255,  2,  1, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     13737
     13738        {  bs3CpuInstr3_vpinsrq_XMM8_XMM9_R9_0FFh_icebp_c64,    255,         RM_REG,   T_AVX_128, 8, 64,   9,  9,  8, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
     13739        {  bs3CpuInstr3_vpinsrq_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, 64, 255,  9,  8, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
     13740        {  bs3CpuInstr3_vpinsrq_XMM8_XMM9_R9_000h_icebp_c64,    255,         RM_REG,   T_AVX_128, 8, 64,   9,  9,  8, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     13741        {  bs3CpuInstr3_vpinsrq_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, 64, 255,  9,  8, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     13742    };
     13743
    1360113744    static BS3CPUINSTR3_TEST6_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST6_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
    1360213745    unsigned const                         iTest       = BS3CPUINSTR3_TEST_MODES_INDEX(bMode);
     
    1366113804    static BS3CPUINSTR3_TEST1_T const s_aTests32[] =
    1366213805    {
    13663         {  bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64W),   s_aValues64W },
    13664         {  bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c32,        255,         RM_MEM, T_MMX,       1, 1, 255, RT_ELEMENTS(s_aValues64W),   s_aValues64W },
     13806        {  bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c32,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64W),   s_aValues64W  },
     13807        {  bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c32,        255,         RM_MEM, T_MMX,       1, 1, 255, RT_ELEMENTS(s_aValues64W),   s_aValues64W  },
    1366513808        {  bs3CpuInstr3_pmaddwd_XMM1_XMM2_icebp_c32,        255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues128W),  s_aValues128W },
    1366613809        {  bs3CpuInstr3_pmaddwd_XMM1_FSxBX_icebp_c32,       255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues128W),  s_aValues128W },
     
    1367213815    static BS3CPUINSTR3_TEST1_T const s_aTests64[] =
    1367313816    {
    13674         {  bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64W),   s_aValues64W },
    13675         {  bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c64,        255,         RM_MEM, T_MMX,       1, 1, 255, RT_ELEMENTS(s_aValues64W),   s_aValues64W },
     13817        {  bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c64,          255,         RM_REG, T_MMX,       1, 1,   2, RT_ELEMENTS(s_aValues64W),   s_aValues64W  },
     13818        {  bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c64,        255,         RM_MEM, T_MMX,       1, 1, 255, RT_ELEMENTS(s_aValues64W),   s_aValues64W  },
    1367613819        {  bs3CpuInstr3_pmaddwd_XMM1_XMM2_icebp_c64,        255,         RM_REG, T_SSE2,      1, 1,   2, RT_ELEMENTS(s_aValues128W),  s_aValues128W },
    1367713820        {  bs3CpuInstr3_pmaddwd_XMM1_FSxBX_icebp_c64,       255,         RM_MEM, T_SSE2,      1, 1, 255, RT_ELEMENTS(s_aValues128W),  s_aValues128W },
     
    1383813981#if defined(ALL_TESTS)
    1383913982        { "[v]pclmulqdq",                                   bs3CpuInstr3_v_pclmulqdq, 0 },
    13840         { "[v]pinsrw",                                      bs3CpuInstr3_v_pinsrw,    0 },
    13841         { "[v]pextrb/[v]pextrw/[v]pextrd/[v]pextrq",        bs3CpuInstr3_v_pextrb_pextrw_pextrd_pextrq,    0 },
     13983        { "[v]pinsrb/[v]pinsrw/[v]pinsrd/[v]pinsrq",        bs3CpuInstr3_v_pinsrb_pinsrw_pinsrd_pinsrq, 0 },
     13984        { "[v]pextrb/[v]pextrw/[v]pextrd/[v]pextrq",        bs3CpuInstr3_v_pextrb_pextrw_pextrd_pextrq, 0 },
    1384213985        { "[v]movmskps/[v]movmskpd",                        bs3CpuInstr3_v_movmskps_movmskpd,    0 },
    1384313986#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette