VirtualBox

Ignore:
Timestamp:
Aug 27, 2022 10:48:00 AM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
153400
Message:

ValidationKit/bs3-cpu-instr-3: Add simple [v]palignr instructions testcases, ​bugref:9898

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

Legend:

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

    r96455 r96534  
    26622662 %endif
    26632663
     2664;
     2665; [V]PALIGNR
     2666;
     2667EMIT_INSTR_PLUS_ICEBP   palignr,  MM1, MM2,   0FFh
     2668EMIT_INSTR_PLUS_ICEBP   palignr,  MM1, FSxBX, 0FFh
     2669EMIT_INSTR_PLUS_ICEBP   palignr,  MM1, MM2,   000h
     2670EMIT_INSTR_PLUS_ICEBP   palignr,  MM1, FSxBX, 000h
     2671EMIT_INSTR_PLUS_ICEBP   palignr,  MM1, MM2,   003h
     2672EMIT_INSTR_PLUS_ICEBP   palignr,  MM1, FSxBX, 003h
     2673EMIT_INSTR_PLUS_ICEBP   palignr,  MM1, MM2,   009h
     2674EMIT_INSTR_PLUS_ICEBP   palignr,  MM1, FSxBX, 009h
     2675
     2676EMIT_INSTR_PLUS_ICEBP   palignr,  XMM1, XMM2,  0FFh
     2677EMIT_INSTR_PLUS_ICEBP   palignr,  XMM1, FSxBX, 0FFh
     2678EMIT_INSTR_PLUS_ICEBP   palignr,  XMM1, XMM2,  000h
     2679EMIT_INSTR_PLUS_ICEBP   palignr,  XMM1, FSxBX, 000h
     2680EMIT_INSTR_PLUS_ICEBP   palignr,  XMM1, XMM2,  003h
     2681EMIT_INSTR_PLUS_ICEBP   palignr,  XMM1, FSxBX, 003h
     2682EMIT_INSTR_PLUS_ICEBP   palignr,  XMM1, XMM2,  013h
     2683EMIT_INSTR_PLUS_ICEBP   palignr,  XMM1, FSxBX, 013h
     2684
     2685EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM1, XMM2, XMM3,  0FFh
     2686EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM1, XMM2, FSxBX, 0FFh
     2687EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM1, XMM2, XMM3,  000h
     2688EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM1, XMM2, FSxBX, 000h
     2689EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM1, XMM2, XMM3,  003h
     2690EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM1, XMM2, FSxBX, 003h
     2691EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM1, XMM2, XMM3,  013h
     2692EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM1, XMM2, FSxBX, 013h
     2693
     2694EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, YMM3,  0FFh
     2695EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, FSxBX, 0FFh
     2696EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, YMM3,  000h
     2697EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, FSxBX, 000h
     2698EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, YMM3,  003h
     2699EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, FSxBX, 003h
     2700EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, YMM3,  013h
     2701EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, FSxBX, 013h
     2702
     2703 %if TMPL_BITS == 64
     2704EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, XMM9,  0FFh
     2705EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, FSxBX, 0FFh
     2706EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, XMM9,  000h
     2707EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, FSxBX, 000h
     2708EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, XMM9,  003h
     2709EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, FSxBX, 003h
     2710EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, XMM9,  013h
     2711EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, FSxBX, 013h
     2712
     2713EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, XMM10, 0FFh
     2714EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, FSxBX, 0FFh
     2715EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, XMM10, 000h
     2716EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, FSxBX, 000h
     2717EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, XMM10, 003h
     2718EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, FSxBX, 003h
     2719EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, XMM10, 013h
     2720EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, FSxBX, 013h
     2721
     2722EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, YMM10, 0FFh
     2723EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, FSxBX, 0FFh
     2724EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, YMM10, 000h
     2725EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, FSxBX, 000h
     2726EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, YMM10, 003h
     2727EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, FSxBX, 003h
     2728EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, YMM10, 013h
     2729EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, FSxBX, 013h
     2730 %endif
     2731
    26642732%endif ; BS3_INSTANTIATING_CMN
    26652733
  • TabularUnified trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32

    r96455 r96534  
    66956695        {  bs3CpuInstr3_vshufpd_YMM8_YMM9_YMM10_000h_icebp_c64, 255,         RM_REG, T_AVX2_256,  8, 9,  10, RT_ELEMENTS(s_aValues00),  s_aValues00 },
    66966696        {  bs3CpuInstr3_vshufpd_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,  8, 9, 255, RT_ELEMENTS(s_aValues00),  s_aValues00 },
     6697    };
     6698    static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     6699    unsigned const                         iTest       = BS3CPUINSTR3_TEST_MODES_INDEX(bMode);
     6700    return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     6701                                        g_aXcptConfig4, RT_ELEMENTS(g_aXcptConfig4));
     6702}
     6703
     6704
     6705/*
     6706 * [V]PALIGNR - Concatenate and align source operands to the right.
     6707 */
     6708BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp);
     6709BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp);
     6710BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_MM1_MM2_000h_icebp);
     6711BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp);
     6712BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_MM1_MM2_003h_icebp);
     6713BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp);
     6714BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_MM1_MM2_009h_icebp);
     6715BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp);
     6716
     6717BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp);
     6718BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp);
     6719BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp);
     6720BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp);
     6721BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp);
     6722BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp);
     6723BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp);
     6724BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp);
     6725extern FNBS3FAR             bs3CpuInstr3_palignr_XMM8_XMM9_0FFh_icebp_c64;
     6726extern FNBS3FAR             bs3CpuInstr3_palignr_XMM8_FSxBX_0FFh_icebp_c64;
     6727extern FNBS3FAR             bs3CpuInstr3_palignr_XMM8_XMM9_000h_icebp_c64;
     6728extern FNBS3FAR             bs3CpuInstr3_palignr_XMM8_FSxBX_000h_icebp_c64;
     6729extern FNBS3FAR             bs3CpuInstr3_palignr_XMM8_XMM9_003h_icebp_c64;
     6730extern FNBS3FAR             bs3CpuInstr3_palignr_XMM8_FSxBX_003h_icebp_c64;
     6731extern FNBS3FAR             bs3CpuInstr3_palignr_XMM8_XMM9_013h_icebp_c64;
     6732extern FNBS3FAR             bs3CpuInstr3_palignr_XMM8_FSxBX_013h_icebp_c64;
     6733
     6734BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp);
     6735BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_0FFh_icebp);
     6736BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp);
     6737BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_000h_icebp);
     6738BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_003h_icebp);
     6739BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_003h_icebp);
     6740BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_013h_icebp);
     6741BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_013h_icebp);
     6742extern FNBS3FAR             bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_0FFh_icebp_c64;
     6743extern FNBS3FAR             bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_0FFh_icebp_c64;
     6744extern FNBS3FAR             bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_000h_icebp_c64;
     6745extern FNBS3FAR             bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_000h_icebp_c64;
     6746extern FNBS3FAR             bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_003h_icebp_c64;
     6747extern FNBS3FAR             bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_003h_icebp_c64;
     6748extern FNBS3FAR             bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_013h_icebp_c64;
     6749extern FNBS3FAR             bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_013h_icebp_c64;
     6750
     6751BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp);
     6752BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_0FFh_icebp);
     6753BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp);
     6754BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_000h_icebp);
     6755BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_003h_icebp);
     6756BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_003h_icebp);
     6757BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_013h_icebp);
     6758BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_013h_icebp);
     6759extern FNBS3FAR             bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_0FFh_icebp_c64;
     6760extern FNBS3FAR             bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_0FFh_icebp_c64;
     6761extern FNBS3FAR             bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_000h_icebp_c64;
     6762extern FNBS3FAR             bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_000h_icebp_c64;
     6763extern FNBS3FAR             bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_003h_icebp_c64;
     6764extern FNBS3FAR             bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_003h_icebp_c64;
     6765extern FNBS3FAR             bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_013h_icebp_c64;
     6766extern FNBS3FAR             bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_013h_icebp_c64;
     6767
     6768BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_palignr(uint8_t bMode)
     6769{
     6770    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValuesFF[] =
     6771    {
     6772        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6773            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6774            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     6775        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     6776            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     6777            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },
     6778        {   /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     6779            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     6780            /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) },
     6781    };
     6782    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues00[] =
     6783    {
     6784        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6785            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6786            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     6787        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     6788            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     6789            /* => */ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8) },
     6790        {   /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     6791            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     6792            /* => */ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb) },
     6793    };
     6794    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64B_03[] =
     6795    {
     6796        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6797            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6798            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     6799        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     6800            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     6801            /* => */ RTUINT256_INIT_C(                17,                 18,                 19, 0x868788c1c2c3c4c5) },
     6802        {   /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     6803            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     6804            /* => */ RTUINT256_INIT_C(                21,                 22,                 23, 0x8499fd9c5ce07393) },
     6805    };
     6806    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64B_09[] =
     6807    {
     6808        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6809            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6810            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     6811        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     6812            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     6813            /* => */ RTUINT256_INIT_C(                17,                 18,                 19, 0x0081828384858687) },
     6814        {   /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     6815            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     6816            /* => */ RTUINT256_INIT_C(                21,                 22,                 23, 0x0043d3cda0238499) },
     6817    };
     6818    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues128B_03[] =
     6819    {
     6820        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6821            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6822            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     6823        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     6824            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     6825            /* => */ RTUINT256_INIT_C(                17,                 18, 0x868788d1d2d3d4d5, 0xd6d7d8c1c2c3c4c5) },
     6826        {   /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     6827            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     6828            /* => */ RTUINT256_INIT_C(                21,                 22, 0x8499fdb4212fa856, 0x4c9ba29c5ce07393) },
     6829    };
     6830    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues128B_13[] =
     6831    {
     6832        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6833            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6834            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     6835        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     6836            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     6837            /* => */ RTUINT256_INIT_C(                17,                 18, 0x0000009192939495, 0x9697988182838485) },
     6838        {   /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     6839            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     6840            /* => */ RTUINT256_INIT_C(                21,                 22, 0x0000008800e95bbf, 0x9962c343d3cda023) },
     6841    };
     6842    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues256B_03[] =
     6843    {
     6844        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6845            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6846            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     6847        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     6848            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     6849            /* => */ RTUINT256_INIT_C(0xa6a7a8f1f2f3f4f5, 0xf6f7f8e1e2e3e4e5, 0x868788d1d2d3d4d5, 0xd6d7d8c1c2c3c4c5) },
     6850        {   /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     6851            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     6852            /* => */ RTUINT256_INIT_C(0x7256334d09f02a6c, 0xdc73d53ef417c866, 0x8499fdb4212fa856, 0x4c9ba29c5ce07393) },
     6853    };
     6854    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues256B_13[] =
     6855    {
     6856        {   /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6857            /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),
     6858            /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },
     6859        {   /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),
     6860            /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),
     6861            /* => */ RTUINT256_INIT_C(0x000000b1b2b3b4b5, 0xb6b7b8a1a2a3a4a5, 0x0000009192939495, 0x9697988182838485) },
     6862        {   /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),
     6863            /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),
     6864            /* => */ RTUINT256_INIT_C(0x0000001eddddac09, 0x633294f95c8eec40, 0x0000008800e95bbf, 0x9962c343d3cda023) },
     6865    };
     6866
     6867    static BS3CPUINSTR3_TEST1_T const s_aTests16[] =
     6868    {
     6869        {  bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c16,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6870        {  bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c16,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6871        {  bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c16,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6872        {  bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c16,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6873        {  bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c16,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues64B_03),    s_aValues64B_03 },
     6874        {  bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c16,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues64B_03),    s_aValues64B_03 },
     6875        {  bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c16,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues64B_09),    s_aValues64B_09 },
     6876        {  bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c16,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues64B_09),    s_aValues64B_09 },
     6877
     6878        {  bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c16,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6879        {  bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6880        {  bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c16,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6881        {  bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6882        {  bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c16,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues128B_03),   s_aValues128B_03 },
     6883        {  bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c16,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues128B_03),   s_aValues128B_03 },
     6884        {  bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c16,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues128B_13),   s_aValues128B_13 },
     6885        {  bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c16,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues128B_13),   s_aValues128B_13 },
     6886
     6887        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c16,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6888        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6889        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6890        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6891
     6892        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c16,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6893        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6894        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6895        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6896
     6897        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_003h_icebp_c16,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues128B_03),   s_aValues128B_03 },
     6898        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_003h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues128B_03),   s_aValues128B_03 },
     6899        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_013h_icebp_c16,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues128B_13),   s_aValues128B_13 },
     6900        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_013h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues128B_13),   s_aValues128B_13 },
     6901        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_003h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues256B_03),   s_aValues256B_03 },
     6902        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_003h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues256B_03),   s_aValues256B_03 },
     6903        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_013h_icebp_c16,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues256B_13),   s_aValues256B_13 },
     6904        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_013h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues256B_13),   s_aValues256B_13 },
     6905    };
     6906    static BS3CPUINSTR3_TEST1_T const s_aTests32[] =
     6907    {
     6908        {  bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c32,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6909        {  bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c32,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6910        {  bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c32,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6911        {  bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c32,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6912        {  bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c32,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues64B_03),    s_aValues64B_03 },
     6913        {  bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c32,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues64B_03),    s_aValues64B_03 },
     6914        {  bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c32,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues64B_09),    s_aValues64B_09 },
     6915        {  bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c32,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues64B_09),    s_aValues64B_09 },
     6916
     6917        {  bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c32,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6918        {  bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6919        {  bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c32,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6920        {  bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6921        {  bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c32,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues128B_03),   s_aValues128B_03 },
     6922        {  bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c32,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues128B_03),   s_aValues128B_03 },
     6923        {  bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c32,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues128B_13),   s_aValues128B_13 },
     6924        {  bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c32,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues128B_13),   s_aValues128B_13 },
     6925
     6926        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c32,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6927        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6928        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6929        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValuesFF),        s_aValuesFF },
     6930
     6931        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c32,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6932        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6933        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6934        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues00),        s_aValues00 },
     6935
     6936        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_003h_icebp_c32,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues128B_03),   s_aValues128B_03 },
     6937        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_003h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues128B_03),   s_aValues128B_03 },
     6938        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_013h_icebp_c32,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues128B_13),   s_aValues128B_13 },
     6939        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_013h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues128B_13),   s_aValues128B_13 },
     6940        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_003h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues256B_03),   s_aValues256B_03 },
     6941        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_003h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues256B_03),   s_aValues256B_03 },
     6942        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_013h_icebp_c32,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues256B_13),   s_aValues256B_13 },
     6943        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_013h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues256B_13),   s_aValues256B_13 },
     6944    };
     6945    static BS3CPUINSTR3_TEST1_T const s_aTests64[] =
     6946    {
     6947        {  bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c64,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6948        {  bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c64,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6949        {  bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c64,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6950        {  bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c64,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6951        {  bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c64,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues64B_03),   s_aValues64B_03 },
     6952        {  bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c64,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues64B_03),   s_aValues64B_03 },
     6953        {  bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c64,          255,         RM_REG, T_MMX_SSSE3,  1, 1,   2, RT_ELEMENTS(s_aValues64B_09),   s_aValues64B_09 },
     6954        {  bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c64,        255,         RM_MEM, T_MMX_SSSE3,  1, 1, 255, RT_ELEMENTS(s_aValues64B_09),   s_aValues64B_09 },
     6955
     6956        {  bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c64,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6957        {  bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6958        {  bs3CpuInstr3_palignr_XMM8_XMM9_0FFh_icebp_c64,        255,         RM_REG, T_SSSE3,      8, 8,   9, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6959        {  bs3CpuInstr3_palignr_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM, T_SSSE3,      8, 8, 255, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6960
     6961        {  bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c64,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6962        {  bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6963        {  bs3CpuInstr3_palignr_XMM8_XMM9_000h_icebp_c64,        255,         RM_REG, T_SSSE3,      8, 8,   9, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6964        {  bs3CpuInstr3_palignr_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM, T_SSSE3,      8, 8, 255, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6965
     6966        {  bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c64,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues128B_03),  s_aValues128B_03 },
     6967        {  bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c64,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues128B_03),  s_aValues128B_03 },
     6968        {  bs3CpuInstr3_palignr_XMM8_XMM9_003h_icebp_c64,        255,         RM_REG, T_SSSE3,      8, 8,   9, RT_ELEMENTS(s_aValues128B_03),  s_aValues128B_03 },
     6969        {  bs3CpuInstr3_palignr_XMM8_FSxBX_003h_icebp_c64,       255,         RM_MEM, T_SSSE3,      8, 8, 255, RT_ELEMENTS(s_aValues128B_03),  s_aValues128B_03 },
     6970
     6971        {  bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c64,        255,         RM_REG, T_SSSE3,      1, 1,   2, RT_ELEMENTS(s_aValues128B_13),  s_aValues128B_13 },
     6972        {  bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c64,       255,         RM_MEM, T_SSSE3,      1, 1, 255, RT_ELEMENTS(s_aValues128B_13),  s_aValues128B_13 },
     6973        {  bs3CpuInstr3_palignr_XMM8_XMM9_013h_icebp_c64,        255,         RM_REG, T_SSSE3,      8, 8,   9, RT_ELEMENTS(s_aValues128B_13),  s_aValues128B_13 },
     6974        {  bs3CpuInstr3_palignr_XMM8_FSxBX_013h_icebp_c64,       255,         RM_MEM, T_SSSE3,      8, 8, 255, RT_ELEMENTS(s_aValues128B_13),  s_aValues128B_13 },
     6975
     6976        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c64,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6977        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6978        {  bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255,         RM_REG, T_AVX_128,    8, 9,  10, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6979        {  bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128,    8, 9, 255, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6980        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6981        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6982        {  bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6983        {  bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValuesFF),       s_aValuesFF },
     6984
     6985        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c64,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6986        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6987        {  bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_000h_icebp_c64, 255,         RM_REG, T_AVX_128,    8, 9,  10, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6988        {  bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128,    8, 9, 255, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6989        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6990        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6991        {  bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_000h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6992        {  bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues00),       s_aValues00 },
     6993
     6994        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_003h_icebp_c64,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues128B_03),  s_aValues128B_03 },
     6995        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues128B_03),  s_aValues128B_03 },
     6996        {  bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_003h_icebp_c64, 255,         RM_REG, T_AVX_128,    8, 9,  10, RT_ELEMENTS(s_aValues128B_03),  s_aValues128B_03 },
     6997        {  bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128,    8, 9, 255, RT_ELEMENTS(s_aValues128B_03),  s_aValues128B_03 },
     6998        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_013h_icebp_c64,  255,         RM_REG, T_AVX_128,    1, 2,   3, RT_ELEMENTS(s_aValues128B_13),  s_aValues128B_13 },
     6999        {  bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_013h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128,    1, 2, 255, RT_ELEMENTS(s_aValues128B_13),  s_aValues128B_13 },
     7000        {  bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_013h_icebp_c64, 255,         RM_REG, T_AVX_128,    8, 9,  10, RT_ELEMENTS(s_aValues128B_13),  s_aValues128B_13 },
     7001        {  bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_013h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128,    8, 9, 255, RT_ELEMENTS(s_aValues128B_13),  s_aValues128B_13 },
     7002
     7003        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_003h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues256B_03),  s_aValues256B_03 },
     7004        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues256B_03),  s_aValues256B_03 },
     7005        {  bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_003h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues256B_03),  s_aValues256B_03 },
     7006        {  bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues256B_03),  s_aValues256B_03 },
     7007        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_013h_icebp_c64,  255,         RM_REG, T_AVX2_256,   1, 2,   3, RT_ELEMENTS(s_aValues256B_13),  s_aValues256B_13 },
     7008        {  bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_013h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   1, 2, 255, RT_ELEMENTS(s_aValues256B_13),  s_aValues256B_13 },
     7009        {  bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_013h_icebp_c64, 255,         RM_REG, T_AVX2_256,   8, 9,  10, RT_ELEMENTS(s_aValues256B_13),  s_aValues256B_13 },
     7010        {  bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_013h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256,   8, 9, 255, RT_ELEMENTS(s_aValues256B_13),  s_aValues256B_13 },
    66977011    };
    66987012    static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     
    1073011044        { "[v]blendvpd",                                    bs3CpuInstr3_v_blendvpd, 0 },
    1073111045#endif
     11046#if defined(ALL_TESTS)
     11047        { "[v]palignr",                                     bs3CpuInstr3_v_palignr,  0 }
     11048#endif
    1073211049    };
    1073311050    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