VirtualBox

Changeset 100608 in vbox


Ignore:
Timestamp:
Jul 17, 2023 4:39:46 PM (18 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: Implement testcases for vperm2f128/vperm2i128 instruction emulations, bugref:9898

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

Legend:

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

    r100603 r100608  
    33413341 %endif
    33423342
     3343;
     3344; VPERM2I128
     3345;
     3346EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  0FFh
     3347EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 0FFh
     3348EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  000h
     3349EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 000h
     3350EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  001h
     3351EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 001h
     3352EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  002h
     3353EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 002h
     3354EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  003h
     3355EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 003h
     3356EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  008h
     3357EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 008h
     3358EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  010h
     3359EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 010h
     3360EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  020h
     3361EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 020h
     3362EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  030h
     3363EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 030h
     3364EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  080h
     3365EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 080h
     3366 %if TMPL_BITS == 64
     3367EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 0FFh
     3368EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 0FFh
     3369EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 000h
     3370EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 000h
     3371EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 001h
     3372EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 001h
     3373EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 002h
     3374EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 002h
     3375EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 003h
     3376EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 003h
     3377EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 008h
     3378EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 008h
     3379EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 010h
     3380EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 010h
     3381EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 020h
     3382EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 020h
     3383EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 030h
     3384EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 030h
     3385EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 080h
     3386EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 080h
     3387 %endif
     3388
     3389;
     3390; VPERM2F128
     3391;
     3392EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  0FFh
     3393EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 0FFh
     3394EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  000h
     3395EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 000h
     3396EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  001h
     3397EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 001h
     3398EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  002h
     3399EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 002h
     3400EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  003h
     3401EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 003h
     3402EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  008h
     3403EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 008h
     3404EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  010h
     3405EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 010h
     3406EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  020h
     3407EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 020h
     3408EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  030h
     3409EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 030h
     3410EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  080h
     3411EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 080h
     3412 %if TMPL_BITS == 64
     3413EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 0FFh
     3414EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 0FFh
     3415EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 000h
     3416EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 000h
     3417EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 001h
     3418EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 001h
     3419EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 002h
     3420EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 002h
     3421EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 003h
     3422EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 003h
     3423EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 008h
     3424EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 008h
     3425EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 010h
     3426EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 010h
     3427EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 020h
     3428EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 020h
     3429EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 030h
     3430EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 030h
     3431EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 080h
     3432EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 080h
     3433 %endif
     3434
    33433435%endif ; BS3_INSTANTIATING_CMN
    33443436
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32

    r100603 r100608  
    258258};
    259259
     260/** Exception type \#6 test configurations, VEX encoded instructions without legacy SSE analogues. */
     261static const BS3CPUINSTR3_CONFIG_T g_aXcptConfig6[] =
     262{
     263/*
     264 *   X87 SSE SSE SSE     AVX      AVX  AVX  MMX  MMX+SSE   MMX+AVX  AMD/SSE   <-- applies to
     265 *                                               +AVX      +AMD/SSE
     266 *   CR0 CR0 CR0 CR4     CR4      XCR0 XCR0 FCW                      MXCSR
     267 *   MP, EM, TS, OSFXSR, OSXSAVE, SSE, AVX, ES+, fAligned, AC/AM,   MM,   bXcptMmx,    bXcptSse,    bXcptAvx */
     268    { 0, 0,  0,  1,      1,       1,   1,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_DB }, /* #0 */
     269    { 1, 0,  0,  1,      1,       1,   1,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_DB }, /* #1 */
     270    { 0, 1,  0,  1,      1,       1,   1,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_DB }, /* #2 */
     271    { 0, 0,  1,  1,      1,       1,   1,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_NM }, /* #3 */
     272    { 0, 1,  1,  1,      1,       1,   1,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_NM }, /* #4 */
     273    { 0, 0,  0,  0,      1,       1,   1,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_DB }, /* #5 */
     274    { 0, 0,  0,  1,      0,       1,   1,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_UD }, /* #6 */
     275    { 0, 0,  0,  1,      1,       1,   0,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_UD }, /* #7 */
     276    { 0, 0,  0,  1,      1,       0,   0,   0,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_UD }, /* #8 */
     277    { 0, 0,  0,  1,      1,       1,   1,   1,   1,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_DB }, /* #9 - pending x87 exception */
     278    /* Memory misalignment and alignment checks: */
     279    { 0, 0,  0,  1,      1,       1,   1,   0,   0,        0,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_DB }, /* #10 */
     280    { 0, 0,  0,  1,      1,       1,   1,   0,   0,        1,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_AC }, /* #11 */
     281    { 0, 0,  0,  1,      1,       1,   1,   0,   1,        1,       0,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_DB }, /* #12 */
     282    /* AMD only: */
     283    { 0, 0,  0,  1,      1,       1,   1,   0,   0,        0,       1,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_DB }, /* #13 */
     284    { 0, 0,  0,  1,      1,       1,   1,   0,   0,        1,       1,    X86_XCPT_UD, X86_XCPT_UD, X86_XCPT_AC }, /* #14 */
     285};
    260286
    261287
     
    84898515    return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    84908516                                        g_aXcptConfig4, RT_ELEMENTS(g_aXcptConfig4));
     8517}
     8518
     8519
     8520/*
     8521 * VPERM2I128/VPERM2F128 - Permute Packed Integer/Fp Values.
     8522 */
     8523BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp);
     8524BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_0FFh_icebp);
     8525BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp);
     8526BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_000h_icebp);
     8527BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp);
     8528BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_001h_icebp);
     8529BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp);
     8530BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_002h_icebp);
     8531BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp);
     8532BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_003h_icebp);
     8533BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp);
     8534BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_008h_icebp);
     8535BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp);
     8536BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_010h_icebp);
     8537BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp);
     8538BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_020h_icebp);
     8539BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp);
     8540BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_030h_icebp);
     8541BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp);
     8542BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_080h_icebp);
     8543extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_0FFh_icebp_c64;
     8544extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_0FFh_icebp_c64;
     8545extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_000h_icebp_c64;
     8546extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_000h_icebp_c64;
     8547extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_001h_icebp_c64;
     8548extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_001h_icebp_c64;
     8549extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_002h_icebp_c64;
     8550extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_002h_icebp_c64;
     8551extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_003h_icebp_c64;
     8552extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_003h_icebp_c64;
     8553extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_008h_icebp_c64;
     8554extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_008h_icebp_c64;
     8555extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_010h_icebp_c64;
     8556extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_010h_icebp_c64;
     8557extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_020h_icebp_c64;
     8558extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_020h_icebp_c64;
     8559extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_030h_icebp_c64;
     8560extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_030h_icebp_c64;
     8561extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_080h_icebp_c64;
     8562extern FNBS3FAR             bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_080h_icebp_c64;
     8563
     8564BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp);
     8565BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_0FFh_icebp);
     8566BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp);
     8567BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_000h_icebp);
     8568BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp);
     8569BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_001h_icebp);
     8570BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp);
     8571BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_002h_icebp);
     8572BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp);
     8573BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_003h_icebp);
     8574BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp);
     8575BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_008h_icebp);
     8576BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp);
     8577BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_010h_icebp);
     8578BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp);
     8579BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_020h_icebp);
     8580BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp);
     8581BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_030h_icebp);
     8582BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp);
     8583BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_080h_icebp);
     8584extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_0FFh_icebp_c64;
     8585extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_0FFh_icebp_c64;
     8586extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_000h_icebp_c64;
     8587extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_000h_icebp_c64;
     8588extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_001h_icebp_c64;
     8589extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_001h_icebp_c64;
     8590extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_002h_icebp_c64;
     8591extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_002h_icebp_c64;
     8592extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_003h_icebp_c64;
     8593extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_003h_icebp_c64;
     8594extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_008h_icebp_c64;
     8595extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_008h_icebp_c64;
     8596extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_010h_icebp_c64;
     8597extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_010h_icebp_c64;
     8598extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_020h_icebp_c64;
     8599extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_020h_icebp_c64;
     8600extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_030h_icebp_c64;
     8601extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_030h_icebp_c64;
     8602extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_080h_icebp_c64;
     8603extern FNBS3FAR             bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_080h_icebp_c64;
     8604
     8605BS3_DECL_FAR(uint8_t) bs3CpuInstr3_vperm2i128_vperm2f128(uint8_t bMode)
     8606{
     8607    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValuesFF[] =
     8608    {
     8609        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8610            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8611            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },
     8612    };
     8613    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues00[] =
     8614    {
     8615        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8616            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8617            /* => */ RTUINT256_INIT_C(0x9192939495969798, 0x8182838485868788, 0x9192939495969798, 0x8182838485868788) },
     8618    };
     8619    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues01[] =
     8620    {
     8621        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8622            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8623            /* => */ RTUINT256_INIT_C(0x9192939495969798, 0x8182838485868788, 0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8) },
     8624    };
     8625    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues02[] =
     8626    {
     8627        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8628            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8629            /* => */ RTUINT256_INIT_C(0x9192939495969798, 0x8182838485868788, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8) },
     8630    };
     8631    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues03[] =
     8632    {
     8633        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8634            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8635            /* => */ RTUINT256_INIT_C(0x9192939495969798, 0x8182838485868788, 0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8) },
     8636    };
     8637    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues08[] =
     8638    {
     8639        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8640            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8641            /* => */ RTUINT256_INIT_C(0x9192939495969798, 0x8182838485868788, 0x0000000000000000, 0x0000000000000000) },
     8642    };
     8643    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues10[] =
     8644    {
     8645        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8646            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8647            /* => */ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788) },
     8648    };
     8649    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues20[] =
     8650    {
     8651        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8652            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8653            /* => */ RTUINT256_INIT_C(0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8, 0x9192939495969798, 0x8182838485868788) },
     8654    };
     8655    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues30[] =
     8656    {
     8657        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8658            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8659            /* => */ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0x9192939495969798, 0x8182838485868788) },
     8660    };
     8661    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues80[] =
     8662    {
     8663        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     8664            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     8665            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x9192939495969798, 0x8182838485868788) },
     8666    };
     8667
     8668    static BS3CPUINSTR3_TEST1_T const s_aTests16[] =
     8669    {
     8670        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8671        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8672        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8673        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8674        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8675        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_001h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8676        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8677        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_002h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8678        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8679        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_003h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8680        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8681        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_008h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8682        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8683        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_010h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8684        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8685        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_020h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8686        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8687        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_030h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8688        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8689        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_080h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8690
     8691        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8692        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8693        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8694        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8695        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8696        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_001h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8697        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8698        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_002h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8699        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8700        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_003h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8701        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8702        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_008h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8703        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8704        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_010h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8705        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8706        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_020h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8707        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8708        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_030h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8709        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c16,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8710        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_080h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8711    };
     8712    static BS3CPUINSTR3_TEST1_T const s_aTests32[] =
     8713    {
     8714        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8715        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8716        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8717        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8718        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8719        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_001h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8720        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8721        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_002h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8722        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8723        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_003h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8724        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8725        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_008h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8726        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8727        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_010h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8728        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8729        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_020h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8730        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8731        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_030h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8732        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8733        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_080h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8734
     8735        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8736        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8737        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8738        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8739        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8740        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_001h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8741        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8742        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_002h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8743        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8744        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_003h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8745        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8746        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_008h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8747        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8748        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_010h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8749        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8750        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_020h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8751        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8752        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_030h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8753        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c32,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8754        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_080h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8755    };
     8756    static BS3CPUINSTR3_TEST1_T const s_aTests64[] =
     8757    {
     8758        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8759        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8760        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8761        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8762        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8763        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8764        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_000h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8765        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8766        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8767        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8768        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_001h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8769        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8770        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8771        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8772        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_002h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8773        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8774        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8775        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8776        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_003h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8777        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8778        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8779        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8780        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_008h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8781        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8782        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8783        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8784        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_010h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8785        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8786        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8787        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8788        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_020h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8789        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8790        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8791        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8792        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_030h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8793        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8794        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8795        {  bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8796        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_080h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8797        {  bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8798
     8799        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c64,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8800        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8801        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255,         RM_REG, T_AVX_256,    8, 9,  10, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8802        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,    8, 9, 255, RT_ELEMENTS(s_aValuesFF),  s_aValuesFF },
     8803        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c64,  255,         RM_REG, T_AVX_256,    1, 2,   3, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8804        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,    1, 2, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8805        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_000h_icebp_c64, 255,         RM_REG, T_AVX_256,    8, 9,  10, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8806        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256,    8, 9, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     8807        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8808        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8809        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_001h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8810        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues01),  s_aValues01 },
     8811        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8812        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8813        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_002h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8814        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues02),  s_aValues02 },
     8815        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8816        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8817        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_003h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8818        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues03),  s_aValues03 },
     8819        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8820        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8821        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_008h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8822        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues08),  s_aValues08 },
     8823        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8824        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8825        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_010h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8826        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues10),  s_aValues10 },
     8827        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8828        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8829        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_020h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8830        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues20),  s_aValues20 },
     8831        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8832        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8833        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_030h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8834        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues30),  s_aValues30 },
     8835        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8836        {  bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8837        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_080h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8838        {  bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues80),  s_aValues80 },
     8839    };
     8840    static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     8841    unsigned const                         iTest       = BS3CPUINSTR3_TEST_MODES_INDEX(bMode);
     8842    return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     8843                                        g_aXcptConfig6, RT_ELEMENTS(g_aXcptConfig6));
    84918844}
    84928845
     
    1349913852        { "[v]paddsb/[v]paddsw",                            bs3CpuInstr3_v_paddsb_paddsw, 0 },
    1350013853#endif
     13854#if defined (ALL_TESTS)
     13855        { "vperm2i128/vperm2f128",                          bs3CpuInstr3_vperm2i128_vperm2f128, 0 },
     13856#endif
    1350113857    };
    1350213858    Bs3TestInit("bs3-cpu-instr-3");
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