VirtualBox

Ignore:
Timestamp:
Apr 19, 2024 7:24:25 AM (12 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162859
Message:

ValidationKit/bootsectors/bs3-cpu-instr-3: bugref:9898 Added testcases for [v]insertps, [v]extractps.

File:
1 edited

Legend:

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

    r104263 r104370  
    70947094    return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    70957095                                        g_aXcptConfig4, RT_ELEMENTS(g_aXcptConfig4));
     7096}
     7097
     7098
     7099/*
     7100 * [V]INSERTPS.
     7101 */
     7102BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_insertps(uint8_t bMode)
     7103{
     7104    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValuesBth00[] =
     7105    {
     7106        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     7107            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     7108            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     7109        {   /*src2*/ RTUINT256_INIT_C(0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e, 0, 0),
     7110            /*src1*/ RTUINT256_INIT_C(0xa110ca7ec01dce11, 0xdeadfacedecea5ed, 0, 0),
     7111            /* => */ RTUINT256_INIT_C(0xbadf00d7a57e1e55, 0xba5eba11f007ba11, 0, 0) },
     7112        {   /*src2*/ RTUINT256_INIT_C(0xffffffffffffffff, 0xb01dface0ddba115, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e),
     7113            /*src1*/ RTUINT256_INIT_C(0xf0f1f2f3f4f5f6f7, 0xa5a5a5a5000f0ed0, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed),
     7114            /* => */ RTUINT256_INIT_C(0xf0f1f2f3f4f5f6f7, 0xa5a5a5a5000f0ed0, 0xa110ca7ec01dce11, 0xdeadfacebad7ab1e) },
     7115        {   /*src2*/ RTUINT256_INIT_C(1, 2, 0xf00dfa5ef100df0e, 0xf7f7f7f700000000),
     7116            /*src1*/ RTUINT256_INIT_C(3, 4, 0xf0f1f2f300000000, 0x81818181ffffffff),
     7117            /* => */ RTUINT256_INIT_C(3, 4, 0xf0f1f2f300000000, 0x8181818100000000) },
     7118    };
     7119    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValuesRegD5[] =
     7120    {
     7121        {   /*src2*/ RTUINT256_INIT_C(1, 2, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e),
     7122            /*src1*/ RTUINT256_INIT_C(3, 4, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed),
     7123            /* => */ RTUINT256_INIT_C(3, 4, 0xa110ca7e00000000, 0xacce55ed00000000) },
     7124    };
     7125    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValuesMemD5[] =
     7126    {
     7127        {   /*src2*/ RTUINT256_INIT_C(1, 3, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e),
     7128            /*src1*/ RTUINT256_INIT_C(2, 4, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed),
     7129            /* => */ RTUINT256_INIT_C(2, 4, 0xa110ca7e00000000, 0xbad7ab1e00000000) },
     7130    };
     7131    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValuesBth28[] =
     7132    {
     7133        {   /*src2*/ RTUINT256_INIT_C(1, 2, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e),
     7134            /*src1*/ RTUINT256_INIT_C(3, 4, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed),
     7135            /* => */ RTUINT256_INIT_C(3, 4, 0x00000000bad7ab1e, 0xdeadfacedecea5ed) },
     7136    };
     7137    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValuesBthFF[] =
     7138    {
     7139        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e),
     7140            /*src1*/ RTUINT256_INIT_C(0, 0, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed),
     7141            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     7142        {   /*src2*/ RTUINT256_INIT_C(0xface1e55badb100d, 0xdeadfa11acc01ade, 0, 0),
     7143            /*src1*/ RTUINT256_INIT_C(0xace0fdadca55e77e, 0xc105e1adf0015f0e, 0, 0),
     7144            /* => */ RTUINT256_INIT_C(0xace0fdadca55e77e, 0xc105e1adf0015f0e, 0, 0) },
     7145        {   /*src2*/ RTUINT256_INIT_C(1, 2, 0xffffffffffffffff, 0xffffffffffffffff),
     7146            /*src1*/ RTUINT256_INIT_C(3, 4, 0xffffffffffffffff, 0xffffffffffffffff),
     7147            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     7148    };
     7149
     7150    static BS3CPUINSTR3_TEST1_T const s_aTests16[] =
     7151    {
     7152        {  bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c16,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7153        {  bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c16,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5 },
     7154        {  bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c16,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7155        {  bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c16,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7156        {  bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7157        {  bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c16,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5 },
     7158        {  bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c16,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7159        {  bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7160
     7161        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_000h_icebp_c16,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7162        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0D5h_icebp_c16,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5 },
     7163        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_028h_icebp_c16,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7164        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0FFh_icebp_c16,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7165        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7166        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0D5h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5 },
     7167        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_028h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7168        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7169    };
     7170    static BS3CPUINSTR3_TEST1_T const s_aTests32[] =
     7171    {
     7172        {  bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c32,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7173        {  bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c32,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5 },
     7174        {  bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c32,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7175        {  bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c32,        255,         RM_REG,   T_SSE4_1,  1, 2, 2,   RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7176        {  bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7177        {  bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c32,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5 },
     7178        {  bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c32,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7179        {  bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM32, T_SSE4_1,  1, 2, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7180
     7181        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_000h_icebp_c32,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7182        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0D5h_icebp_c32,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5 },
     7183        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_028h_icebp_c32,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7184        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0FFh_icebp_c32,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7185        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7186        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0D5h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5 },
     7187        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_028h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7188        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7189    };
     7190    static BS3CPUINSTR3_TEST1_T const s_aTests64[] =
     7191    {
     7192        {  bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c64,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7193        {  bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c64,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5 },
     7194        {  bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c64,        255,         RM_REG,   T_SSE4_1,  1, 1, 2,   RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7195        {  bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c64,        255,         RM_REG,   T_SSE4_1,  1, 2, 2,   RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7196        {  bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7197        {  bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5 },
     7198        {  bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  1, 1, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7199        {  bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  1, 2, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7200
     7201        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_000h_icebp_c64,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7202        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0D5h_icebp_c64,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5 },
     7203        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_028h_icebp_c64,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7204        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0FFh_icebp_c64,  X86_XCPT_AC, RM_REG,   T_AVX_128, 1, 2, 3,   RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7205        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7206        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0D5h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5 },
     7207        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_028h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7208        {  bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7209
     7210        {  bs3CpuInstr3_insertps_XMM8_XMM9_000h_icebp_c64,        255,         RM_REG,   T_SSE4_1,  8, 8, 9,   RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7211        {  bs3CpuInstr3_insertps_XMM8_XMM9_0D5h_icebp_c64,        255,         RM_REG,   T_SSE4_1,  8, 8, 9,   RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5 },
     7212        {  bs3CpuInstr3_insertps_XMM8_XMM9_028h_icebp_c64,        255,         RM_REG,   T_SSE4_1,  8, 8, 9,   RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7213        {  bs3CpuInstr3_insertps_XMM8_XMM9_0FFh_icebp_c64,        255,         RM_REG,   T_SSE4_1,  8, 8, 9,   RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7214        {  bs3CpuInstr3_insertps_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  8, 8, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7215        {  bs3CpuInstr3_insertps_XMM8_FSxBX_0D5h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  8, 8, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5 },
     7216        {  bs3CpuInstr3_insertps_XMM8_FSxBX_028h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  8, 8, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7217        {  bs3CpuInstr3_insertps_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  8, 8, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7218
     7219        {  bs3CpuInstr3_vinsertps_XMM8_XMM9_XMM10_000h_icebp_c64, X86_XCPT_AC, RM_REG,   T_AVX_128, 8, 9, 10,  RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7220        {  bs3CpuInstr3_vinsertps_XMM8_XMM9_XMM10_0D5h_icebp_c64, X86_XCPT_AC, RM_REG,   T_AVX_128, 8, 9, 10,  RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5 },
     7221        {  bs3CpuInstr3_vinsertps_XMM8_XMM9_XMM10_028h_icebp_c64, X86_XCPT_AC, RM_REG,   T_AVX_128, 8, 9, 10,  RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7222        {  bs3CpuInstr3_vinsertps_XMM8_XMM9_XMM10_0FFh_icebp_c64, X86_XCPT_AC, RM_REG,   T_AVX_128, 8, 9, 10,  RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7223        {  bs3CpuInstr3_vinsertps_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00 },
     7224        {  bs3CpuInstr3_vinsertps_XMM8_XMM9_FSxBX_0D5h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5 },
     7225        {  bs3CpuInstr3_vinsertps_XMM8_XMM9_FSxBX_028h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28 },
     7226        {  bs3CpuInstr3_vinsertps_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF },
     7227    };
     7228    static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     7229    unsigned const                         iTest       = BS3CPUINSTR3_TEST_MODES_INDEX(bMode);
     7230    return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     7231                                        g_aXcptConfig5, RT_ELEMENTS(g_aXcptConfig5));
    70967232}
    70977233
     
    1015810294
    1015910295
     10296/*
     10297 * [V]EXTRACTPS.
     10298 */
     10299BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_extractps(uint8_t bMode)
     10300{
     10301    static BS3CPUINSTR3_TEST2_VALUES_T const s_aValues00[] =
     10302    {
     10303        { RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e), UINT64_C(0xbad7ab1e) },
     10304        { RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed), UINT64_C(0xdecea5ed) },
     10305        { RTUINT256_INIT_C(0x00000000ffffffff, 0xffffffff00000000, 0x00000000ffffffff, 0x00000000a7a5a7a5), UINT64_C(0xa7a5a7a5) },
     10306    };
     10307    static BS3CPUINSTR3_TEST2_VALUES_T const s_aValues01[] =
     10308    {
     10309        { RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e), UINT64_C(0x5e1ec7ed) },
     10310        { RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed), UINT64_C(0xdeadface) },
     10311        { RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0xffffffff00000000, 0xf0f1f2f3a7a5a7a5), UINT64_C(0xf0f1f2f3) },
     10312    };
     10313    static BS3CPUINSTR3_TEST2_VALUES_T const s_aValues02[] =
     10314    {
     10315        { RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e), UINT64_C(0xda7aba5e) },
     10316        { RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed), UINT64_C(0xc01dce11) },
     10317        { RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x00000000ffffffff, 0x0000000000000000), UINT64_C(0xffffffff) },
     10318    };
     10319    static BS3CPUINSTR3_TEST2_VALUES_T const s_aValues03[] =
     10320    {
     10321        { RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0xacce55edda7aba5e, 0x5e1ec7edbad7ab1e), UINT64_C(0xacce55ed) },
     10322        { RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xa110ca7ec01dce11, 0xdeadfacedecea5ed), UINT64_C(0xa110ca7e) },
     10323        { RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0xffffffff00000000, 0x0000000000000000), UINT64_C(0xffffffff) },
     10324    };
     10325
     10326    static BS3CPUINSTR3_TEST2_T const s_aTests16[] =
     10327    {
     10328        {  bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c16,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10329        {  bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c16,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10330        {  bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c16,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10331        {  bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c16,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10332        {  bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c16,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10333        {  bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c16,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10334        {  bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c16,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10335        {  bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c16,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10336        {  bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c16,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10337        {  bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c16,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10338        {  bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c16,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10339        {  bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c16,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10340
     10341        {  bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10342        {  bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10343        {  bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10344        {  bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10345        {  bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10346        {  bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10347        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10348        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10349        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10350        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10351        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10352        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10353    };
     10354    static BS3CPUINSTR3_TEST2_T const s_aTests32[] =
     10355    {
     10356        {  bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c32,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10357        {  bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c32,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10358        {  bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c32,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10359        {  bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c32,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10360        {  bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c32,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10361        {  bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c32,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10362        {  bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c32,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10363        {  bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c32,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10364        {  bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c32,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10365        {  bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c32,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10366        {  bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c32,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10367        {  bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c32,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10368
     10369        {  bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10370        {  bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10371        {  bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10372        {  bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10373        {  bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10374        {  bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10375        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10376        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10377        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10378        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10379        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10380        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10381    };
     10382    static BS3CPUINSTR3_TEST2_T const s_aTests64[] =
     10383    {
     10384        {  bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 2,   1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10385        {  bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 2,   1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10386        {  bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 2,   1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10387        {  bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 2,   1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10388        {  bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 2,   1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10389        {  bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 2,   1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10390        {  bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10391        {  bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10392        {  bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10393        {  bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10394        {  bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10395        {  bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10396
     10397        {  bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10398        {  bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10399        {  bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10400        {  bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10401        {  bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10402        {  bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true,   2, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10403        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10404        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10405        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10406        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10407        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10408        {  bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 1, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10409
     10410        {  bs3CpuInstr3_extractps_R9D_XMM8_000h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10411        {  bs3CpuInstr3_extractps_R9D_XMM8_001h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10412        {  bs3CpuInstr3_extractps_R9D_XMM8_002h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10413        {  bs3CpuInstr3_extractps_R9D_XMM8_003h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10414        {  bs3CpuInstr3_extractps_R9D_XMM8_032h_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10415        {  bs3CpuInstr3_extractps_R9D_XMM8_0FFh_icebp_c64,    255,         RM_REG,   T_SSE4_1,  4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10416        {  bs3CpuInstr3_extractps_FSxBX_XMM8_000h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10417        {  bs3CpuInstr3_extractps_FSxBX_XMM8_001h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10418        {  bs3CpuInstr3_extractps_FSxBX_XMM8_002h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10419        {  bs3CpuInstr3_extractps_FSxBX_XMM8_003h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10420        {  bs3CpuInstr3_extractps_FSxBX_XMM8_032h_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10421        {  bs3CpuInstr3_extractps_FSxBX_XMM8_0FFh_icebp_c64,  255,         RM_MEM32, T_SSE4_1,  4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10422
     10423        {  bs3CpuInstr3_vextractps_R9D_XMM8_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10424        {  bs3CpuInstr3_vextractps_R9D_XMM8_001h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10425        {  bs3CpuInstr3_vextractps_R9D_XMM8_002h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10426        {  bs3CpuInstr3_vextractps_R9D_XMM8_003h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10427        {  bs3CpuInstr3_vextractps_R9D_XMM8_032h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10428        {  bs3CpuInstr3_vextractps_R9D_XMM8_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32, false, true, 9,   8, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10429        {  bs3CpuInstr3_vextractps_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues00), s_aValues00 },
     10430        {  bs3CpuInstr3_vextractps_FSxBX_XMM8_001h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues01), s_aValues01 },
     10431        {  bs3CpuInstr3_vextractps_FSxBX_XMM8_002h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10432        {  bs3CpuInstr3_vextractps_FSxBX_XMM8_003h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10433        {  bs3CpuInstr3_vextractps_FSxBX_XMM8_032h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues02), s_aValues02 },
     10434        {  bs3CpuInstr3_vextractps_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, false, true, 255, 8, RT_ELEMENTS(s_aValues03), s_aValues03 },
     10435    };
     10436    static BS3CPUINSTR3_TEST2_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST2_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     10437    unsigned const                         iTest       = BS3CPUINSTR3_TEST_MODES_INDEX(bMode);
     10438    return bs3CpuInstr3_WorkerTestType2(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     10439                                        g_aXcptConfig5, RT_ELEMENTS(g_aXcptConfig5));
     10440}
    1016010441
    1016110442
     
    1428214563#endif
    1428314564#if defined(ALL_TESTS)
     14565        { "[v]insertps",                                    bs3CpuInstr3_v_insertps, 0 },
     14566        { "[v]extractps",                                   bs3CpuInstr3_v_extractps, 0 },
     14567#endif
     14568#if defined(ALL_TESTS)
    1428414569        { "[v]psubsb/[v]psubsw",                            bs3CpuInstr3_v_psubsb_psubsw, 0 },
    1428514570        { "[v]psubusb/[v]psubusw",                          bs3CpuInstr3_v_psubusb_psubusw, 0 },
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