Changeset 106871 in vbox
- Timestamp:
- Nov 7, 2024 3:41:52 PM (4 months ago)
- svn:sync-xref-src-repo-rev:
- 165791
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32
r106864 r106871 723 723 PBS3EXTCTX pExtCtxOut; 724 724 PBS3EXTCTX pExtCtx = bs3CpuInstr3AllocExtCtxs(&pExtCtxOut); 725 BS3SETREGCTX SetRegCtx; 725 726 if (!pExtCtx) 726 727 return 0; … … 737 738 bs3CpuInstr3SetupSseAndAvx(&Ctx, pExtCtx); 738 739 //Bs3TestPrintf("FTW=%#x mm1/st1=%.16Rhxs\n", pExtCtx->Ctx.x87.FTW, &pExtCtx->Ctx.x87.aRegs[1]); 740 741 bs3CpuInstrXGetRegisterInit(&SetRegCtx, pExtCtx, &Ctx, bMode); 739 742 740 743 /* … … 766 769 bool const fSseInstr = paTests[iTest].enmType >= T_SSE && paTests[iTest].enmType < T_AVX_128; 767 770 bool const fAvxInstr = paTests[iTest].enmType >= T_AVX_128; 771 bool const fMemOp = paTests[iTest].enmRm >= RM_MEM; 772 uint8_t const cMemOps = BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst) 773 + BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegSrc1) 774 + BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegSrc2); 768 775 uint8_t const cbOperand = paTests[iTest].enmType < T_128BITS ? 64/8 769 776 : paTests[iTest].enmType < T_256BITS ? 128/8 : 256/8; … … 786 793 continue; 787 794 795 BS3_ASSERT((fMemOp && (cMemOps == 1)) || (!fMemOp && (cMemOps == 0))); 796 NOREF(cMemOps); 797 798 SetRegCtx.fZeroYMMHi = fSseInstr; 799 788 800 /* #AC is only raised in ring-3.: */ 789 801 if (bXcptExpect == X86_XCPT_AC) … … 815 827 * Set up the context and some expectations. 816 828 */ 829 SetRegCtx.enmTop = BS3EXTCTXTOPMM_ZERO; 830 817 831 /* dest */ 818 if ( paTests[iTest].iRegDst == UINT8_MAX)832 if (BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst)) 819 833 { 820 BS3_ASSERT(paTests[iTest].enmRm >= RM_MEM);821 834 Bs3MemSet(puMemOpAlias, 0xcc, cbMemOp); 822 835 if (bXcptExpect == X86_XCPT_DB) … … 826 839 } 827 840 else if (fMmxInstr) 828 Bs3ExtCtxSetMm(pExtCtx, paTests[iTest].iRegSrc2, ~paValues[iVal].uDstOut.QWords.qw0, BS3EXTCTXTOPMM_ZERO); 841 { 842 RTUINT256U uInvSrc2 = RTUINT256_INIT_C(0, 0, 0, 0); 843 uInvSrc2.QWords.qw0 = ~paValues[iVal].uDstOut.QWords.qw0; 844 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegDst, &uInvSrc2); 845 } 829 846 830 847 /* source #1 (/ destination for MMX and SSE) */ 831 if ( paTests[iTest].iRegSrc1 == UINT8_MAX)848 if (BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegSrc1)) 832 849 { 833 BS3_ASSERT(paTests[iTest].enmRm >= RM_MEM);834 850 Bs3MemCpy(puMemOpAlias, &paValues[iVal].uSrc1, cbMemOp); 835 if (paTests[iTest].iRegDst == UINT8_MAX) 836 BS3_ASSERT(fSseInstr); 837 else 838 uMemOpExpect = paValues[iVal].uSrc1; 851 uMemOpExpect = paValues[iVal].uSrc1; 839 852 } 840 else if (fMmxInstr)841 Bs3ExtCtxSetMm(pExtCtx, paTests[iTest].iRegSrc1, paValues[iVal].uSrc1.QWords.qw0, BS3EXTCTXTOPMM_ZERO);842 else if (fSseInstr)843 Bs3ExtCtxSetXmm(pExtCtx, paTests[iTest].iRegSrc1, &paValues[iVal].uSrc1.DQWords.dqw0);844 853 else 845 Bs3ExtCtxSet Ymm(pExtCtx, paTests[iTest].iRegSrc1, &paValues[iVal].uSrc1, 32);854 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc1, &paValues[iVal].uSrc1); 846 855 847 856 /* source #2 */ 848 if ( paTests[iTest].iRegSrc2 == UINT8_MAX)857 if (BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegSrc2)) 849 858 { 850 BS3_ASSERT(paTests[iTest].enmRm >= RM_MEM);851 BS3_ASSERT(paTests[iTest].iRegDst != UINT8_MAX && paTests[iTest].iRegSrc1 != UINT8_MAX);852 859 Bs3MemCpy(puMemOpAlias, &paValues[iVal].uSrc2, cbMemOp); 853 860 uMemOpExpect = paValues[iVal].uSrc2; 854 861 } 855 else if (fMmxInstr)856 Bs3ExtCtxSetMm(pExtCtx, paTests[iTest].iRegSrc2, paValues[iVal].uSrc2.QWords.qw0, BS3EXTCTXTOPMM_ZERO);857 else if (fSseInstr)858 Bs3ExtCtxSetXmm(pExtCtx, paTests[iTest].iRegSrc2, &paValues[iVal].uSrc2.DQWords.dqw0);859 862 else 860 Bs3ExtCtxSet Ymm(pExtCtx, paTests[iTest].iRegSrc2, &paValues[iVal].uSrc2, 32);863 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc2, &paValues[iVal].uSrc2); 861 864 862 865 /* Memory pointer. */ 863 if (paTests[iTest].enmRm >= RM_MEM) 864 { 865 BS3_ASSERT( paTests[iTest].iRegDst == UINT8_MAX 866 || paTests[iTest].iRegSrc1 == UINT8_MAX 867 || paTests[iTest].iRegSrc2 == UINT8_MAX); 866 if (fMemOp) 868 867 if (paTests[iTest].enmRm != RM_MEM_DI) 869 868 Bs3RegCtxSetGrpSegFromCurPtr(&Ctx, &Ctx.rbx, &Ctx.fs, puMemOp); 870 869 else 871 870 Bs3RegCtxSetGrpSegFromCurPtr(&Ctx, &Ctx.rdi, &Ctx.fs, puMemOp); 872 }873 871 874 872 /* … … 892 890 Bs3ExtCtxSetAbridgedFtw(pExtCtx, 0xff); /* Observed on 10980xe after pxor mm1, mm2. */ 893 891 } 894 if (bXcptExpect == X86_XCPT_DB && paTests[iTest].iRegDst != UINT8_MAX) 895 { 896 if (fMmxInstr) 897 Bs3ExtCtxSetMm(pExtCtx, paTests[iTest].iRegDst, paValues[iVal].uDstOut.QWords.qw0, BS3EXTCTXTOPMM_SET); 898 else if (fSseInstr) 899 Bs3ExtCtxSetXmm(pExtCtx, paTests[iTest].iRegDst, &paValues[iVal].uDstOut.DQWords.dqw0); 900 else 901 Bs3ExtCtxSetYmm(pExtCtx, paTests[iTest].iRegDst, &paValues[iVal].uDstOut, cbOperand); 902 } 892 893 SetRegCtx.enmTop = BS3EXTCTXTOPMM_SET; 894 if (bXcptExpect == X86_XCPT_DB && !BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst)) 895 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegDst, &paValues[iVal].uDstOut); 903 896 #if defined(DEBUG_aeichner) /** @todo Necessary kludge on a i7-1068NG7. */ 904 897 if ( pExtCtx->enmMethod == BS3EXTCTXMETHOD_XSAVE … … 928 921 Ctx.cr2Range = 0; 929 922 930 if ( paTests[iTest].enmRm >= RM_MEM923 if ( fMemOp 931 924 && Bs3MemCmp(puMemOpAlias, &uMemOpExpect, cbMemOp) != 0) 932 925 Bs3TestFailedF("Expected uMemOp %.*Rhxs, got %.*Rhxs", cbMemOp, &uMemOpExpect, cbMemOp, puMemOpAlias); … … 970 963 971 964 965 #define PASS_ELEMENTS(s_aArray) RT_ELEMENTS(s_aArray), s_aArray 966 967 972 968 /* 973 * PAND, VPAND, ANDPS, VANDPS, ANDPD, VANDPD.969 * [V]PAND, [V]ANDPS, [V]ANDPD. 974 970 */ 975 971 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_andps_andpd_pand(uint8_t bMode) … … 990 986 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 991 987 { 992 { bs3CpuInstr3_pand_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},993 { bs3CpuInstr3_pand_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},994 { bs3CpuInstr3_pand_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},995 { bs3CpuInstr3_pand_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},996 { bs3CpuInstr3_vpand_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},997 { bs3CpuInstr3_vpand_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},998 { bs3CpuInstr3_vpand_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},999 { bs3CpuInstr3_vpand_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1000 1001 { bs3CpuInstr3_andps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1002 { bs3CpuInstr3_andps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1003 { bs3CpuInstr3_vandps_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1004 { bs3CpuInstr3_vandps_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1005 { bs3CpuInstr3_vandps_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1006 { bs3CpuInstr3_vandps_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1007 1008 { bs3CpuInstr3_andpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1009 { bs3CpuInstr3_andpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1010 { bs3CpuInstr3_vandpd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1011 { bs3CpuInstr3_vandpd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1012 { bs3CpuInstr3_vandpd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1013 { bs3CpuInstr3_vandpd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},988 { bs3CpuInstr3_pand_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 989 { bs3CpuInstr3_pand_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 990 { bs3CpuInstr3_pand_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 991 { bs3CpuInstr3_pand_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 992 { bs3CpuInstr3_vpand_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 993 { bs3CpuInstr3_vpand_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 994 { bs3CpuInstr3_vpand_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 995 { bs3CpuInstr3_vpand_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 996 997 { bs3CpuInstr3_andps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 998 { bs3CpuInstr3_andps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 999 { bs3CpuInstr3_vandps_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1000 { bs3CpuInstr3_vandps_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1001 { bs3CpuInstr3_vandps_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1002 { bs3CpuInstr3_vandps_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1003 1004 { bs3CpuInstr3_andpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1005 { bs3CpuInstr3_andpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1006 { bs3CpuInstr3_vandpd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1007 { bs3CpuInstr3_vandpd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1008 { bs3CpuInstr3_vandpd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1009 { bs3CpuInstr3_vandpd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1014 1010 }; 1015 1011 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 1016 1012 { 1017 { bs3CpuInstr3_pand_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1018 { bs3CpuInstr3_pand_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1019 { bs3CpuInstr3_pand_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1020 { bs3CpuInstr3_pand_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1021 { bs3CpuInstr3_vpand_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1022 { bs3CpuInstr3_vpand_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1023 { bs3CpuInstr3_vpand_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1024 { bs3CpuInstr3_vpand_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1025 1026 { bs3CpuInstr3_andps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1027 { bs3CpuInstr3_andps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1028 { bs3CpuInstr3_vandps_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1029 { bs3CpuInstr3_vandps_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1030 { bs3CpuInstr3_vandps_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1031 { bs3CpuInstr3_vandps_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1032 1033 { bs3CpuInstr3_andpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1034 { bs3CpuInstr3_andpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1035 { bs3CpuInstr3_vandpd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1036 { bs3CpuInstr3_vandpd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1037 { bs3CpuInstr3_vandpd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1038 { bs3CpuInstr3_vandpd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1013 { bs3CpuInstr3_pand_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1014 { bs3CpuInstr3_pand_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1015 { bs3CpuInstr3_pand_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1016 { bs3CpuInstr3_pand_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1017 { bs3CpuInstr3_vpand_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1018 { bs3CpuInstr3_vpand_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1019 { bs3CpuInstr3_vpand_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1020 { bs3CpuInstr3_vpand_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1021 1022 { bs3CpuInstr3_andps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1023 { bs3CpuInstr3_andps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1024 { bs3CpuInstr3_vandps_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1025 { bs3CpuInstr3_vandps_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1026 { bs3CpuInstr3_vandps_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1027 { bs3CpuInstr3_vandps_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1028 1029 { bs3CpuInstr3_andpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1030 { bs3CpuInstr3_andpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1031 { bs3CpuInstr3_vandpd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1032 { bs3CpuInstr3_vandpd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1033 { bs3CpuInstr3_vandpd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1034 { bs3CpuInstr3_vandpd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1039 1035 }; 1040 1036 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 1041 1037 { 1042 { bs3CpuInstr3_pand_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1043 { bs3CpuInstr3_pand_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1044 { bs3CpuInstr3_pand_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1045 { bs3CpuInstr3_pand_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1046 { bs3CpuInstr3_vpand_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1047 { bs3CpuInstr3_vpand_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1048 { bs3CpuInstr3_vpand_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues }, 1049 { bs3CpuInstr3_vpand_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1050 1051 { bs3CpuInstr3_andps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1052 { bs3CpuInstr3_andps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1053 { bs3CpuInstr3_vandps_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1054 { bs3CpuInstr3_vandps_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1055 { bs3CpuInstr3_vandps_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1056 { bs3CpuInstr3_vandps_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1057 1058 { bs3CpuInstr3_andpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1059 { bs3CpuInstr3_andpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1060 { bs3CpuInstr3_vandpd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues }, 1061 { bs3CpuInstr3_vandpd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1062 { bs3CpuInstr3_vandpd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues }, 1063 { bs3CpuInstr3_vandpd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1064 { bs3CpuInstr3_vandpd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValues), s_aValues }, 1065 }; 1066 1038 { bs3CpuInstr3_pand_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1039 { bs3CpuInstr3_pand_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1040 { bs3CpuInstr3_pand_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1041 { bs3CpuInstr3_pand_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1042 { bs3CpuInstr3_vpand_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1043 { bs3CpuInstr3_vpand_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1044 { bs3CpuInstr3_vpand_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1045 { bs3CpuInstr3_vpand_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1046 1047 { bs3CpuInstr3_andps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1048 { bs3CpuInstr3_andps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1049 { bs3CpuInstr3_vandps_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1050 { bs3CpuInstr3_vandps_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1051 { bs3CpuInstr3_vandps_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1052 { bs3CpuInstr3_vandps_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1053 1054 { bs3CpuInstr3_andpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1055 { bs3CpuInstr3_andpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1056 { bs3CpuInstr3_vandpd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1057 { bs3CpuInstr3_vandpd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1058 { bs3CpuInstr3_vandpd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1059 { bs3CpuInstr3_vandpd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1060 { bs3CpuInstr3_vandpd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValues) }, 1061 }; 1067 1062 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 1068 1063 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); … … 1073 1068 1074 1069 /* 1075 * PANDN, VPANDN, ANDNPS, VANDNPS, ANDNPD, VANDNPD.1070 * [V]PANDN, [V]ANDNPS, [V]ANDNPD. 1076 1071 */ 1077 1072 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_andnps_andnpd_pandn(uint8_t bMode) … … 1092 1087 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 1093 1088 { 1094 { bs3CpuInstr3_pandn_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1095 { bs3CpuInstr3_pandn_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1096 { bs3CpuInstr3_pandn_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1097 { bs3CpuInstr3_pandn_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1098 { bs3CpuInstr3_vpandn_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1099 { bs3CpuInstr3_vpandn_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1100 { bs3CpuInstr3_vpandn_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1101 { bs3CpuInstr3_vpandn_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1102 1103 { bs3CpuInstr3_andnps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1104 { bs3CpuInstr3_andnps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1105 { bs3CpuInstr3_vandnps_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1106 { bs3CpuInstr3_vandnps_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1107 { bs3CpuInstr3_vandnps_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1108 { bs3CpuInstr3_vandnps_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1109 1110 { bs3CpuInstr3_andnpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1111 { bs3CpuInstr3_andnpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1112 { bs3CpuInstr3_vandnpd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1113 { bs3CpuInstr3_vandnpd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1114 { bs3CpuInstr3_vandnpd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1115 { bs3CpuInstr3_vandnpd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1089 { bs3CpuInstr3_pandn_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1090 { bs3CpuInstr3_pandn_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1091 { bs3CpuInstr3_pandn_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1092 { bs3CpuInstr3_pandn_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1093 { bs3CpuInstr3_vpandn_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1094 { bs3CpuInstr3_vpandn_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1095 { bs3CpuInstr3_vpandn_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1096 { bs3CpuInstr3_vpandn_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1097 1098 { bs3CpuInstr3_andnps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1099 { bs3CpuInstr3_andnps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1100 { bs3CpuInstr3_vandnps_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1101 { bs3CpuInstr3_vandnps_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1102 { bs3CpuInstr3_vandnps_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1103 { bs3CpuInstr3_vandnps_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1104 1105 { bs3CpuInstr3_andnpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1106 { bs3CpuInstr3_andnpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1107 { bs3CpuInstr3_vandnpd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1108 { bs3CpuInstr3_vandnpd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1109 { bs3CpuInstr3_vandnpd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1110 { bs3CpuInstr3_vandnpd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1116 1111 }; 1117 1112 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 1118 1113 { 1119 { bs3CpuInstr3_pandn_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1120 { bs3CpuInstr3_pandn_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1121 { bs3CpuInstr3_pandn_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1122 { bs3CpuInstr3_pandn_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1123 { bs3CpuInstr3_vpandn_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1124 { bs3CpuInstr3_vpandn_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1125 { bs3CpuInstr3_vpandn_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1126 { bs3CpuInstr3_vpandn_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1127 1128 { bs3CpuInstr3_andnps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1129 { bs3CpuInstr3_andnps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1130 { bs3CpuInstr3_vandnps_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1131 { bs3CpuInstr3_vandnps_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1132 { bs3CpuInstr3_vandnps_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1133 { bs3CpuInstr3_vandnps_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1134 1135 { bs3CpuInstr3_andnpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1136 { bs3CpuInstr3_andnpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1137 { bs3CpuInstr3_vandnpd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1138 { bs3CpuInstr3_vandnpd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1139 { bs3CpuInstr3_vandnpd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1140 { bs3CpuInstr3_vandnpd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1114 { bs3CpuInstr3_pandn_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1115 { bs3CpuInstr3_pandn_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1116 { bs3CpuInstr3_pandn_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1117 { bs3CpuInstr3_pandn_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1118 { bs3CpuInstr3_vpandn_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1119 { bs3CpuInstr3_vpandn_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1120 { bs3CpuInstr3_vpandn_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1121 { bs3CpuInstr3_vpandn_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1122 1123 { bs3CpuInstr3_andnps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1124 { bs3CpuInstr3_andnps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1125 { bs3CpuInstr3_vandnps_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1126 { bs3CpuInstr3_vandnps_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1127 { bs3CpuInstr3_vandnps_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1128 { bs3CpuInstr3_vandnps_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1129 1130 { bs3CpuInstr3_andnpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1131 { bs3CpuInstr3_andnpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1132 { bs3CpuInstr3_vandnpd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1133 { bs3CpuInstr3_vandnpd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1134 { bs3CpuInstr3_vandnpd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1135 { bs3CpuInstr3_vandnpd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1141 1136 }; 1142 1137 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 1143 1138 { 1144 { bs3CpuInstr3_pandn_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1145 { bs3CpuInstr3_pandn_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1146 { bs3CpuInstr3_pandn_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1147 { bs3CpuInstr3_pandn_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1148 { bs3CpuInstr3_vpandn_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1149 { bs3CpuInstr3_vpandn_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1150 { bs3CpuInstr3_vpandn_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues }, 1151 { bs3CpuInstr3_vpandn_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1152 1153 { bs3CpuInstr3_andnps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1154 { bs3CpuInstr3_andnps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1155 { bs3CpuInstr3_vandnps_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1156 { bs3CpuInstr3_vandnps_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1157 { bs3CpuInstr3_vandnps_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1158 { bs3CpuInstr3_vandnps_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1159 1160 { bs3CpuInstr3_andnpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues }, 1161 { bs3CpuInstr3_andnpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1162 { bs3CpuInstr3_vandnpd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues }, 1163 { bs3CpuInstr3_vandnpd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1164 { bs3CpuInstr3_vandnpd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues }, 1165 { bs3CpuInstr3_vandnpd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues }, 1166 { bs3CpuInstr3_vandnpd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValues), s_aValues }, 1167 }; 1168 1139 { bs3CpuInstr3_pandn_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1140 { bs3CpuInstr3_pandn_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1141 { bs3CpuInstr3_pandn_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1142 { bs3CpuInstr3_pandn_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1143 { bs3CpuInstr3_vpandn_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1144 { bs3CpuInstr3_vpandn_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1145 { bs3CpuInstr3_vpandn_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1146 { bs3CpuInstr3_vpandn_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1147 1148 { bs3CpuInstr3_andnps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1149 { bs3CpuInstr3_andnps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1150 { bs3CpuInstr3_vandnps_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1151 { bs3CpuInstr3_vandnps_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1152 { bs3CpuInstr3_vandnps_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1153 { bs3CpuInstr3_vandnps_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1154 1155 { bs3CpuInstr3_andnpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1156 { bs3CpuInstr3_andnpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1157 { bs3CpuInstr3_vandnpd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1158 { bs3CpuInstr3_vandnpd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1159 { bs3CpuInstr3_vandnpd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1160 { bs3CpuInstr3_vandnpd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1161 { bs3CpuInstr3_vandnpd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValues) }, 1162 }; 1169 1163 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 1170 1164 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); … … 1176 1170 1177 1171 /* 1178 * POR, VPOR, PORPS, VORPS, PORPD, VPORPD.1172 * [V]POR, [V]PORPS, [V]PORPD. 1179 1173 */ 1180 1174 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_orps_orpd_por(uint8_t bMode) … … 1195 1189 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 1196 1190 { 1197 { bs3CpuInstr3_por_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1198 { bs3CpuInstr3_por_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1199 { bs3CpuInstr3_por_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1200 { bs3CpuInstr3_por_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1201 { bs3CpuInstr3_vpor_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1202 { bs3CpuInstr3_vpor_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1203 { bs3CpuInstr3_vpor_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1204 { bs3CpuInstr3_vpor_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1205 1206 { bs3CpuInstr3_orps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1207 { bs3CpuInstr3_orps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1208 { bs3CpuInstr3_vorps_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1209 { bs3CpuInstr3_vorps_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1210 { bs3CpuInstr3_vorps_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1211 { bs3CpuInstr3_vorps_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1212 1213 { bs3CpuInstr3_orpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1214 { bs3CpuInstr3_orpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1215 { bs3CpuInstr3_vorpd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1216 { bs3CpuInstr3_vorpd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1217 { bs3CpuInstr3_vorpd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1218 { bs3CpuInstr3_vorpd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1191 { bs3CpuInstr3_por_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1192 { bs3CpuInstr3_por_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1193 { bs3CpuInstr3_por_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1194 { bs3CpuInstr3_por_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1195 { bs3CpuInstr3_vpor_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1196 { bs3CpuInstr3_vpor_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1197 { bs3CpuInstr3_vpor_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1198 { bs3CpuInstr3_vpor_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1199 1200 { bs3CpuInstr3_orps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1201 { bs3CpuInstr3_orps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1202 { bs3CpuInstr3_vorps_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1203 { bs3CpuInstr3_vorps_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1204 { bs3CpuInstr3_vorps_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1205 { bs3CpuInstr3_vorps_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1206 1207 { bs3CpuInstr3_orpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1208 { bs3CpuInstr3_orpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1209 { bs3CpuInstr3_vorpd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1210 { bs3CpuInstr3_vorpd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1211 { bs3CpuInstr3_vorpd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1212 { bs3CpuInstr3_vorpd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1219 1213 }; 1220 1214 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 1221 1215 { 1222 { bs3CpuInstr3_por_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1223 { bs3CpuInstr3_por_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1224 { bs3CpuInstr3_por_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1225 { bs3CpuInstr3_por_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1226 { bs3CpuInstr3_vpor_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1227 { bs3CpuInstr3_vpor_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1228 { bs3CpuInstr3_vpor_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1229 { bs3CpuInstr3_vpor_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1230 1231 { bs3CpuInstr3_orps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1232 { bs3CpuInstr3_orps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1233 { bs3CpuInstr3_vorps_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1234 { bs3CpuInstr3_vorps_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1235 { bs3CpuInstr3_vorps_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1236 { bs3CpuInstr3_vorps_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1237 1238 { bs3CpuInstr3_orpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1239 { bs3CpuInstr3_orpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1240 { bs3CpuInstr3_vorpd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1241 { bs3CpuInstr3_vorpd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1242 { bs3CpuInstr3_vorpd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1243 { bs3CpuInstr3_vorpd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1216 { bs3CpuInstr3_por_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1217 { bs3CpuInstr3_por_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1218 { bs3CpuInstr3_por_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1219 { bs3CpuInstr3_por_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1220 { bs3CpuInstr3_vpor_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1221 { bs3CpuInstr3_vpor_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1222 { bs3CpuInstr3_vpor_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1223 { bs3CpuInstr3_vpor_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1224 1225 { bs3CpuInstr3_orps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1226 { bs3CpuInstr3_orps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1227 { bs3CpuInstr3_vorps_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1228 { bs3CpuInstr3_vorps_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1229 { bs3CpuInstr3_vorps_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1230 { bs3CpuInstr3_vorps_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1231 1232 { bs3CpuInstr3_orpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1233 { bs3CpuInstr3_orpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1234 { bs3CpuInstr3_vorpd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1235 { bs3CpuInstr3_vorpd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1236 { bs3CpuInstr3_vorpd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1237 { bs3CpuInstr3_vorpd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1244 1238 }; 1245 1239 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 1246 1240 { 1247 { bs3CpuInstr3_por_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1248 { bs3CpuInstr3_por_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1249 { bs3CpuInstr3_por_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1250 { bs3CpuInstr3_por_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1251 { bs3CpuInstr3_vpor_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1252 { bs3CpuInstr3_vpor_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1253 { bs3CpuInstr3_vpor_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1254 { bs3CpuInstr3_vpor_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1255 1256 { bs3CpuInstr3_orps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1257 { bs3CpuInstr3_orps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1258 { bs3CpuInstr3_vorps_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1259 { bs3CpuInstr3_vorps_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1260 { bs3CpuInstr3_vorps_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1261 { bs3CpuInstr3_vorps_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1262 1263 { bs3CpuInstr3_orpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1264 { bs3CpuInstr3_orpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1265 { bs3CpuInstr3_vorpd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1266 { bs3CpuInstr3_vorpd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1267 { bs3CpuInstr3_vorpd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1268 { bs3CpuInstr3_vorpd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1269 { bs3CpuInstr3_vorpd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValues), s_aValues},1241 { bs3CpuInstr3_por_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1242 { bs3CpuInstr3_por_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1243 { bs3CpuInstr3_por_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1244 { bs3CpuInstr3_por_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1245 { bs3CpuInstr3_vpor_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1246 { bs3CpuInstr3_vpor_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1247 { bs3CpuInstr3_vpor_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1248 { bs3CpuInstr3_vpor_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1249 1250 { bs3CpuInstr3_orps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1251 { bs3CpuInstr3_orps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1252 { bs3CpuInstr3_vorps_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1253 { bs3CpuInstr3_vorps_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1254 { bs3CpuInstr3_vorps_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1255 { bs3CpuInstr3_vorps_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1256 1257 { bs3CpuInstr3_orpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1258 { bs3CpuInstr3_orpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1259 { bs3CpuInstr3_vorpd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1260 { bs3CpuInstr3_vorpd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1261 { bs3CpuInstr3_vorpd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1262 { bs3CpuInstr3_vorpd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1263 { bs3CpuInstr3_vorpd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValues) }, 1270 1264 }; 1271 1265 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 1277 1271 1278 1272 /* 1279 * PXOR, VPXOR, XORPS, VXORPS, XORPD, VXORPD.1273 * [V]PXOR, [V]XORPS, [V]XORPD. 1280 1274 */ 1281 1275 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_xorps_xorpd_pxor(uint8_t bMode) … … 1296 1290 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 1297 1291 { 1298 { bs3CpuInstr3_pxor_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1299 { bs3CpuInstr3_pxor_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1300 { bs3CpuInstr3_pxor_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1301 { bs3CpuInstr3_pxor_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1302 { bs3CpuInstr3_vpxor_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1303 { bs3CpuInstr3_vpxor_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1304 { bs3CpuInstr3_vpxor_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1305 { bs3CpuInstr3_vpxor_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1306 1307 { bs3CpuInstr3_xorps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1308 { bs3CpuInstr3_xorps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1309 { bs3CpuInstr3_vxorps_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1310 { bs3CpuInstr3_vxorps_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1311 { bs3CpuInstr3_vxorps_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1312 { bs3CpuInstr3_vxorps_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1313 1314 { bs3CpuInstr3_xorpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1315 { bs3CpuInstr3_xorpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1316 { bs3CpuInstr3_vxorpd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1317 { bs3CpuInstr3_vxorpd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1318 { bs3CpuInstr3_vxorpd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1319 { bs3CpuInstr3_vxorpd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1292 { bs3CpuInstr3_pxor_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1293 { bs3CpuInstr3_pxor_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1294 { bs3CpuInstr3_pxor_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1295 { bs3CpuInstr3_pxor_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1296 { bs3CpuInstr3_vpxor_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1297 { bs3CpuInstr3_vpxor_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1298 { bs3CpuInstr3_vpxor_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1299 { bs3CpuInstr3_vpxor_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1300 1301 { bs3CpuInstr3_xorps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1302 { bs3CpuInstr3_xorps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1303 { bs3CpuInstr3_vxorps_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1304 { bs3CpuInstr3_vxorps_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1305 { bs3CpuInstr3_vxorps_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1306 { bs3CpuInstr3_vxorps_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1307 1308 { bs3CpuInstr3_xorpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1309 { bs3CpuInstr3_xorpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1310 { bs3CpuInstr3_vxorpd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1311 { bs3CpuInstr3_vxorpd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1312 { bs3CpuInstr3_vxorpd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1313 { bs3CpuInstr3_vxorpd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1320 1314 }; 1321 1315 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 1322 1316 { 1323 { bs3CpuInstr3_pxor_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1324 { bs3CpuInstr3_pxor_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1325 { bs3CpuInstr3_pxor_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1326 { bs3CpuInstr3_pxor_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1327 { bs3CpuInstr3_vpxor_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1328 { bs3CpuInstr3_vpxor_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1329 { bs3CpuInstr3_vpxor_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1330 { bs3CpuInstr3_vpxor_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1331 1332 { bs3CpuInstr3_xorps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1333 { bs3CpuInstr3_xorps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1334 { bs3CpuInstr3_vxorps_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1335 { bs3CpuInstr3_vxorps_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1336 { bs3CpuInstr3_vxorps_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1337 { bs3CpuInstr3_vxorps_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1338 1339 { bs3CpuInstr3_xorpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1340 { bs3CpuInstr3_xorpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1341 { bs3CpuInstr3_vxorpd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1342 { bs3CpuInstr3_vxorpd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1343 { bs3CpuInstr3_vxorpd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1344 { bs3CpuInstr3_vxorpd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1317 { bs3CpuInstr3_pxor_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1318 { bs3CpuInstr3_pxor_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1319 { bs3CpuInstr3_pxor_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1320 { bs3CpuInstr3_pxor_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1321 { bs3CpuInstr3_vpxor_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1322 { bs3CpuInstr3_vpxor_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1323 { bs3CpuInstr3_vpxor_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1324 { bs3CpuInstr3_vpxor_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1325 1326 { bs3CpuInstr3_xorps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1327 { bs3CpuInstr3_xorps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1328 { bs3CpuInstr3_vxorps_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1329 { bs3CpuInstr3_vxorps_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1330 { bs3CpuInstr3_vxorps_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1331 { bs3CpuInstr3_vxorps_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1332 1333 { bs3CpuInstr3_xorpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1334 { bs3CpuInstr3_xorpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1335 { bs3CpuInstr3_vxorpd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1336 { bs3CpuInstr3_vxorpd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1337 { bs3CpuInstr3_vxorpd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1338 { bs3CpuInstr3_vxorpd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1345 1339 }; 1346 1340 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 1347 1341 { 1348 { bs3CpuInstr3_pxor_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1349 { bs3CpuInstr3_pxor_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1350 { bs3CpuInstr3_pxor_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1351 { bs3CpuInstr3_pxor_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1352 { bs3CpuInstr3_vpxor_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1353 { bs3CpuInstr3_vpxor_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1354 { bs3CpuInstr3_vpxor_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},1355 { bs3CpuInstr3_vpxor_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},1356 1357 { bs3CpuInstr3_xorps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1358 { bs3CpuInstr3_xorps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1359 { bs3CpuInstr3_vxorps_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1360 { bs3CpuInstr3_vxorps_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1361 { bs3CpuInstr3_vxorps_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1362 { bs3CpuInstr3_vxorps_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1363 1364 { bs3CpuInstr3_xorpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},1365 { bs3CpuInstr3_xorpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1366 { bs3CpuInstr3_vxorpd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1367 { bs3CpuInstr3_vxorpd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1368 { bs3CpuInstr3_vxorpd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValues), s_aValues},1369 { bs3CpuInstr3_vxorpd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},1370 { bs3CpuInstr3_vxorpd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValues), s_aValues},1342 { bs3CpuInstr3_pxor_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 1343 { bs3CpuInstr3_pxor_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1344 { bs3CpuInstr3_pxor_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1345 { bs3CpuInstr3_pxor_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1346 { bs3CpuInstr3_vpxor_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1347 { bs3CpuInstr3_vpxor_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1348 { bs3CpuInstr3_vpxor_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 1349 { bs3CpuInstr3_vpxor_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 1350 1351 { bs3CpuInstr3_xorps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1352 { bs3CpuInstr3_xorps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1353 { bs3CpuInstr3_vxorps_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1354 { bs3CpuInstr3_vxorps_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1355 { bs3CpuInstr3_vxorps_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 1356 { bs3CpuInstr3_vxorps_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1357 1358 { bs3CpuInstr3_xorpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 1359 { bs3CpuInstr3_xorpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1360 { bs3CpuInstr3_vxorpd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValues) }, 1361 { bs3CpuInstr3_vxorpd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1362 { bs3CpuInstr3_vxorpd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValues) }, 1363 { bs3CpuInstr3_vxorpd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 1364 { bs3CpuInstr3_vxorpd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValues) }, 1371 1365 }; 1372 1366 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 1379 1373 1380 1374 /* 1381 * PCMPGTB, VPCMPGTB, PCMPGTW, VPCMPGTW, PCMPGTD, VPCMPGTD, PCMPGTQ, VPCMPGTQ.1375 * [V]PCMPGTB, [V]PCMPGTW, [V]PCMPGTD, [V]PCMPGTQ. 1382 1376 */ 1383 1377 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pcmpgtb_pcmpgtw_pcmpgtd_pcmpgtq(uint8_t bMode) … … 1437 1431 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 1438 1432 { 1439 { bs3CpuInstr3_pcmpgtb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1440 { bs3CpuInstr3_pcmpgtb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1441 { bs3CpuInstr3_pcmpgtb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1442 { bs3CpuInstr3_pcmpgtb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1443 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1444 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1445 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1446 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1447 1448 { bs3CpuInstr3_pcmpgtw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1449 { bs3CpuInstr3_pcmpgtw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1450 { bs3CpuInstr3_pcmpgtw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1451 { bs3CpuInstr3_pcmpgtw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1452 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1453 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1454 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1455 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1456 1457 { bs3CpuInstr3_pcmpgtd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1458 { bs3CpuInstr3_pcmpgtd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1459 { bs3CpuInstr3_pcmpgtd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1460 { bs3CpuInstr3_pcmpgtd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1461 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1462 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1463 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1464 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1465 1466 { bs3CpuInstr3_pcmpgtq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1467 { bs3CpuInstr3_pcmpgtq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1468 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1469 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1470 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1471 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1433 { bs3CpuInstr3_pcmpgtb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1434 { bs3CpuInstr3_pcmpgtb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1435 { bs3CpuInstr3_pcmpgtb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1436 { bs3CpuInstr3_pcmpgtb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1437 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1438 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1439 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1440 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1441 1442 { bs3CpuInstr3_pcmpgtw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1443 { bs3CpuInstr3_pcmpgtw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1444 { bs3CpuInstr3_pcmpgtw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1445 { bs3CpuInstr3_pcmpgtw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1446 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1447 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1448 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1449 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1450 1451 { bs3CpuInstr3_pcmpgtd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1452 { bs3CpuInstr3_pcmpgtd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1453 { bs3CpuInstr3_pcmpgtd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1454 { bs3CpuInstr3_pcmpgtd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1455 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1456 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1457 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1458 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1459 1460 { bs3CpuInstr3_pcmpgtq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1461 { bs3CpuInstr3_pcmpgtq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1462 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1463 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1464 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1465 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1472 1466 }; 1473 1467 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 1474 1468 { 1475 { bs3CpuInstr3_pcmpgtb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1476 { bs3CpuInstr3_pcmpgtb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1477 { bs3CpuInstr3_pcmpgtb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1478 { bs3CpuInstr3_pcmpgtb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1479 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1480 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1481 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1482 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1483 1484 { bs3CpuInstr3_pcmpgtw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1485 { bs3CpuInstr3_pcmpgtw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1486 { bs3CpuInstr3_pcmpgtw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1487 { bs3CpuInstr3_pcmpgtw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1488 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1489 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1490 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1491 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1492 1493 { bs3CpuInstr3_pcmpgtd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1494 { bs3CpuInstr3_pcmpgtd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1495 { bs3CpuInstr3_pcmpgtd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1496 { bs3CpuInstr3_pcmpgtd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1497 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1498 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1499 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1500 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1501 1502 { bs3CpuInstr3_pcmpgtq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1503 { bs3CpuInstr3_pcmpgtq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1504 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1505 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1506 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1507 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1469 { bs3CpuInstr3_pcmpgtb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1470 { bs3CpuInstr3_pcmpgtb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1471 { bs3CpuInstr3_pcmpgtb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1472 { bs3CpuInstr3_pcmpgtb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1473 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1474 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1475 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1476 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1477 1478 { bs3CpuInstr3_pcmpgtw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1479 { bs3CpuInstr3_pcmpgtw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1480 { bs3CpuInstr3_pcmpgtw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1481 { bs3CpuInstr3_pcmpgtw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1482 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1483 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1484 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1485 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1486 1487 { bs3CpuInstr3_pcmpgtd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1488 { bs3CpuInstr3_pcmpgtd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1489 { bs3CpuInstr3_pcmpgtd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1490 { bs3CpuInstr3_pcmpgtd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1491 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1492 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1493 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1494 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1495 1496 { bs3CpuInstr3_pcmpgtq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1497 { bs3CpuInstr3_pcmpgtq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1498 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1499 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1500 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1501 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1508 1502 }; 1509 1503 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 1510 1504 { 1511 { bs3CpuInstr3_pcmpgtb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1512 { bs3CpuInstr3_pcmpgtb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1513 { bs3CpuInstr3_pcmpgtb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1514 { bs3CpuInstr3_pcmpgtb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1515 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1516 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1517 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1518 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1519 1520 { bs3CpuInstr3_pcmpgtw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1521 { bs3CpuInstr3_pcmpgtw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1522 { bs3CpuInstr3_pcmpgtw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1523 { bs3CpuInstr3_pcmpgtw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1524 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1525 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1526 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1527 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1528 1529 { bs3CpuInstr3_pcmpgtd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1530 { bs3CpuInstr3_pcmpgtd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1531 { bs3CpuInstr3_pcmpgtd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1532 { bs3CpuInstr3_pcmpgtd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1533 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1534 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1535 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1536 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1537 { bs3CpuInstr3_vpcmpgtd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesD), s_aValuesD},1538 1539 { bs3CpuInstr3_pcmpgtq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1540 { bs3CpuInstr3_pcmpgtq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1541 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1542 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1543 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1544 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1545 { bs3CpuInstr3_vpcmpgtq_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1505 { bs3CpuInstr3_pcmpgtb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1506 { bs3CpuInstr3_pcmpgtb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1507 { bs3CpuInstr3_pcmpgtb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1508 { bs3CpuInstr3_pcmpgtb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1509 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1510 { bs3CpuInstr3_vpcmpgtb_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1511 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1512 { bs3CpuInstr3_vpcmpgtb_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1513 1514 { bs3CpuInstr3_pcmpgtw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1515 { bs3CpuInstr3_pcmpgtw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1516 { bs3CpuInstr3_pcmpgtw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1517 { bs3CpuInstr3_pcmpgtw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1518 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1519 { bs3CpuInstr3_vpcmpgtw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1520 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1521 { bs3CpuInstr3_vpcmpgtw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1522 1523 { bs3CpuInstr3_pcmpgtd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1524 { bs3CpuInstr3_pcmpgtd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1525 { bs3CpuInstr3_pcmpgtd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1526 { bs3CpuInstr3_pcmpgtd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1527 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1528 { bs3CpuInstr3_vpcmpgtd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1529 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1530 { bs3CpuInstr3_vpcmpgtd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1531 { bs3CpuInstr3_vpcmpgtd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesD) }, 1532 1533 { bs3CpuInstr3_pcmpgtq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1534 { bs3CpuInstr3_pcmpgtq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1535 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1536 { bs3CpuInstr3_vpcmpgtq_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1537 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1538 { bs3CpuInstr3_vpcmpgtq_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1539 { bs3CpuInstr3_vpcmpgtq_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesQ) }, 1546 1540 }; 1547 1541 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 1553 1547 1554 1548 /* 1555 * PCMPEQB, VPCMPEQB, PCMPEQW, VPCMPEQW, PCMPEQD, VPCMPEQD, PCMPEQQ, VPCMPEQQ.1549 * [V]PCMPEQB, [V]PCMPEQW, [V]PCMPEQD, [V]PCMPEQQ. 1556 1550 */ 1557 1551 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pcmpeqb_pcmpeqw_pcmpeqd_pcmpeqq(uint8_t bMode) … … 1611 1605 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 1612 1606 { 1613 { bs3CpuInstr3_pcmpeqb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1614 { bs3CpuInstr3_pcmpeqb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1615 { bs3CpuInstr3_pcmpeqb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1616 { bs3CpuInstr3_pcmpeqb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1617 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1618 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1619 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1620 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1621 1622 { bs3CpuInstr3_pcmpeqw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1623 { bs3CpuInstr3_pcmpeqw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1624 { bs3CpuInstr3_pcmpeqw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1625 { bs3CpuInstr3_pcmpeqw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1626 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1627 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1628 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1629 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1630 1631 { bs3CpuInstr3_pcmpeqd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1632 { bs3CpuInstr3_pcmpeqd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1633 { bs3CpuInstr3_pcmpeqd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1634 { bs3CpuInstr3_pcmpeqd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1635 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1636 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1637 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1638 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1639 1640 { bs3CpuInstr3_pcmpeqq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1641 { bs3CpuInstr3_pcmpeqq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1642 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1643 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1644 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1645 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1607 { bs3CpuInstr3_pcmpeqb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1608 { bs3CpuInstr3_pcmpeqb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1609 { bs3CpuInstr3_pcmpeqb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1610 { bs3CpuInstr3_pcmpeqb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1611 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1612 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1613 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1614 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1615 1616 { bs3CpuInstr3_pcmpeqw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1617 { bs3CpuInstr3_pcmpeqw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1618 { bs3CpuInstr3_pcmpeqw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1619 { bs3CpuInstr3_pcmpeqw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1620 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1621 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1622 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1623 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1624 1625 { bs3CpuInstr3_pcmpeqd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1626 { bs3CpuInstr3_pcmpeqd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1627 { bs3CpuInstr3_pcmpeqd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1628 { bs3CpuInstr3_pcmpeqd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1629 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1630 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1631 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1632 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1633 1634 { bs3CpuInstr3_pcmpeqq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1635 { bs3CpuInstr3_pcmpeqq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1636 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1637 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1638 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1639 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1646 1640 }; 1647 1641 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 1648 1642 { 1649 { bs3CpuInstr3_pcmpeqb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1650 { bs3CpuInstr3_pcmpeqb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1651 { bs3CpuInstr3_pcmpeqb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1652 { bs3CpuInstr3_pcmpeqb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1653 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1654 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1655 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1656 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1657 1658 { bs3CpuInstr3_pcmpeqw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1659 { bs3CpuInstr3_pcmpeqw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1660 { bs3CpuInstr3_pcmpeqw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1661 { bs3CpuInstr3_pcmpeqw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1662 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1663 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1664 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1665 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1666 1667 { bs3CpuInstr3_pcmpeqd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1668 { bs3CpuInstr3_pcmpeqd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1669 { bs3CpuInstr3_pcmpeqd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1670 { bs3CpuInstr3_pcmpeqd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1671 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1672 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1673 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1674 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1675 1676 { bs3CpuInstr3_pcmpeqq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1677 { bs3CpuInstr3_pcmpeqq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1678 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1679 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1680 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1681 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1643 { bs3CpuInstr3_pcmpeqb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1644 { bs3CpuInstr3_pcmpeqb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1645 { bs3CpuInstr3_pcmpeqb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1646 { bs3CpuInstr3_pcmpeqb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1647 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1648 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1649 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1650 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1651 1652 { bs3CpuInstr3_pcmpeqw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1653 { bs3CpuInstr3_pcmpeqw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1654 { bs3CpuInstr3_pcmpeqw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1655 { bs3CpuInstr3_pcmpeqw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1656 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1657 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1658 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1659 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1660 1661 { bs3CpuInstr3_pcmpeqd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1662 { bs3CpuInstr3_pcmpeqd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1663 { bs3CpuInstr3_pcmpeqd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1664 { bs3CpuInstr3_pcmpeqd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1665 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1666 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1667 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1668 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1669 1670 { bs3CpuInstr3_pcmpeqq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1671 { bs3CpuInstr3_pcmpeqq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1672 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1673 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1674 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1675 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1682 1676 }; 1683 1677 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 1684 1678 { 1685 { bs3CpuInstr3_pcmpeqb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1686 { bs3CpuInstr3_pcmpeqb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1687 { bs3CpuInstr3_pcmpeqb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1688 { bs3CpuInstr3_pcmpeqb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1689 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1690 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1691 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1692 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1693 1694 { bs3CpuInstr3_pcmpeqw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1695 { bs3CpuInstr3_pcmpeqw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1696 { bs3CpuInstr3_pcmpeqw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1697 { bs3CpuInstr3_pcmpeqw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1698 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1699 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1700 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1701 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1702 1703 { bs3CpuInstr3_pcmpeqd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1704 { bs3CpuInstr3_pcmpeqd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1705 { bs3CpuInstr3_pcmpeqd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1706 { bs3CpuInstr3_pcmpeqd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1707 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1708 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1709 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1710 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1711 { bs3CpuInstr3_vpcmpeqd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesD), s_aValuesD},1712 1713 { bs3CpuInstr3_pcmpeqq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1714 { bs3CpuInstr3_pcmpeqq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1715 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1716 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1717 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1718 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1719 { bs3CpuInstr3_vpcmpeqq_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1679 { bs3CpuInstr3_pcmpeqb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1680 { bs3CpuInstr3_pcmpeqb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1681 { bs3CpuInstr3_pcmpeqb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1682 { bs3CpuInstr3_pcmpeqb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1683 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1684 { bs3CpuInstr3_vpcmpeqb_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1685 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1686 { bs3CpuInstr3_vpcmpeqb_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1687 1688 { bs3CpuInstr3_pcmpeqw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1689 { bs3CpuInstr3_pcmpeqw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1690 { bs3CpuInstr3_pcmpeqw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1691 { bs3CpuInstr3_pcmpeqw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1692 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1693 { bs3CpuInstr3_vpcmpeqw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1694 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1695 { bs3CpuInstr3_vpcmpeqw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1696 1697 { bs3CpuInstr3_pcmpeqd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1698 { bs3CpuInstr3_pcmpeqd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1699 { bs3CpuInstr3_pcmpeqd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1700 { bs3CpuInstr3_pcmpeqd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1701 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1702 { bs3CpuInstr3_vpcmpeqd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1703 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1704 { bs3CpuInstr3_vpcmpeqd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1705 { bs3CpuInstr3_vpcmpeqd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesD) }, 1706 1707 { bs3CpuInstr3_pcmpeqq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1708 { bs3CpuInstr3_pcmpeqq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1709 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1710 { bs3CpuInstr3_vpcmpeqq_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1711 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1712 { bs3CpuInstr3_vpcmpeqq_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1713 { bs3CpuInstr3_vpcmpeqq_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesQ) }, 1720 1714 }; 1721 1715 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 1727 1721 1728 1722 /* 1729 * PADDB, VPADDB, PADDW, VPADDW, PADDD, VPADDD, PADDQ, VPADDQ.1723 * [V]PADDB, [V]PADDW, [V]PADDD, [V]PADDQ. 1730 1724 */ 1731 1725 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_paddb_paddw_paddd_paddq(uint8_t bMode) … … 1785 1779 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 1786 1780 { 1787 { bs3CpuInstr3_paddb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1788 { bs3CpuInstr3_paddb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1789 { bs3CpuInstr3_paddb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1790 { bs3CpuInstr3_paddb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1791 { bs3CpuInstr3_vpaddb_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1792 { bs3CpuInstr3_vpaddb_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1793 { bs3CpuInstr3_vpaddb_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1794 { bs3CpuInstr3_vpaddb_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1795 1796 { bs3CpuInstr3_paddw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1797 { bs3CpuInstr3_paddw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1798 { bs3CpuInstr3_paddw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1799 { bs3CpuInstr3_paddw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1800 { bs3CpuInstr3_vpaddw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1801 { bs3CpuInstr3_vpaddw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1802 { bs3CpuInstr3_vpaddw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1803 { bs3CpuInstr3_vpaddw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1804 1805 { bs3CpuInstr3_paddd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1806 { bs3CpuInstr3_paddd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1807 { bs3CpuInstr3_paddd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1808 { bs3CpuInstr3_paddd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1809 { bs3CpuInstr3_vpaddd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1810 { bs3CpuInstr3_vpaddd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1811 { bs3CpuInstr3_vpaddd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1812 { bs3CpuInstr3_vpaddd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1813 1814 { bs3CpuInstr3_paddq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1815 { bs3CpuInstr3_paddq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1816 { bs3CpuInstr3_paddq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1817 { bs3CpuInstr3_paddq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1818 { bs3CpuInstr3_vpaddq_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1819 { bs3CpuInstr3_vpaddq_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1820 { bs3CpuInstr3_vpaddq_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1821 { bs3CpuInstr3_vpaddq_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1781 { bs3CpuInstr3_paddb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1782 { bs3CpuInstr3_paddb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1783 { bs3CpuInstr3_paddb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1784 { bs3CpuInstr3_paddb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1785 { bs3CpuInstr3_vpaddb_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1786 { bs3CpuInstr3_vpaddb_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1787 { bs3CpuInstr3_vpaddb_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1788 { bs3CpuInstr3_vpaddb_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1789 1790 { bs3CpuInstr3_paddw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1791 { bs3CpuInstr3_paddw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1792 { bs3CpuInstr3_paddw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1793 { bs3CpuInstr3_paddw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1794 { bs3CpuInstr3_vpaddw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1795 { bs3CpuInstr3_vpaddw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1796 { bs3CpuInstr3_vpaddw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1797 { bs3CpuInstr3_vpaddw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1798 1799 { bs3CpuInstr3_paddd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1800 { bs3CpuInstr3_paddd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1801 { bs3CpuInstr3_paddd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1802 { bs3CpuInstr3_paddd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1803 { bs3CpuInstr3_vpaddd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1804 { bs3CpuInstr3_vpaddd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1805 { bs3CpuInstr3_vpaddd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1806 { bs3CpuInstr3_vpaddd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1807 1808 { bs3CpuInstr3_paddq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesQ) }, 1809 { bs3CpuInstr3_paddq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1810 { bs3CpuInstr3_paddq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1811 { bs3CpuInstr3_paddq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1812 { bs3CpuInstr3_vpaddq_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1813 { bs3CpuInstr3_vpaddq_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1814 { bs3CpuInstr3_vpaddq_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1815 { bs3CpuInstr3_vpaddq_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1822 1816 }; 1823 1817 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 1824 1818 { 1825 { bs3CpuInstr3_paddb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1826 { bs3CpuInstr3_paddb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1827 { bs3CpuInstr3_paddb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1828 { bs3CpuInstr3_paddb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1829 { bs3CpuInstr3_vpaddb_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1830 { bs3CpuInstr3_vpaddb_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1831 { bs3CpuInstr3_vpaddb_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1832 { bs3CpuInstr3_vpaddb_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1833 1834 { bs3CpuInstr3_paddw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1835 { bs3CpuInstr3_paddw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1836 { bs3CpuInstr3_paddw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1837 { bs3CpuInstr3_paddw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1838 { bs3CpuInstr3_vpaddw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1839 { bs3CpuInstr3_vpaddw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1840 { bs3CpuInstr3_vpaddw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1841 { bs3CpuInstr3_vpaddw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1842 1843 { bs3CpuInstr3_paddd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1844 { bs3CpuInstr3_paddd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1845 { bs3CpuInstr3_paddd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1846 { bs3CpuInstr3_paddd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1847 { bs3CpuInstr3_vpaddd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1848 { bs3CpuInstr3_vpaddd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1849 { bs3CpuInstr3_vpaddd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1850 { bs3CpuInstr3_vpaddd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1851 1852 { bs3CpuInstr3_paddq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1853 { bs3CpuInstr3_paddq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1854 { bs3CpuInstr3_paddq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1855 { bs3CpuInstr3_paddq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1856 { bs3CpuInstr3_vpaddq_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1857 { bs3CpuInstr3_vpaddq_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1858 { bs3CpuInstr3_vpaddq_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1859 { bs3CpuInstr3_vpaddq_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1819 { bs3CpuInstr3_paddb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1820 { bs3CpuInstr3_paddb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1821 { bs3CpuInstr3_paddb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1822 { bs3CpuInstr3_paddb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1823 { bs3CpuInstr3_vpaddb_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1824 { bs3CpuInstr3_vpaddb_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1825 { bs3CpuInstr3_vpaddb_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1826 { bs3CpuInstr3_vpaddb_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1827 1828 { bs3CpuInstr3_paddw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1829 { bs3CpuInstr3_paddw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1830 { bs3CpuInstr3_paddw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1831 { bs3CpuInstr3_paddw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1832 { bs3CpuInstr3_vpaddw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1833 { bs3CpuInstr3_vpaddw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1834 { bs3CpuInstr3_vpaddw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1835 { bs3CpuInstr3_vpaddw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1836 1837 { bs3CpuInstr3_paddd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1838 { bs3CpuInstr3_paddd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1839 { bs3CpuInstr3_paddd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1840 { bs3CpuInstr3_paddd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1841 { bs3CpuInstr3_vpaddd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1842 { bs3CpuInstr3_vpaddd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1843 { bs3CpuInstr3_vpaddd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1844 { bs3CpuInstr3_vpaddd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1845 1846 { bs3CpuInstr3_paddq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesQ) }, 1847 { bs3CpuInstr3_paddq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1848 { bs3CpuInstr3_paddq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1849 { bs3CpuInstr3_paddq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1850 { bs3CpuInstr3_vpaddq_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1851 { bs3CpuInstr3_vpaddq_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1852 { bs3CpuInstr3_vpaddq_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1853 { bs3CpuInstr3_vpaddq_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1860 1854 }; 1861 1855 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 1862 1856 { 1863 { bs3CpuInstr3_paddb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1864 { bs3CpuInstr3_paddb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1865 { bs3CpuInstr3_paddb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1866 { bs3CpuInstr3_paddb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1867 { bs3CpuInstr3_vpaddb_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1868 { bs3CpuInstr3_vpaddb_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1869 { bs3CpuInstr3_vpaddb_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1870 { bs3CpuInstr3_vpaddb_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1871 1872 { bs3CpuInstr3_paddw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1873 { bs3CpuInstr3_paddw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1874 { bs3CpuInstr3_paddw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1875 { bs3CpuInstr3_paddw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1876 { bs3CpuInstr3_vpaddw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1877 { bs3CpuInstr3_vpaddw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1878 { bs3CpuInstr3_vpaddw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1879 { bs3CpuInstr3_vpaddw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1880 1881 { bs3CpuInstr3_paddd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1882 { bs3CpuInstr3_paddd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1883 { bs3CpuInstr3_paddd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1884 { bs3CpuInstr3_paddd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1885 { bs3CpuInstr3_vpaddd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1886 { bs3CpuInstr3_vpaddd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1887 { bs3CpuInstr3_vpaddd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1888 { bs3CpuInstr3_vpaddd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1889 { bs3CpuInstr3_vpaddd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesD), s_aValuesD},1890 1891 { bs3CpuInstr3_paddq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1892 { bs3CpuInstr3_paddq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1893 { bs3CpuInstr3_paddq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1894 { bs3CpuInstr3_paddq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1895 { bs3CpuInstr3_vpaddq_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1896 { bs3CpuInstr3_vpaddq_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1897 { bs3CpuInstr3_vpaddq_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1898 { bs3CpuInstr3_vpaddq_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1899 { bs3CpuInstr3_vpaddq_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1857 { bs3CpuInstr3_paddb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1858 { bs3CpuInstr3_paddb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1859 { bs3CpuInstr3_paddb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1860 { bs3CpuInstr3_paddb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1861 { bs3CpuInstr3_vpaddb_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1862 { bs3CpuInstr3_vpaddb_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1863 { bs3CpuInstr3_vpaddb_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1864 { bs3CpuInstr3_vpaddb_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1865 1866 { bs3CpuInstr3_paddw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1867 { bs3CpuInstr3_paddw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1868 { bs3CpuInstr3_paddw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1869 { bs3CpuInstr3_paddw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1870 { bs3CpuInstr3_vpaddw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1871 { bs3CpuInstr3_vpaddw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1872 { bs3CpuInstr3_vpaddw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1873 { bs3CpuInstr3_vpaddw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1874 1875 { bs3CpuInstr3_paddd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1876 { bs3CpuInstr3_paddd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1877 { bs3CpuInstr3_paddd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1878 { bs3CpuInstr3_paddd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1879 { bs3CpuInstr3_vpaddd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1880 { bs3CpuInstr3_vpaddd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1881 { bs3CpuInstr3_vpaddd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1882 { bs3CpuInstr3_vpaddd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1883 { bs3CpuInstr3_vpaddd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesD) }, 1884 1885 { bs3CpuInstr3_paddq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesQ) }, 1886 { bs3CpuInstr3_paddq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1887 { bs3CpuInstr3_paddq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1888 { bs3CpuInstr3_paddq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1889 { bs3CpuInstr3_vpaddq_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1890 { bs3CpuInstr3_vpaddq_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1891 { bs3CpuInstr3_vpaddq_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1892 { bs3CpuInstr3_vpaddq_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1893 { bs3CpuInstr3_vpaddq_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesQ) }, 1900 1894 }; 1901 1895 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 1907 1901 1908 1902 /* 1909 * PSUBB, VPSUBB, PSUBW, VPSUBW, PSUBD, VPSUBD, PSUBQ, VPSUBQ.1903 * [V]PSUBB, [V]PSUBW, [V]PSUBD, [V]PSUBQ. 1910 1904 */ 1911 1905 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_psubb_psubw_psubd_psubq(uint8_t bMode) … … 1965 1959 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 1966 1960 { 1967 { bs3CpuInstr3_psubb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1968 { bs3CpuInstr3_psubb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1969 { bs3CpuInstr3_psubb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1970 { bs3CpuInstr3_psubb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1971 { bs3CpuInstr3_vpsubb_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},1972 { bs3CpuInstr3_vpsubb_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1973 { bs3CpuInstr3_vpsubb_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},1974 { bs3CpuInstr3_vpsubb_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},1975 1976 { bs3CpuInstr3_psubw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1977 { bs3CpuInstr3_psubw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1978 { bs3CpuInstr3_psubw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1979 { bs3CpuInstr3_psubw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1980 { bs3CpuInstr3_vpsubw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1981 { bs3CpuInstr3_vpsubw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1982 { bs3CpuInstr3_vpsubw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},1983 { bs3CpuInstr3_vpsubw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},1984 1985 { bs3CpuInstr3_psubd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1986 { bs3CpuInstr3_psubd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1987 { bs3CpuInstr3_psubd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},1988 { bs3CpuInstr3_psubd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1989 { bs3CpuInstr3_vpsubd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1990 { bs3CpuInstr3_vpsubd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1991 { bs3CpuInstr3_vpsubd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},1992 { bs3CpuInstr3_vpsubd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},1993 1994 { bs3CpuInstr3_psubq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1995 { bs3CpuInstr3_psubq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1996 { bs3CpuInstr3_psubq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1997 { bs3CpuInstr3_psubq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1998 { bs3CpuInstr3_vpsubq_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1999 { bs3CpuInstr3_vpsubq_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2000 { bs3CpuInstr3_vpsubq_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2001 { bs3CpuInstr3_vpsubq_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1961 { bs3CpuInstr3_psubb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 1962 { bs3CpuInstr3_psubb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1963 { bs3CpuInstr3_psubb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1964 { bs3CpuInstr3_psubb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1965 { bs3CpuInstr3_vpsubb_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 1966 { bs3CpuInstr3_vpsubb_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1967 { bs3CpuInstr3_vpsubb_YMM7_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 1968 { bs3CpuInstr3_vpsubb_YMM7_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 1969 1970 { bs3CpuInstr3_psubw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 1971 { bs3CpuInstr3_psubw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1972 { bs3CpuInstr3_psubw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1973 { bs3CpuInstr3_psubw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1974 { bs3CpuInstr3_vpsubw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 1975 { bs3CpuInstr3_vpsubw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1976 { bs3CpuInstr3_vpsubw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 1977 { bs3CpuInstr3_vpsubw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 1978 1979 { bs3CpuInstr3_psubd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 1980 { bs3CpuInstr3_psubd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1981 { bs3CpuInstr3_psubd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 1982 { bs3CpuInstr3_psubd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1983 { bs3CpuInstr3_vpsubd_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 1984 { bs3CpuInstr3_vpsubd_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1985 { bs3CpuInstr3_vpsubd_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 1986 { bs3CpuInstr3_vpsubd_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 1987 1988 { bs3CpuInstr3_psubq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesQ) }, 1989 { bs3CpuInstr3_psubq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1990 { bs3CpuInstr3_psubq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 1991 { bs3CpuInstr3_psubq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1992 { bs3CpuInstr3_vpsubq_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 1993 { bs3CpuInstr3_vpsubq_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 1994 { bs3CpuInstr3_vpsubq_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 1995 { bs3CpuInstr3_vpsubq_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2002 1996 }; 2003 1997 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2004 1998 { 2005 { bs3CpuInstr3_psubb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},2006 { bs3CpuInstr3_psubb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},2007 { bs3CpuInstr3_psubb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},2008 { bs3CpuInstr3_psubb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},2009 { bs3CpuInstr3_vpsubb_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},2010 { bs3CpuInstr3_vpsubb_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},2011 { bs3CpuInstr3_vpsubb_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},2012 { bs3CpuInstr3_vpsubb_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},2013 2014 { bs3CpuInstr3_psubw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2015 { bs3CpuInstr3_psubw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2016 { bs3CpuInstr3_psubw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2017 { bs3CpuInstr3_psubw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2018 { bs3CpuInstr3_vpsubw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2019 { bs3CpuInstr3_vpsubw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2020 { bs3CpuInstr3_vpsubw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2021 { bs3CpuInstr3_vpsubw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2022 2023 { bs3CpuInstr3_psubd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},2024 { bs3CpuInstr3_psubd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2025 { bs3CpuInstr3_psubd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},2026 { bs3CpuInstr3_psubd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2027 { bs3CpuInstr3_vpsubd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2028 { bs3CpuInstr3_vpsubd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2029 { bs3CpuInstr3_vpsubd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2030 { bs3CpuInstr3_vpsubd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2031 2032 { bs3CpuInstr3_psubq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2033 { bs3CpuInstr3_psubq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2034 { bs3CpuInstr3_psubq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2035 { bs3CpuInstr3_psubq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2036 { bs3CpuInstr3_vpsubq_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2037 { bs3CpuInstr3_vpsubq_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2038 { bs3CpuInstr3_vpsubq_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2039 { bs3CpuInstr3_vpsubq_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},1999 { bs3CpuInstr3_psubb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 2000 { bs3CpuInstr3_psubb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 2001 { bs3CpuInstr3_psubb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 2002 { bs3CpuInstr3_psubb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 2003 { bs3CpuInstr3_vpsubb_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 2004 { bs3CpuInstr3_vpsubb_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 2005 { bs3CpuInstr3_vpsubb_YMM7_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 2006 { bs3CpuInstr3_vpsubb_YMM7_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 2007 2008 { bs3CpuInstr3_psubw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2009 { bs3CpuInstr3_psubw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2010 { bs3CpuInstr3_psubw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2011 { bs3CpuInstr3_psubw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2012 { bs3CpuInstr3_vpsubw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2013 { bs3CpuInstr3_vpsubw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2014 { bs3CpuInstr3_vpsubw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2015 { bs3CpuInstr3_vpsubw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2016 2017 { bs3CpuInstr3_psubd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 2018 { bs3CpuInstr3_psubd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2019 { bs3CpuInstr3_psubd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 2020 { bs3CpuInstr3_psubd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2021 { bs3CpuInstr3_vpsubd_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 2022 { bs3CpuInstr3_vpsubd_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2023 { bs3CpuInstr3_vpsubd_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 2024 { bs3CpuInstr3_vpsubd_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2025 2026 { bs3CpuInstr3_psubq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesQ) }, 2027 { bs3CpuInstr3_psubq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2028 { bs3CpuInstr3_psubq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 2029 { bs3CpuInstr3_psubq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2030 { bs3CpuInstr3_vpsubq_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 2031 { bs3CpuInstr3_vpsubq_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2032 { bs3CpuInstr3_vpsubq_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 2033 { bs3CpuInstr3_vpsubq_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2040 2034 }; 2041 2035 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2042 2036 { 2043 { bs3CpuInstr3_psubb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},2044 { bs3CpuInstr3_psubb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},2045 { bs3CpuInstr3_psubb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},2046 { bs3CpuInstr3_psubb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},2047 { bs3CpuInstr3_vpsubb_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},2048 { bs3CpuInstr3_vpsubb_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},2049 { bs3CpuInstr3_vpsubb_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 7, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},2050 { bs3CpuInstr3_vpsubb_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 7, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},2051 2052 { bs3CpuInstr3_psubw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2053 { bs3CpuInstr3_psubw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2054 { bs3CpuInstr3_psubw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2055 { bs3CpuInstr3_psubw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2056 { bs3CpuInstr3_vpsubw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2057 { bs3CpuInstr3_vpsubw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2058 { bs3CpuInstr3_vpsubw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2059 { bs3CpuInstr3_vpsubw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2060 2061 { bs3CpuInstr3_psubd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},2062 { bs3CpuInstr3_psubd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2063 { bs3CpuInstr3_psubd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},2064 { bs3CpuInstr3_psubd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2065 { bs3CpuInstr3_vpsubd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2066 { bs3CpuInstr3_vpsubd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2067 { bs3CpuInstr3_vpsubd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2068 { bs3CpuInstr3_vpsubd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2069 { bs3CpuInstr3_vpsubd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesD), s_aValuesD},2070 2071 { bs3CpuInstr3_psubq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2072 { bs3CpuInstr3_psubq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2073 { bs3CpuInstr3_psubq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2074 { bs3CpuInstr3_psubq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2075 { bs3CpuInstr3_vpsubq_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2076 { bs3CpuInstr3_vpsubq_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2077 { bs3CpuInstr3_vpsubq_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2078 { bs3CpuInstr3_vpsubq_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2079 { bs3CpuInstr3_vpsubq_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesQ), s_aValuesQ},2037 { bs3CpuInstr3_psubb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 2038 { bs3CpuInstr3_psubb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 2039 { bs3CpuInstr3_psubb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 2040 { bs3CpuInstr3_psubb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 2041 { bs3CpuInstr3_vpsubb_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 2042 { bs3CpuInstr3_vpsubb_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 2043 { bs3CpuInstr3_vpsubb_YMM7_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM7, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 2044 { bs3CpuInstr3_vpsubb_YMM7_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM7, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 2045 2046 { bs3CpuInstr3_psubw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2047 { bs3CpuInstr3_psubw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2048 { bs3CpuInstr3_psubw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2049 { bs3CpuInstr3_psubw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2050 { bs3CpuInstr3_vpsubw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2051 { bs3CpuInstr3_vpsubw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2052 { bs3CpuInstr3_vpsubw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2053 { bs3CpuInstr3_vpsubw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2054 2055 { bs3CpuInstr3_psubd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 2056 { bs3CpuInstr3_psubd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2057 { bs3CpuInstr3_psubd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 2058 { bs3CpuInstr3_psubd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2059 { bs3CpuInstr3_vpsubd_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 2060 { bs3CpuInstr3_vpsubd_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2061 { bs3CpuInstr3_vpsubd_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 2062 { bs3CpuInstr3_vpsubd_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2063 { bs3CpuInstr3_vpsubd_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesD) }, 2064 2065 { bs3CpuInstr3_psubq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesQ) }, 2066 { bs3CpuInstr3_psubq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2067 { bs3CpuInstr3_psubq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesQ) }, 2068 { bs3CpuInstr3_psubq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2069 { bs3CpuInstr3_vpsubq_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesQ) }, 2070 { bs3CpuInstr3_vpsubq_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2071 { bs3CpuInstr3_vpsubq_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesQ) }, 2072 { bs3CpuInstr3_vpsubq_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesQ) }, 2073 { bs3CpuInstr3_vpsubq_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesQ) }, 2080 2074 }; 2081 2075 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2087 2081 2088 2082 /* 2089 * PMULLW, VPMULLW, PMULLD, VPMULLD.2083 * [V]PMULLW, [V]PMULLD. 2090 2084 */ 2091 2085 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmullw_pmulld(uint8_t bMode) … … 2119 2113 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2120 2114 { 2121 { bs3CpuInstr3_pmullw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2122 { bs3CpuInstr3_pmullw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2123 { bs3CpuInstr3_pmullw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2124 { bs3CpuInstr3_pmullw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2125 { bs3CpuInstr3_vpmullw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2126 { bs3CpuInstr3_vpmullw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2127 { bs3CpuInstr3_vpmullw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2128 { bs3CpuInstr3_vpmullw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2129 2130 { bs3CpuInstr3_pmulld_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},2131 { bs3CpuInstr3_pmulld_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2132 { bs3CpuInstr3_vpmulld_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2133 { bs3CpuInstr3_vpmulld_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2134 { bs3CpuInstr3_vpmulld_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2135 { bs3CpuInstr3_vpmulld_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2115 { bs3CpuInstr3_pmullw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2116 { bs3CpuInstr3_pmullw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2117 { bs3CpuInstr3_pmullw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2118 { bs3CpuInstr3_pmullw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2119 { bs3CpuInstr3_vpmullw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2120 { bs3CpuInstr3_vpmullw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2121 { bs3CpuInstr3_vpmullw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2122 { bs3CpuInstr3_vpmullw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2123 2124 { bs3CpuInstr3_pmulld_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 2125 { bs3CpuInstr3_pmulld_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2126 { bs3CpuInstr3_vpmulld_XMM2_XMM1_XMM0_icebp_c16, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 2127 { bs3CpuInstr3_vpmulld_XMM2_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2128 { bs3CpuInstr3_vpmulld_YMM2_YMM1_YMM0_icebp_c16, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 2129 { bs3CpuInstr3_vpmulld_YMM2_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2136 2130 }; 2137 2131 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2138 2132 { 2139 { bs3CpuInstr3_pmullw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2140 { bs3CpuInstr3_pmullw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2141 { bs3CpuInstr3_pmullw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2142 { bs3CpuInstr3_pmullw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2143 { bs3CpuInstr3_vpmullw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2144 { bs3CpuInstr3_vpmullw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2145 { bs3CpuInstr3_vpmullw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2146 { bs3CpuInstr3_vpmullw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2147 2148 { bs3CpuInstr3_pmulld_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},2149 { bs3CpuInstr3_pmulld_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2150 { bs3CpuInstr3_vpmulld_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2151 { bs3CpuInstr3_vpmulld_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2152 { bs3CpuInstr3_vpmulld_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2153 { bs3CpuInstr3_vpmulld_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2133 { bs3CpuInstr3_pmullw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2134 { bs3CpuInstr3_pmullw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2135 { bs3CpuInstr3_pmullw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2136 { bs3CpuInstr3_pmullw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2137 { bs3CpuInstr3_vpmullw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2138 { bs3CpuInstr3_vpmullw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2139 { bs3CpuInstr3_vpmullw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2140 { bs3CpuInstr3_vpmullw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2141 2142 { bs3CpuInstr3_pmulld_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 2143 { bs3CpuInstr3_pmulld_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2144 { bs3CpuInstr3_vpmulld_XMM2_XMM1_XMM0_icebp_c32, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 2145 { bs3CpuInstr3_vpmulld_XMM2_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2146 { bs3CpuInstr3_vpmulld_YMM2_YMM1_YMM0_icebp_c32, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 2147 { bs3CpuInstr3_vpmulld_YMM2_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2154 2148 }; 2155 2149 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2156 2150 { 2157 { bs3CpuInstr3_pmullw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2158 { bs3CpuInstr3_pmullw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2159 { bs3CpuInstr3_pmullw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2160 { bs3CpuInstr3_pmullw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2161 { bs3CpuInstr3_pmullw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},2162 { bs3CpuInstr3_pmullw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2163 { bs3CpuInstr3_vpmullw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2164 { bs3CpuInstr3_vpmullw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2165 { bs3CpuInstr3_vpmullw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},2166 { bs3CpuInstr3_vpmullw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2167 { bs3CpuInstr3_vpmullw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2168 { bs3CpuInstr3_vpmullw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2169 { bs3CpuInstr3_vpmullw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},2170 { bs3CpuInstr3_vpmullw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2171 2172 { bs3CpuInstr3_pmulld_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},2173 { bs3CpuInstr3_pmulld_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2174 { bs3CpuInstr3_pmulld_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesD), s_aValuesD},2175 { bs3CpuInstr3_pmulld_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2176 { bs3CpuInstr3_vpmulld_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2177 { bs3CpuInstr3_vpmulld_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2178 { bs3CpuInstr3_vpmulld_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},2179 { bs3CpuInstr3_vpmulld_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2180 { bs3CpuInstr3_vpmulld_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, 2, 1, 0, RT_ELEMENTS(s_aValuesD), s_aValuesD},2181 { bs3CpuInstr3_vpmulld_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 2, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2182 { bs3CpuInstr3_vpmulld_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, 10, 8, 15, RT_ELEMENTS(s_aValuesD), s_aValuesD},2183 { bs3CpuInstr3_vpmulld_YMM10_YMM8_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 10, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},2151 { bs3CpuInstr3_pmullw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2152 { bs3CpuInstr3_pmullw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2153 { bs3CpuInstr3_pmullw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2154 { bs3CpuInstr3_pmullw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2155 { bs3CpuInstr3_pmullw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 2156 { bs3CpuInstr3_pmullw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2157 { bs3CpuInstr3_vpmullw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2158 { bs3CpuInstr3_vpmullw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2159 { bs3CpuInstr3_vpmullw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 2160 { bs3CpuInstr3_vpmullw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2161 { bs3CpuInstr3_vpmullw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2162 { bs3CpuInstr3_vpmullw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2163 { bs3CpuInstr3_vpmullw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 2164 { bs3CpuInstr3_vpmullw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2165 2166 { bs3CpuInstr3_pmulld_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 2167 { bs3CpuInstr3_pmulld_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2168 { bs3CpuInstr3_pmulld_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesD) }, 2169 { bs3CpuInstr3_pmulld_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2170 { bs3CpuInstr3_vpmulld_XMM2_XMM1_XMM0_icebp_c64, 255, RM_REG, T_AVX_128, XMM2, XMM1, XMM0, PASS_ELEMENTS(s_aValuesD) }, 2171 { bs3CpuInstr3_vpmulld_XMM2_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2172 { bs3CpuInstr3_vpmulld_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesD) }, 2173 { bs3CpuInstr3_vpmulld_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2174 { bs3CpuInstr3_vpmulld_YMM2_YMM1_YMM0_icebp_c64, 255, RM_REG, T_AVX_256, YMM2, YMM1, YMM0, PASS_ELEMENTS(s_aValuesD) }, 2175 { bs3CpuInstr3_vpmulld_YMM2_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM2, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2176 { bs3CpuInstr3_vpmulld_YMM10_YMM8_YMM15_icebp_c64, 255, RM_REG, T_AVX_256, YMM10, YMM8, YMM15, PASS_ELEMENTS(s_aValuesD) }, 2177 { bs3CpuInstr3_vpmulld_YMM10_YMM8_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM10, YMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 2184 2178 }; 2185 2179 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2191 2185 2192 2186 /* 2193 * PMULHW, VPMULHW.2187 * [V]PMULHW. 2194 2188 */ 2195 2189 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmulhw(uint8_t bMode) … … 2210 2204 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2211 2205 { 2212 { bs3CpuInstr3_pmulhw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2213 { bs3CpuInstr3_pmulhw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2214 { bs3CpuInstr3_pmulhw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2215 { bs3CpuInstr3_pmulhw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2216 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2217 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2218 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2219 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2206 { bs3CpuInstr3_pmulhw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2207 { bs3CpuInstr3_pmulhw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2208 { bs3CpuInstr3_pmulhw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2209 { bs3CpuInstr3_pmulhw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2210 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2211 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2212 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2213 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2220 2214 }; 2221 2215 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2222 2216 { 2223 { bs3CpuInstr3_pmulhw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2224 { bs3CpuInstr3_pmulhw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2225 { bs3CpuInstr3_pmulhw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2226 { bs3CpuInstr3_pmulhw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2227 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2228 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2229 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2230 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2217 { bs3CpuInstr3_pmulhw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2218 { bs3CpuInstr3_pmulhw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2219 { bs3CpuInstr3_pmulhw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2220 { bs3CpuInstr3_pmulhw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2221 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2222 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2223 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2224 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2231 2225 }; 2232 2226 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2233 2227 { 2234 { bs3CpuInstr3_pmulhw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2235 { bs3CpuInstr3_pmulhw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2236 { bs3CpuInstr3_pmulhw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2237 { bs3CpuInstr3_pmulhw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2238 { bs3CpuInstr3_pmulhw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},2239 { bs3CpuInstr3_pmulhw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2240 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2241 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2242 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2243 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2244 { bs3CpuInstr3_vpmulhw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},2245 { bs3CpuInstr3_vpmulhw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2246 { bs3CpuInstr3_vpmulhw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},2247 { bs3CpuInstr3_vpmulhw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2228 { bs3CpuInstr3_pmulhw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2229 { bs3CpuInstr3_pmulhw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2230 { bs3CpuInstr3_pmulhw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2231 { bs3CpuInstr3_pmulhw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2232 { bs3CpuInstr3_pmulhw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 2233 { bs3CpuInstr3_pmulhw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2234 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2235 { bs3CpuInstr3_vpmulhw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2236 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2237 { bs3CpuInstr3_vpmulhw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2238 { bs3CpuInstr3_vpmulhw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 2239 { bs3CpuInstr3_vpmulhw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2240 { bs3CpuInstr3_vpmulhw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 2241 { bs3CpuInstr3_vpmulhw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2248 2242 }; 2249 2243 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2255 2249 2256 2250 /* 2257 * PMULHUW, VPMULHUW.2251 * [V]PMULHUW. 2258 2252 */ 2259 2253 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmulhuw(uint8_t bMode) … … 2274 2268 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2275 2269 { 2276 { bs3CpuInstr3_pmulhuw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2277 { bs3CpuInstr3_pmulhuw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2278 { bs3CpuInstr3_pmulhuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2279 { bs3CpuInstr3_pmulhuw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2280 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2281 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2282 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2283 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2270 { bs3CpuInstr3_pmulhuw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2271 { bs3CpuInstr3_pmulhuw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2272 { bs3CpuInstr3_pmulhuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2273 { bs3CpuInstr3_pmulhuw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2274 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2275 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2276 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2277 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2284 2278 }; 2285 2279 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2286 2280 { 2287 { bs3CpuInstr3_pmulhuw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2288 { bs3CpuInstr3_pmulhuw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2289 { bs3CpuInstr3_pmulhuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2290 { bs3CpuInstr3_pmulhuw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2291 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2292 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2293 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2294 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2281 { bs3CpuInstr3_pmulhuw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2282 { bs3CpuInstr3_pmulhuw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2283 { bs3CpuInstr3_pmulhuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2284 { bs3CpuInstr3_pmulhuw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2285 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2286 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2287 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2288 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2295 2289 }; 2296 2290 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2297 2291 { 2298 { bs3CpuInstr3_pmulhuw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2299 { bs3CpuInstr3_pmulhuw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2300 { bs3CpuInstr3_pmulhuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2301 { bs3CpuInstr3_pmulhuw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2302 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2303 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2304 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},2305 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2306 2307 { bs3CpuInstr3_pmulhuw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},2308 { bs3CpuInstr3_pmulhuw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2309 { bs3CpuInstr3_vpmulhuw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},2310 { bs3CpuInstr3_vpmulhuw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2311 { bs3CpuInstr3_vpmulhuw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},2312 { bs3CpuInstr3_vpmulhuw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},2292 { bs3CpuInstr3_pmulhuw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 2293 { bs3CpuInstr3_pmulhuw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2294 { bs3CpuInstr3_pmulhuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2295 { bs3CpuInstr3_pmulhuw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2296 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 2297 { bs3CpuInstr3_vpmulhuw_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2298 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 2299 { bs3CpuInstr3_vpmulhuw_YMM1_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2300 2301 { bs3CpuInstr3_pmulhuw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 2302 { bs3CpuInstr3_pmulhuw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2303 { bs3CpuInstr3_vpmulhuw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 2304 { bs3CpuInstr3_vpmulhuw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2305 { bs3CpuInstr3_vpmulhuw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 2306 { bs3CpuInstr3_vpmulhuw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 2313 2307 }; 2314 2308 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2364 2358 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2365 2359 { 2366 { bs3CpuInstr3_pshufb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2367 { bs3CpuInstr3_pshufb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2368 { bs3CpuInstr3_pshufb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2369 { bs3CpuInstr3_pshufb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2370 { bs3CpuInstr3_vpshufb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2371 { bs3CpuInstr3_vpshufb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2372 { bs3CpuInstr3_vpshufb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2373 { bs3CpuInstr3_vpshufb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2360 { bs3CpuInstr3_pshufb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2361 { bs3CpuInstr3_pshufb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2362 { bs3CpuInstr3_pshufb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2363 { bs3CpuInstr3_pshufb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2364 { bs3CpuInstr3_vpshufb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2365 { bs3CpuInstr3_vpshufb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2366 { bs3CpuInstr3_vpshufb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2367 { bs3CpuInstr3_vpshufb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2374 2368 }; 2375 2369 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2376 2370 { 2377 { bs3CpuInstr3_pshufb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2378 { bs3CpuInstr3_pshufb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2379 { bs3CpuInstr3_pshufb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2380 { bs3CpuInstr3_pshufb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2381 { bs3CpuInstr3_vpshufb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2382 { bs3CpuInstr3_vpshufb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2383 { bs3CpuInstr3_vpshufb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2384 { bs3CpuInstr3_vpshufb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2371 { bs3CpuInstr3_pshufb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2372 { bs3CpuInstr3_pshufb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2373 { bs3CpuInstr3_pshufb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2374 { bs3CpuInstr3_pshufb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2375 { bs3CpuInstr3_vpshufb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2376 { bs3CpuInstr3_vpshufb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2377 { bs3CpuInstr3_vpshufb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2378 { bs3CpuInstr3_vpshufb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2385 2379 }; 2386 2380 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2387 2381 { 2388 { bs3CpuInstr3_pshufb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2389 { bs3CpuInstr3_pshufb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2390 { bs3CpuInstr3_pshufb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2391 { bs3CpuInstr3_pshufb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2392 { bs3CpuInstr3_pshufb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2393 { bs3CpuInstr3_pshufb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2394 { bs3CpuInstr3_vpshufb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2395 { bs3CpuInstr3_vpshufb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2396 { bs3CpuInstr3_vpshufb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2397 { bs3CpuInstr3_vpshufb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2398 { bs3CpuInstr3_vpshufb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2399 { bs3CpuInstr3_vpshufb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2400 { bs3CpuInstr3_vpshufb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2401 { bs3CpuInstr3_vpshufb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2382 { bs3CpuInstr3_pshufb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2383 { bs3CpuInstr3_pshufb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2384 { bs3CpuInstr3_pshufb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2385 { bs3CpuInstr3_pshufb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2386 { bs3CpuInstr3_pshufb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 2387 { bs3CpuInstr3_pshufb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2388 { bs3CpuInstr3_vpshufb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2389 { bs3CpuInstr3_vpshufb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2390 { bs3CpuInstr3_vpshufb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2391 { bs3CpuInstr3_vpshufb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2392 { bs3CpuInstr3_vpshufb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2393 { bs3CpuInstr3_vpshufb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2394 { bs3CpuInstr3_vpshufb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2395 { bs3CpuInstr3_vpshufb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2402 2396 }; 2403 2397 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2446 2440 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2447 2441 { 2448 { bs3CpuInstr3_punpckhbw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2449 { bs3CpuInstr3_punpckhbw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2450 { bs3CpuInstr3_punpckhbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2451 { bs3CpuInstr3_punpckhbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2452 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2453 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2454 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2455 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2442 { bs3CpuInstr3_punpckhbw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2443 { bs3CpuInstr3_punpckhbw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2444 { bs3CpuInstr3_punpckhbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2445 { bs3CpuInstr3_punpckhbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2446 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2447 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2448 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2449 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2456 2450 }; 2457 2451 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2458 2452 { 2459 { bs3CpuInstr3_punpckhbw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2460 { bs3CpuInstr3_punpckhbw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2461 { bs3CpuInstr3_punpckhbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2462 { bs3CpuInstr3_punpckhbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2463 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2464 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2465 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2466 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2453 { bs3CpuInstr3_punpckhbw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2454 { bs3CpuInstr3_punpckhbw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2455 { bs3CpuInstr3_punpckhbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2456 { bs3CpuInstr3_punpckhbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2457 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2458 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2459 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2460 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2467 2461 }; 2468 2462 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2469 2463 { 2470 { bs3CpuInstr3_punpckhbw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2471 { bs3CpuInstr3_punpckhbw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2472 { bs3CpuInstr3_punpckhbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2473 { bs3CpuInstr3_punpckhbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2474 { bs3CpuInstr3_punpckhbw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2475 { bs3CpuInstr3_punpckhbw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2476 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2477 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2478 { bs3CpuInstr3_vpunpckhbw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2479 { bs3CpuInstr3_vpunpckhbw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2480 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2481 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2482 { bs3CpuInstr3_vpunpckhbw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2483 { bs3CpuInstr3_vpunpckhbw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2464 { bs3CpuInstr3_punpckhbw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2465 { bs3CpuInstr3_punpckhbw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2466 { bs3CpuInstr3_punpckhbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2467 { bs3CpuInstr3_punpckhbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2468 { bs3CpuInstr3_punpckhbw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 2469 { bs3CpuInstr3_punpckhbw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2470 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2471 { bs3CpuInstr3_vpunpckhbw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2472 { bs3CpuInstr3_vpunpckhbw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2473 { bs3CpuInstr3_vpunpckhbw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2474 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2475 { bs3CpuInstr3_vpunpckhbw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2476 { bs3CpuInstr3_vpunpckhbw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2477 { bs3CpuInstr3_vpunpckhbw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2484 2478 }; 2485 2479 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2528 2522 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2529 2523 { 2530 { bs3CpuInstr3_punpckhwd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2531 { bs3CpuInstr3_punpckhwd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2532 { bs3CpuInstr3_punpckhwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2533 { bs3CpuInstr3_punpckhwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2534 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2535 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2536 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2537 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2524 { bs3CpuInstr3_punpckhwd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2525 { bs3CpuInstr3_punpckhwd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2526 { bs3CpuInstr3_punpckhwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2527 { bs3CpuInstr3_punpckhwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2528 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2529 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2530 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2531 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2538 2532 }; 2539 2533 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2540 2534 { 2541 { bs3CpuInstr3_punpckhwd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2542 { bs3CpuInstr3_punpckhwd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2543 { bs3CpuInstr3_punpckhwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2544 { bs3CpuInstr3_punpckhwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2545 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2546 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2547 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2548 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2535 { bs3CpuInstr3_punpckhwd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2536 { bs3CpuInstr3_punpckhwd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2537 { bs3CpuInstr3_punpckhwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2538 { bs3CpuInstr3_punpckhwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2539 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2540 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2541 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2542 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2549 2543 }; 2550 2544 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2551 2545 { 2552 { bs3CpuInstr3_punpckhwd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2553 { bs3CpuInstr3_punpckhwd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2554 { bs3CpuInstr3_punpckhwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2555 { bs3CpuInstr3_punpckhwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2556 { bs3CpuInstr3_punpckhwd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2557 { bs3CpuInstr3_punpckhwd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2558 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2559 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2560 { bs3CpuInstr3_vpunpckhwd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2561 { bs3CpuInstr3_vpunpckhwd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2562 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2563 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2564 { bs3CpuInstr3_vpunpckhwd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2565 { bs3CpuInstr3_vpunpckhwd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2546 { bs3CpuInstr3_punpckhwd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2547 { bs3CpuInstr3_punpckhwd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2548 { bs3CpuInstr3_punpckhwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2549 { bs3CpuInstr3_punpckhwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2550 { bs3CpuInstr3_punpckhwd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 2551 { bs3CpuInstr3_punpckhwd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2552 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2553 { bs3CpuInstr3_vpunpckhwd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2554 { bs3CpuInstr3_vpunpckhwd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2555 { bs3CpuInstr3_vpunpckhwd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2556 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2557 { bs3CpuInstr3_vpunpckhwd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2558 { bs3CpuInstr3_vpunpckhwd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2559 { bs3CpuInstr3_vpunpckhwd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2566 2560 }; 2567 2561 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2610 2604 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2611 2605 { 2612 { bs3CpuInstr3_punpckhdq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2613 { bs3CpuInstr3_punpckhdq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2614 { bs3CpuInstr3_punpckhdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2615 { bs3CpuInstr3_punpckhdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2616 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2617 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2618 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2619 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2606 { bs3CpuInstr3_punpckhdq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2607 { bs3CpuInstr3_punpckhdq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2608 { bs3CpuInstr3_punpckhdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2609 { bs3CpuInstr3_punpckhdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2610 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2611 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2612 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2613 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2620 2614 }; 2621 2615 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2622 2616 { 2623 { bs3CpuInstr3_punpckhdq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2624 { bs3CpuInstr3_punpckhdq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2625 { bs3CpuInstr3_punpckhdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2626 { bs3CpuInstr3_punpckhdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2627 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2628 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2629 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2630 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2617 { bs3CpuInstr3_punpckhdq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2618 { bs3CpuInstr3_punpckhdq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2619 { bs3CpuInstr3_punpckhdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2620 { bs3CpuInstr3_punpckhdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2621 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2622 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2623 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2624 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2631 2625 }; 2632 2626 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2633 2627 { 2634 { bs3CpuInstr3_punpckhdq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2635 { bs3CpuInstr3_punpckhdq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2636 { bs3CpuInstr3_punpckhdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2637 { bs3CpuInstr3_punpckhdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2638 { bs3CpuInstr3_punpckhdq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2639 { bs3CpuInstr3_punpckhdq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2640 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2641 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2642 { bs3CpuInstr3_vpunpckhdq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2643 { bs3CpuInstr3_vpunpckhdq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2644 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2645 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2646 { bs3CpuInstr3_vpunpckhdq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2647 { bs3CpuInstr3_vpunpckhdq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2628 { bs3CpuInstr3_punpckhdq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2629 { bs3CpuInstr3_punpckhdq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2630 { bs3CpuInstr3_punpckhdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2631 { bs3CpuInstr3_punpckhdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2632 { bs3CpuInstr3_punpckhdq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 2633 { bs3CpuInstr3_punpckhdq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2634 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2635 { bs3CpuInstr3_vpunpckhdq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2636 { bs3CpuInstr3_vpunpckhdq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2637 { bs3CpuInstr3_vpunpckhdq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2638 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2639 { bs3CpuInstr3_vpunpckhdq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2640 { bs3CpuInstr3_vpunpckhdq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2641 { bs3CpuInstr3_vpunpckhdq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2648 2642 }; 2649 2643 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2677 2671 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2678 2672 { 2679 { bs3CpuInstr3_punpckhqdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2680 { bs3CpuInstr3_punpckhqdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2681 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2682 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2683 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2684 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2673 { bs3CpuInstr3_punpckhqdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2674 { bs3CpuInstr3_punpckhqdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2675 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2676 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2677 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2678 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2685 2679 }; 2686 2680 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2687 2681 { 2688 { bs3CpuInstr3_punpckhqdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2689 { bs3CpuInstr3_punpckhqdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2690 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2691 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2692 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2693 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2682 { bs3CpuInstr3_punpckhqdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2683 { bs3CpuInstr3_punpckhqdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2684 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2685 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2686 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2687 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2694 2688 }; 2695 2689 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2696 2690 { 2697 { bs3CpuInstr3_punpckhqdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2698 { bs3CpuInstr3_punpckhqdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2699 { bs3CpuInstr3_punpckhqdq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2700 { bs3CpuInstr3_punpckhqdq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2701 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2702 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2703 { bs3CpuInstr3_vpunpckhqdq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2704 { bs3CpuInstr3_vpunpckhqdq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2705 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2706 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2707 { bs3CpuInstr3_vpunpckhqdq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2708 { bs3CpuInstr3_vpunpckhqdq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2691 { bs3CpuInstr3_punpckhqdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2692 { bs3CpuInstr3_punpckhqdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2693 { bs3CpuInstr3_punpckhqdq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 2694 { bs3CpuInstr3_punpckhqdq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2695 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2696 { bs3CpuInstr3_vpunpckhqdq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2697 { bs3CpuInstr3_vpunpckhqdq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2698 { bs3CpuInstr3_vpunpckhqdq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2699 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2700 { bs3CpuInstr3_vpunpckhqdq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2701 { bs3CpuInstr3_vpunpckhqdq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2702 { bs3CpuInstr3_vpunpckhqdq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2709 2703 }; 2710 2704 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2753 2747 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2754 2748 { 2755 { bs3CpuInstr3_punpcklbw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2756 { bs3CpuInstr3_punpcklbw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2757 { bs3CpuInstr3_punpcklbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2758 { bs3CpuInstr3_punpcklbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2759 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2760 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2761 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2762 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2749 { bs3CpuInstr3_punpcklbw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2750 { bs3CpuInstr3_punpcklbw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2751 { bs3CpuInstr3_punpcklbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2752 { bs3CpuInstr3_punpcklbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2753 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2754 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2755 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2756 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2763 2757 }; 2764 2758 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2765 2759 { 2766 { bs3CpuInstr3_punpcklbw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2767 { bs3CpuInstr3_punpcklbw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2768 { bs3CpuInstr3_punpcklbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2769 { bs3CpuInstr3_punpcklbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2770 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2771 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2772 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2773 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2760 { bs3CpuInstr3_punpcklbw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2761 { bs3CpuInstr3_punpcklbw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2762 { bs3CpuInstr3_punpcklbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2763 { bs3CpuInstr3_punpcklbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2764 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2765 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2766 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2767 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2774 2768 }; 2775 2769 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2776 2770 { 2777 { bs3CpuInstr3_punpcklbw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2778 { bs3CpuInstr3_punpcklbw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2779 { bs3CpuInstr3_punpcklbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2780 { bs3CpuInstr3_punpcklbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2781 { bs3CpuInstr3_punpcklbw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2782 { bs3CpuInstr3_punpcklbw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2783 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2784 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2785 { bs3CpuInstr3_vpunpcklbw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2786 { bs3CpuInstr3_vpunpcklbw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2787 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2788 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2789 { bs3CpuInstr3_vpunpcklbw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2790 { bs3CpuInstr3_vpunpcklbw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2771 { bs3CpuInstr3_punpcklbw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2772 { bs3CpuInstr3_punpcklbw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2773 { bs3CpuInstr3_punpcklbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2774 { bs3CpuInstr3_punpcklbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2775 { bs3CpuInstr3_punpcklbw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 2776 { bs3CpuInstr3_punpcklbw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2777 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2778 { bs3CpuInstr3_vpunpcklbw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2779 { bs3CpuInstr3_vpunpcklbw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2780 { bs3CpuInstr3_vpunpcklbw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2781 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2782 { bs3CpuInstr3_vpunpcklbw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2783 { bs3CpuInstr3_vpunpcklbw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2784 { bs3CpuInstr3_vpunpcklbw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2791 2785 }; 2792 2786 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2835 2829 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2836 2830 { 2837 { bs3CpuInstr3_punpcklwd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2838 { bs3CpuInstr3_punpcklwd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2839 { bs3CpuInstr3_punpcklwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2840 { bs3CpuInstr3_punpcklwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2841 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2842 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2843 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2844 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2831 { bs3CpuInstr3_punpcklwd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2832 { bs3CpuInstr3_punpcklwd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2833 { bs3CpuInstr3_punpcklwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2834 { bs3CpuInstr3_punpcklwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2835 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2836 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2837 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2838 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2845 2839 }; 2846 2840 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2847 2841 { 2848 { bs3CpuInstr3_punpcklwd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2849 { bs3CpuInstr3_punpcklwd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2850 { bs3CpuInstr3_punpcklwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2851 { bs3CpuInstr3_punpcklwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2852 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2853 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2854 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2855 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2842 { bs3CpuInstr3_punpcklwd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2843 { bs3CpuInstr3_punpcklwd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2844 { bs3CpuInstr3_punpcklwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2845 { bs3CpuInstr3_punpcklwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2846 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2847 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2848 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2849 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2856 2850 }; 2857 2851 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2858 2852 { 2859 { bs3CpuInstr3_punpcklwd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2860 { bs3CpuInstr3_punpcklwd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2861 { bs3CpuInstr3_punpcklwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2862 { bs3CpuInstr3_punpcklwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2863 { bs3CpuInstr3_punpcklwd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2864 { bs3CpuInstr3_punpcklwd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2865 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2866 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2867 { bs3CpuInstr3_vpunpcklwd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2868 { bs3CpuInstr3_vpunpcklwd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2869 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2870 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2871 { bs3CpuInstr3_vpunpcklwd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2872 { bs3CpuInstr3_vpunpcklwd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2853 { bs3CpuInstr3_punpcklwd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2854 { bs3CpuInstr3_punpcklwd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2855 { bs3CpuInstr3_punpcklwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2856 { bs3CpuInstr3_punpcklwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2857 { bs3CpuInstr3_punpcklwd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 2858 { bs3CpuInstr3_punpcklwd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2859 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2860 { bs3CpuInstr3_vpunpcklwd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2861 { bs3CpuInstr3_vpunpcklwd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2862 { bs3CpuInstr3_vpunpcklwd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2863 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2864 { bs3CpuInstr3_vpunpcklwd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2865 { bs3CpuInstr3_vpunpcklwd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2866 { bs3CpuInstr3_vpunpcklwd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2873 2867 }; 2874 2868 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2917 2911 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2918 2912 { 2919 { bs3CpuInstr3_punpckldq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2920 { bs3CpuInstr3_punpckldq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2921 { bs3CpuInstr3_punpckldq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2922 { bs3CpuInstr3_punpckldq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2923 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2924 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2925 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2926 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2913 { bs3CpuInstr3_punpckldq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2914 { bs3CpuInstr3_punpckldq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2915 { bs3CpuInstr3_punpckldq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2916 { bs3CpuInstr3_punpckldq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2917 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2918 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2919 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2920 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2927 2921 }; 2928 2922 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2929 2923 { 2930 { bs3CpuInstr3_punpckldq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2931 { bs3CpuInstr3_punpckldq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2932 { bs3CpuInstr3_punpckldq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2933 { bs3CpuInstr3_punpckldq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2934 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2935 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2936 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2937 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2924 { bs3CpuInstr3_punpckldq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2925 { bs3CpuInstr3_punpckldq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2926 { bs3CpuInstr3_punpckldq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2927 { bs3CpuInstr3_punpckldq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2928 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2929 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2930 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2931 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2938 2932 }; 2939 2933 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 2940 2934 { 2941 { bs3CpuInstr3_punpckldq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},2942 { bs3CpuInstr3_punpckldq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},2943 { bs3CpuInstr3_punpckldq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2944 { bs3CpuInstr3_punpckldq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2945 { bs3CpuInstr3_punpckldq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2946 { bs3CpuInstr3_punpckldq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2947 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2948 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2949 { bs3CpuInstr3_vpunpckldq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2950 { bs3CpuInstr3_vpunpckldq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2951 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2952 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2953 { bs3CpuInstr3_vpunpckldq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2954 { bs3CpuInstr3_vpunpckldq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2935 { bs3CpuInstr3_punpckldq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 2936 { bs3CpuInstr3_punpckldq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 2937 { bs3CpuInstr3_punpckldq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2938 { bs3CpuInstr3_punpckldq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2939 { bs3CpuInstr3_punpckldq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 2940 { bs3CpuInstr3_punpckldq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2941 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2942 { bs3CpuInstr3_vpunpckldq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2943 { bs3CpuInstr3_vpunpckldq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2944 { bs3CpuInstr3_vpunpckldq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2945 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2946 { bs3CpuInstr3_vpunpckldq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2947 { bs3CpuInstr3_vpunpckldq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 2948 { bs3CpuInstr3_vpunpckldq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2955 2949 }; 2956 2950 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 2984 2978 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 2985 2979 { 2986 { bs3CpuInstr3_punpcklqdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2987 { bs3CpuInstr3_punpcklqdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2988 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2989 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2990 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2991 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2980 { bs3CpuInstr3_punpcklqdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2981 { bs3CpuInstr3_punpcklqdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2982 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2983 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2984 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2985 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2992 2986 }; 2993 2987 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 2994 2988 { 2995 { bs3CpuInstr3_punpcklqdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2996 { bs3CpuInstr3_punpcklqdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2997 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2998 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2999 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3000 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2989 { bs3CpuInstr3_punpcklqdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2990 { bs3CpuInstr3_punpcklqdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2991 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2992 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 2993 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 2994 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3001 2995 }; 3002 2996 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3003 2997 { 3004 { bs3CpuInstr3_punpcklqdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3005 { bs3CpuInstr3_punpcklqdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3006 { bs3CpuInstr3_punpcklqdq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3007 { bs3CpuInstr3_punpcklqdq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3008 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3009 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3010 { bs3CpuInstr3_vpunpcklqdq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3011 { bs3CpuInstr3_vpunpcklqdq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3012 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3013 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3014 { bs3CpuInstr3_vpunpcklqdq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3015 { bs3CpuInstr3_vpunpcklqdq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},2998 { bs3CpuInstr3_punpcklqdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 2999 { bs3CpuInstr3_punpcklqdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3000 { bs3CpuInstr3_punpcklqdq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 3001 { bs3CpuInstr3_punpcklqdq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3002 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3003 { bs3CpuInstr3_vpunpcklqdq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3004 { bs3CpuInstr3_vpunpcklqdq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3005 { bs3CpuInstr3_vpunpcklqdq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3006 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3007 { bs3CpuInstr3_vpunpcklqdq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3008 { bs3CpuInstr3_vpunpcklqdq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3009 { bs3CpuInstr3_vpunpcklqdq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3016 3010 }; 3017 3011 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 3066 3060 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 3067 3061 { 3068 { bs3CpuInstr3_packsswb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3069 { bs3CpuInstr3_packsswb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3070 { bs3CpuInstr3_packsswb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3071 { bs3CpuInstr3_packsswb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3072 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3073 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3074 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3075 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3062 { bs3CpuInstr3_packsswb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3063 { bs3CpuInstr3_packsswb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3064 { bs3CpuInstr3_packsswb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3065 { bs3CpuInstr3_packsswb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3066 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3067 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3068 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3069 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3076 3070 }; 3077 3071 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 3078 3072 { 3079 { bs3CpuInstr3_packsswb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3080 { bs3CpuInstr3_packsswb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3081 { bs3CpuInstr3_packsswb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3082 { bs3CpuInstr3_packsswb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3083 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3084 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3085 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3086 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3073 { bs3CpuInstr3_packsswb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3074 { bs3CpuInstr3_packsswb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3075 { bs3CpuInstr3_packsswb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3076 { bs3CpuInstr3_packsswb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3077 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3078 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3079 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3080 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3087 3081 }; 3088 3082 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3089 3083 { 3090 { bs3CpuInstr3_packsswb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3091 { bs3CpuInstr3_packsswb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3092 { bs3CpuInstr3_packsswb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3093 { bs3CpuInstr3_packsswb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3094 { bs3CpuInstr3_packsswb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3095 { bs3CpuInstr3_packsswb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3096 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3097 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3098 { bs3CpuInstr3_vpacksswb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3099 { bs3CpuInstr3_vpacksswb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3100 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3101 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3102 { bs3CpuInstr3_vpacksswb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3103 { bs3CpuInstr3_vpacksswb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3084 { bs3CpuInstr3_packsswb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3085 { bs3CpuInstr3_packsswb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3086 { bs3CpuInstr3_packsswb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3087 { bs3CpuInstr3_packsswb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3088 { bs3CpuInstr3_packsswb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 3089 { bs3CpuInstr3_packsswb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3090 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3091 { bs3CpuInstr3_vpacksswb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3092 { bs3CpuInstr3_vpacksswb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3093 { bs3CpuInstr3_vpacksswb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3094 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3095 { bs3CpuInstr3_vpacksswb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3096 { bs3CpuInstr3_vpacksswb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3097 { bs3CpuInstr3_vpacksswb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3104 3098 }; 3105 3099 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 3154 3148 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 3155 3149 { 3156 { bs3CpuInstr3_packssdw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3157 { bs3CpuInstr3_packssdw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3158 { bs3CpuInstr3_packssdw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3159 { bs3CpuInstr3_packssdw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3160 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3161 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3162 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3163 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3150 { bs3CpuInstr3_packssdw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3151 { bs3CpuInstr3_packssdw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3152 { bs3CpuInstr3_packssdw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3153 { bs3CpuInstr3_packssdw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3154 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3155 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3156 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3157 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3164 3158 }; 3165 3159 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 3166 3160 { 3167 { bs3CpuInstr3_packssdw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3168 { bs3CpuInstr3_packssdw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3169 { bs3CpuInstr3_packssdw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3170 { bs3CpuInstr3_packssdw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3171 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3172 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3173 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3174 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3161 { bs3CpuInstr3_packssdw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3162 { bs3CpuInstr3_packssdw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3163 { bs3CpuInstr3_packssdw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3164 { bs3CpuInstr3_packssdw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3165 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3166 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3167 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3168 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3175 3169 }; 3176 3170 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3177 3171 { 3178 { bs3CpuInstr3_packssdw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3179 { bs3CpuInstr3_packssdw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3180 { bs3CpuInstr3_packssdw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3181 { bs3CpuInstr3_packssdw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3182 { bs3CpuInstr3_packssdw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3183 { bs3CpuInstr3_packssdw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3184 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3185 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3186 { bs3CpuInstr3_vpackssdw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3187 { bs3CpuInstr3_vpackssdw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3188 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3189 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3190 { bs3CpuInstr3_vpackssdw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3191 { bs3CpuInstr3_vpackssdw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3172 { bs3CpuInstr3_packssdw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3173 { bs3CpuInstr3_packssdw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3174 { bs3CpuInstr3_packssdw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3175 { bs3CpuInstr3_packssdw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3176 { bs3CpuInstr3_packssdw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 3177 { bs3CpuInstr3_packssdw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3178 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3179 { bs3CpuInstr3_vpackssdw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3180 { bs3CpuInstr3_vpackssdw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3181 { bs3CpuInstr3_vpackssdw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3182 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3183 { bs3CpuInstr3_vpackssdw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3184 { bs3CpuInstr3_vpackssdw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3185 { bs3CpuInstr3_vpackssdw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3192 3186 }; 3193 3187 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 3242 3236 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 3243 3237 { 3244 { bs3CpuInstr3_packuswb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3245 { bs3CpuInstr3_packuswb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3246 { bs3CpuInstr3_packuswb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3247 { bs3CpuInstr3_packuswb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3248 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3249 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3250 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3251 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3238 { bs3CpuInstr3_packuswb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3239 { bs3CpuInstr3_packuswb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3240 { bs3CpuInstr3_packuswb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3241 { bs3CpuInstr3_packuswb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3242 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3243 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3244 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3245 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3252 3246 }; 3253 3247 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 3254 3248 { 3255 { bs3CpuInstr3_packuswb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3256 { bs3CpuInstr3_packuswb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3257 { bs3CpuInstr3_packuswb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3258 { bs3CpuInstr3_packuswb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3259 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3260 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3261 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3262 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3249 { bs3CpuInstr3_packuswb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3250 { bs3CpuInstr3_packuswb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3251 { bs3CpuInstr3_packuswb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3252 { bs3CpuInstr3_packuswb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3253 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3254 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3255 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3256 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3263 3257 }; 3264 3258 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3265 3259 { 3266 { bs3CpuInstr3_packuswb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},3267 { bs3CpuInstr3_packuswb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},3268 { bs3CpuInstr3_packuswb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3269 { bs3CpuInstr3_packuswb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3270 { bs3CpuInstr3_packuswb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3271 { bs3CpuInstr3_packuswb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3272 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3273 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3274 { bs3CpuInstr3_vpackuswb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3275 { bs3CpuInstr3_vpackuswb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3276 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3277 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3278 { bs3CpuInstr3_vpackuswb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3279 { bs3CpuInstr3_vpackuswb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3260 { bs3CpuInstr3_packuswb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 3261 { bs3CpuInstr3_packuswb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 3262 { bs3CpuInstr3_packuswb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3263 { bs3CpuInstr3_packuswb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3264 { bs3CpuInstr3_packuswb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 3265 { bs3CpuInstr3_packuswb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3266 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3267 { bs3CpuInstr3_vpackuswb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3268 { bs3CpuInstr3_vpackuswb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3269 { bs3CpuInstr3_vpackuswb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3270 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3271 { bs3CpuInstr3_vpackuswb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3272 { bs3CpuInstr3_vpackuswb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3273 { bs3CpuInstr3_vpackuswb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3280 3274 }; 3281 3275 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 3312 3306 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 3313 3307 { 3314 { bs3CpuInstr3_packusdw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3315 { bs3CpuInstr3_packusdw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3316 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3317 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3318 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3319 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3308 { bs3CpuInstr3_packusdw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3309 { bs3CpuInstr3_packusdw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3310 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3311 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3312 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3313 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3320 3314 }; 3321 3315 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 3322 3316 { 3323 { bs3CpuInstr3_packusdw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3324 { bs3CpuInstr3_packusdw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3325 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3326 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3327 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3328 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3317 { bs3CpuInstr3_packusdw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3318 { bs3CpuInstr3_packusdw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3319 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3320 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3321 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3322 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3329 3323 }; 3330 3324 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3331 3325 { 3332 { bs3CpuInstr3_packusdw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3333 { bs3CpuInstr3_packusdw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3334 { bs3CpuInstr3_packusdw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3335 { bs3CpuInstr3_packusdw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3336 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3337 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3338 { bs3CpuInstr3_vpackusdw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3339 { bs3CpuInstr3_vpackusdw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3340 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3341 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3342 { bs3CpuInstr3_vpackusdw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3343 { bs3CpuInstr3_vpackusdw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesOthers), s_aValuesOthers},3326 { bs3CpuInstr3_packusdw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesOthers) }, 3327 { bs3CpuInstr3_packusdw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3328 { bs3CpuInstr3_packusdw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesOthers) }, 3329 { bs3CpuInstr3_packusdw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3330 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3331 { bs3CpuInstr3_vpackusdw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3332 { bs3CpuInstr3_vpackusdw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3333 { bs3CpuInstr3_vpackusdw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3334 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesOthers) }, 3335 { bs3CpuInstr3_vpackusdw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3336 { bs3CpuInstr3_vpackusdw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesOthers) }, 3337 { bs3CpuInstr3_vpackusdw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesOthers) }, 3344 3338 }; 3345 3339 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 3414 3408 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 3415 3409 { 3416 { bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3417 { bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3418 { bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3419 { bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3420 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3421 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3422 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3423 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3424 3425 { bs3CpuInstr3_pmaxuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3426 { bs3CpuInstr3_pmaxuw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3427 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3428 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3429 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3430 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3431 3432 { bs3CpuInstr3_pmaxud_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3433 { bs3CpuInstr3_pmaxud_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3434 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3435 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3436 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3437 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3410 { bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3411 { bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3412 { bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3413 { bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3414 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3415 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3416 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3417 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3418 3419 { bs3CpuInstr3_pmaxuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3420 { bs3CpuInstr3_pmaxuw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3421 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3422 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3423 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3424 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3425 3426 { bs3CpuInstr3_pmaxud_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3427 { bs3CpuInstr3_pmaxud_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3428 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3429 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3430 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3431 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3438 3432 }; 3439 3433 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 3440 3434 { 3441 { bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3442 { bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3443 { bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3444 { bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3445 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3446 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3447 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3448 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3449 3450 { bs3CpuInstr3_pmaxuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3451 { bs3CpuInstr3_pmaxuw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3452 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3453 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3454 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3455 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3456 3457 { bs3CpuInstr3_pmaxud_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3458 { bs3CpuInstr3_pmaxud_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3459 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3460 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3461 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3462 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3435 { bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3436 { bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3437 { bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3438 { bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3439 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3440 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3441 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3442 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3443 3444 { bs3CpuInstr3_pmaxuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3445 { bs3CpuInstr3_pmaxuw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3446 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3447 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3448 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3449 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3450 3451 { bs3CpuInstr3_pmaxud_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3452 { bs3CpuInstr3_pmaxud_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3453 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3454 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3455 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3456 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3463 3457 }; 3464 3458 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3465 3459 { 3466 { bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3467 { bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3468 { bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3469 { bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3470 { bs3CpuInstr3_pmaxub_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesB), s_aValuesB},3471 { bs3CpuInstr3_pmaxub_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3472 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3473 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3474 { bs3CpuInstr3_vpmaxub_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},3475 { bs3CpuInstr3_vpmaxub_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3476 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3477 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3478 { bs3CpuInstr3_vpmaxub_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},3479 { bs3CpuInstr3_vpmaxub_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3480 3481 { bs3CpuInstr3_pmaxuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3482 { bs3CpuInstr3_pmaxuw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3483 { bs3CpuInstr3_pmaxuw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},3484 { bs3CpuInstr3_pmaxuw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3485 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3486 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3487 { bs3CpuInstr3_vpmaxuw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},3488 { bs3CpuInstr3_vpmaxuw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3489 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3490 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3491 { bs3CpuInstr3_vpmaxuw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},3492 { bs3CpuInstr3_vpmaxuw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3493 3494 { bs3CpuInstr3_pmaxud_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3495 { bs3CpuInstr3_pmaxud_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3496 { bs3CpuInstr3_pmaxud_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesD), s_aValuesD},3497 { bs3CpuInstr3_pmaxud_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3498 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3499 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3500 { bs3CpuInstr3_vpmaxud_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},3501 { bs3CpuInstr3_vpmaxud_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3502 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3503 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3504 { bs3CpuInstr3_vpmaxud_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},3505 { bs3CpuInstr3_vpmaxud_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3460 { bs3CpuInstr3_pmaxub_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3461 { bs3CpuInstr3_pmaxub_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3462 { bs3CpuInstr3_pmaxub_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3463 { bs3CpuInstr3_pmaxub_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3464 { bs3CpuInstr3_pmaxub_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesB) }, 3465 { bs3CpuInstr3_pmaxub_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3466 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3467 { bs3CpuInstr3_vpmaxub_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3468 { bs3CpuInstr3_vpmaxub_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesB) }, 3469 { bs3CpuInstr3_vpmaxub_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3470 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3471 { bs3CpuInstr3_vpmaxub_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3472 { bs3CpuInstr3_vpmaxub_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesB) }, 3473 { bs3CpuInstr3_vpmaxub_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3474 3475 { bs3CpuInstr3_pmaxuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3476 { bs3CpuInstr3_pmaxuw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3477 { bs3CpuInstr3_pmaxuw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 3478 { bs3CpuInstr3_pmaxuw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3479 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3480 { bs3CpuInstr3_vpmaxuw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3481 { bs3CpuInstr3_vpmaxuw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 3482 { bs3CpuInstr3_vpmaxuw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3483 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3484 { bs3CpuInstr3_vpmaxuw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3485 { bs3CpuInstr3_vpmaxuw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 3486 { bs3CpuInstr3_vpmaxuw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3487 3488 { bs3CpuInstr3_pmaxud_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3489 { bs3CpuInstr3_pmaxud_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3490 { bs3CpuInstr3_pmaxud_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesD) }, 3491 { bs3CpuInstr3_pmaxud_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3492 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3493 { bs3CpuInstr3_vpmaxud_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3494 { bs3CpuInstr3_vpmaxud_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesD) }, 3495 { bs3CpuInstr3_vpmaxud_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3496 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3497 { bs3CpuInstr3_vpmaxud_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3498 { bs3CpuInstr3_vpmaxud_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesD) }, 3499 { bs3CpuInstr3_vpmaxud_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3506 3500 }; 3507 3501 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 3576 3570 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 3577 3571 { 3578 { bs3CpuInstr3_pmaxsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3579 { bs3CpuInstr3_pmaxsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3580 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3581 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3582 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3583 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3584 3585 { bs3CpuInstr3_pmaxsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3586 { bs3CpuInstr3_pmaxsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3587 { bs3CpuInstr3_pmaxsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3588 { bs3CpuInstr3_pmaxsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3589 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3590 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3591 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3592 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3593 3594 { bs3CpuInstr3_pmaxsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3595 { bs3CpuInstr3_pmaxsd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3596 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3597 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3598 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3599 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3572 { bs3CpuInstr3_pmaxsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3573 { bs3CpuInstr3_pmaxsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3574 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3575 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3576 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3577 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3578 3579 { bs3CpuInstr3_pmaxsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3580 { bs3CpuInstr3_pmaxsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3581 { bs3CpuInstr3_pmaxsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3582 { bs3CpuInstr3_pmaxsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3583 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3584 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3585 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3586 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3587 3588 { bs3CpuInstr3_pmaxsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3589 { bs3CpuInstr3_pmaxsd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3590 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3591 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3592 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3593 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3600 3594 }; 3601 3595 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 3602 3596 { 3603 { bs3CpuInstr3_pmaxsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3604 { bs3CpuInstr3_pmaxsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3605 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3606 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3607 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3608 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3609 3610 { bs3CpuInstr3_pmaxsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3611 { bs3CpuInstr3_pmaxsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3612 { bs3CpuInstr3_pmaxsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3613 { bs3CpuInstr3_pmaxsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3614 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3615 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3616 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3617 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3618 3619 { bs3CpuInstr3_pmaxsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3620 { bs3CpuInstr3_pmaxsd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3621 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3622 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3623 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3624 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3597 { bs3CpuInstr3_pmaxsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3598 { bs3CpuInstr3_pmaxsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3599 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3600 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3601 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3602 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3603 3604 { bs3CpuInstr3_pmaxsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3605 { bs3CpuInstr3_pmaxsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3606 { bs3CpuInstr3_pmaxsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3607 { bs3CpuInstr3_pmaxsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3608 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3609 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3610 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3611 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3612 3613 { bs3CpuInstr3_pmaxsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3614 { bs3CpuInstr3_pmaxsd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3615 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3616 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3617 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3618 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3625 3619 }; 3626 3620 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3627 3621 { 3628 { bs3CpuInstr3_pmaxsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3629 { bs3CpuInstr3_pmaxsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3630 { bs3CpuInstr3_pmaxsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesB), s_aValuesB},3631 { bs3CpuInstr3_pmaxsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3632 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3633 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3634 { bs3CpuInstr3_vpmaxsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},3635 { bs3CpuInstr3_vpmaxsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3636 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3637 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3638 { bs3CpuInstr3_vpmaxsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},3639 { bs3CpuInstr3_vpmaxsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3640 3641 { bs3CpuInstr3_pmaxsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3642 { bs3CpuInstr3_pmaxsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3643 { bs3CpuInstr3_pmaxsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3644 { bs3CpuInstr3_pmaxsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3645 { bs3CpuInstr3_pmaxsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},3646 { bs3CpuInstr3_pmaxsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3647 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3648 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3649 { bs3CpuInstr3_vpmaxsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},3650 { bs3CpuInstr3_vpmaxsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3651 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3652 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3653 { bs3CpuInstr3_vpmaxsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},3654 { bs3CpuInstr3_vpmaxsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3655 3656 { bs3CpuInstr3_pmaxsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3657 { bs3CpuInstr3_pmaxsd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3658 { bs3CpuInstr3_pmaxsd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesD), s_aValuesD},3659 { bs3CpuInstr3_pmaxsd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3660 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3661 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3662 { bs3CpuInstr3_vpmaxsd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},3663 { bs3CpuInstr3_vpmaxsd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3664 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3665 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3666 { bs3CpuInstr3_vpmaxsd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},3667 { bs3CpuInstr3_vpmaxsd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3622 { bs3CpuInstr3_pmaxsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3623 { bs3CpuInstr3_pmaxsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3624 { bs3CpuInstr3_pmaxsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesB) }, 3625 { bs3CpuInstr3_pmaxsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3626 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3627 { bs3CpuInstr3_vpmaxsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3628 { bs3CpuInstr3_vpmaxsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesB) }, 3629 { bs3CpuInstr3_vpmaxsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3630 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3631 { bs3CpuInstr3_vpmaxsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3632 { bs3CpuInstr3_vpmaxsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesB) }, 3633 { bs3CpuInstr3_vpmaxsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3634 3635 { bs3CpuInstr3_pmaxsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3636 { bs3CpuInstr3_pmaxsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3637 { bs3CpuInstr3_pmaxsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3638 { bs3CpuInstr3_pmaxsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3639 { bs3CpuInstr3_pmaxsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 3640 { bs3CpuInstr3_pmaxsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3641 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3642 { bs3CpuInstr3_vpmaxsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3643 { bs3CpuInstr3_vpmaxsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 3644 { bs3CpuInstr3_vpmaxsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3645 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3646 { bs3CpuInstr3_vpmaxsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3647 { bs3CpuInstr3_vpmaxsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 3648 { bs3CpuInstr3_vpmaxsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3649 3650 { bs3CpuInstr3_pmaxsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3651 { bs3CpuInstr3_pmaxsd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3652 { bs3CpuInstr3_pmaxsd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesD) }, 3653 { bs3CpuInstr3_pmaxsd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3654 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3655 { bs3CpuInstr3_vpmaxsd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3656 { bs3CpuInstr3_vpmaxsd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesD) }, 3657 { bs3CpuInstr3_vpmaxsd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3658 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3659 { bs3CpuInstr3_vpmaxsd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3660 { bs3CpuInstr3_vpmaxsd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesD) }, 3661 { bs3CpuInstr3_vpmaxsd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3668 3662 }; 3669 3663 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 3738 3732 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 3739 3733 { 3740 { bs3CpuInstr3_pminub_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3741 { bs3CpuInstr3_pminub_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3742 { bs3CpuInstr3_pminub_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3743 { bs3CpuInstr3_pminub_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3744 { bs3CpuInstr3_vpminub_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3745 { bs3CpuInstr3_vpminub_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3746 { bs3CpuInstr3_vpminub_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3747 { bs3CpuInstr3_vpminub_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3748 3749 { bs3CpuInstr3_pminuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3750 { bs3CpuInstr3_pminuw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3751 { bs3CpuInstr3_vpminuw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3752 { bs3CpuInstr3_vpminuw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3753 { bs3CpuInstr3_vpminuw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3754 { bs3CpuInstr3_vpminuw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3755 3756 { bs3CpuInstr3_pminud_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3757 { bs3CpuInstr3_pminud_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3758 { bs3CpuInstr3_vpminud_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3759 { bs3CpuInstr3_vpminud_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3760 { bs3CpuInstr3_vpminud_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3761 { bs3CpuInstr3_vpminud_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3734 { bs3CpuInstr3_pminub_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3735 { bs3CpuInstr3_pminub_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3736 { bs3CpuInstr3_pminub_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3737 { bs3CpuInstr3_pminub_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3738 { bs3CpuInstr3_vpminub_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3739 { bs3CpuInstr3_vpminub_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3740 { bs3CpuInstr3_vpminub_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3741 { bs3CpuInstr3_vpminub_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3742 3743 { bs3CpuInstr3_pminuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3744 { bs3CpuInstr3_pminuw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3745 { bs3CpuInstr3_vpminuw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3746 { bs3CpuInstr3_vpminuw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3747 { bs3CpuInstr3_vpminuw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3748 { bs3CpuInstr3_vpminuw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3749 3750 { bs3CpuInstr3_pminud_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3751 { bs3CpuInstr3_pminud_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3752 { bs3CpuInstr3_vpminud_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3753 { bs3CpuInstr3_vpminud_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3754 { bs3CpuInstr3_vpminud_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3755 { bs3CpuInstr3_vpminud_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3762 3756 }; 3763 3757 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 3764 3758 { 3765 { bs3CpuInstr3_pminub_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3766 { bs3CpuInstr3_pminub_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3767 { bs3CpuInstr3_pminub_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3768 { bs3CpuInstr3_pminub_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3769 { bs3CpuInstr3_vpminub_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3770 { bs3CpuInstr3_vpminub_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3771 { bs3CpuInstr3_vpminub_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3772 { bs3CpuInstr3_vpminub_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3773 3774 { bs3CpuInstr3_pminuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3775 { bs3CpuInstr3_pminuw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3776 { bs3CpuInstr3_vpminuw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3777 { bs3CpuInstr3_vpminuw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3778 { bs3CpuInstr3_vpminuw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3779 { bs3CpuInstr3_vpminuw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3780 3781 { bs3CpuInstr3_pminud_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3782 { bs3CpuInstr3_pminud_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3783 { bs3CpuInstr3_vpminud_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3784 { bs3CpuInstr3_vpminud_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3785 { bs3CpuInstr3_vpminud_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3786 { bs3CpuInstr3_vpminud_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3759 { bs3CpuInstr3_pminub_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3760 { bs3CpuInstr3_pminub_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3761 { bs3CpuInstr3_pminub_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3762 { bs3CpuInstr3_pminub_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3763 { bs3CpuInstr3_vpminub_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3764 { bs3CpuInstr3_vpminub_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3765 { bs3CpuInstr3_vpminub_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3766 { bs3CpuInstr3_vpminub_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3767 3768 { bs3CpuInstr3_pminuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3769 { bs3CpuInstr3_pminuw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3770 { bs3CpuInstr3_vpminuw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3771 { bs3CpuInstr3_vpminuw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3772 { bs3CpuInstr3_vpminuw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3773 { bs3CpuInstr3_vpminuw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3774 3775 { bs3CpuInstr3_pminud_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3776 { bs3CpuInstr3_pminud_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3777 { bs3CpuInstr3_vpminud_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3778 { bs3CpuInstr3_vpminud_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3779 { bs3CpuInstr3_vpminud_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3780 { bs3CpuInstr3_vpminud_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3787 3781 }; 3788 3782 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3789 3783 { 3790 { bs3CpuInstr3_pminub_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3791 { bs3CpuInstr3_pminub_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3792 { bs3CpuInstr3_pminub_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3793 { bs3CpuInstr3_pminub_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3794 { bs3CpuInstr3_pminub_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesB), s_aValuesB},3795 { bs3CpuInstr3_pminub_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3796 { bs3CpuInstr3_vpminub_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3797 { bs3CpuInstr3_vpminub_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3798 { bs3CpuInstr3_vpminub_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},3799 { bs3CpuInstr3_vpminub_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3800 { bs3CpuInstr3_vpminub_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3801 { bs3CpuInstr3_vpminub_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3802 { bs3CpuInstr3_vpminub_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},3803 { bs3CpuInstr3_vpminub_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3804 3805 { bs3CpuInstr3_pminuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3806 { bs3CpuInstr3_pminuw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3807 { bs3CpuInstr3_pminuw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},3808 { bs3CpuInstr3_pminuw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3809 { bs3CpuInstr3_vpminuw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3810 { bs3CpuInstr3_vpminuw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3811 { bs3CpuInstr3_vpminuw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},3812 { bs3CpuInstr3_vpminuw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3813 { bs3CpuInstr3_vpminuw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3814 { bs3CpuInstr3_vpminuw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3815 { bs3CpuInstr3_vpminuw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},3816 { bs3CpuInstr3_vpminuw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3817 3818 { bs3CpuInstr3_pminud_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3819 { bs3CpuInstr3_pminud_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3820 { bs3CpuInstr3_pminud_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesD), s_aValuesD},3821 { bs3CpuInstr3_pminud_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3822 { bs3CpuInstr3_vpminud_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3823 { bs3CpuInstr3_vpminud_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3824 { bs3CpuInstr3_vpminud_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},3825 { bs3CpuInstr3_vpminud_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3826 { bs3CpuInstr3_vpminud_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3827 { bs3CpuInstr3_vpminud_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3828 { bs3CpuInstr3_vpminud_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},3829 { bs3CpuInstr3_vpminud_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3784 { bs3CpuInstr3_pminub_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3785 { bs3CpuInstr3_pminub_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3786 { bs3CpuInstr3_pminub_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3787 { bs3CpuInstr3_pminub_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3788 { bs3CpuInstr3_pminub_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesB) }, 3789 { bs3CpuInstr3_pminub_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3790 { bs3CpuInstr3_vpminub_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3791 { bs3CpuInstr3_vpminub_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3792 { bs3CpuInstr3_vpminub_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesB) }, 3793 { bs3CpuInstr3_vpminub_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3794 { bs3CpuInstr3_vpminub_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3795 { bs3CpuInstr3_vpminub_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3796 { bs3CpuInstr3_vpminub_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesB) }, 3797 { bs3CpuInstr3_vpminub_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3798 3799 { bs3CpuInstr3_pminuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3800 { bs3CpuInstr3_pminuw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3801 { bs3CpuInstr3_pminuw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 3802 { bs3CpuInstr3_pminuw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3803 { bs3CpuInstr3_vpminuw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3804 { bs3CpuInstr3_vpminuw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3805 { bs3CpuInstr3_vpminuw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 3806 { bs3CpuInstr3_vpminuw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3807 { bs3CpuInstr3_vpminuw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3808 { bs3CpuInstr3_vpminuw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3809 { bs3CpuInstr3_vpminuw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 3810 { bs3CpuInstr3_vpminuw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3811 3812 { bs3CpuInstr3_pminud_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3813 { bs3CpuInstr3_pminud_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3814 { bs3CpuInstr3_pminud_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesD) }, 3815 { bs3CpuInstr3_pminud_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3816 { bs3CpuInstr3_vpminud_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3817 { bs3CpuInstr3_vpminud_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3818 { bs3CpuInstr3_vpminud_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesD) }, 3819 { bs3CpuInstr3_vpminud_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3820 { bs3CpuInstr3_vpminud_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3821 { bs3CpuInstr3_vpminud_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3822 { bs3CpuInstr3_vpminud_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesD) }, 3823 { bs3CpuInstr3_vpminud_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3830 3824 }; 3831 3825 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 3900 3894 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 3901 3895 { 3902 { bs3CpuInstr3_pminsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3903 { bs3CpuInstr3_pminsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3904 { bs3CpuInstr3_vpminsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3905 { bs3CpuInstr3_vpminsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3906 { bs3CpuInstr3_vpminsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3907 { bs3CpuInstr3_vpminsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3908 3909 { bs3CpuInstr3_pminsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3910 { bs3CpuInstr3_pminsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3911 { bs3CpuInstr3_pminsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3912 { bs3CpuInstr3_pminsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3913 { bs3CpuInstr3_vpminsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3914 { bs3CpuInstr3_vpminsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3915 { bs3CpuInstr3_vpminsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3916 { bs3CpuInstr3_vpminsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3917 3918 { bs3CpuInstr3_pminsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3919 { bs3CpuInstr3_pminsd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3920 { bs3CpuInstr3_vpminsd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3921 { bs3CpuInstr3_vpminsd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3922 { bs3CpuInstr3_vpminsd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3923 { bs3CpuInstr3_vpminsd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3896 { bs3CpuInstr3_pminsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3897 { bs3CpuInstr3_pminsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3898 { bs3CpuInstr3_vpminsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3899 { bs3CpuInstr3_vpminsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3900 { bs3CpuInstr3_vpminsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3901 { bs3CpuInstr3_vpminsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3902 3903 { bs3CpuInstr3_pminsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3904 { bs3CpuInstr3_pminsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3905 { bs3CpuInstr3_pminsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3906 { bs3CpuInstr3_pminsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3907 { bs3CpuInstr3_vpminsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3908 { bs3CpuInstr3_vpminsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3909 { bs3CpuInstr3_vpminsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3910 { bs3CpuInstr3_vpminsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3911 3912 { bs3CpuInstr3_pminsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3913 { bs3CpuInstr3_pminsd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3914 { bs3CpuInstr3_vpminsd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3915 { bs3CpuInstr3_vpminsd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3916 { bs3CpuInstr3_vpminsd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3917 { bs3CpuInstr3_vpminsd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3924 3918 }; 3925 3919 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 3926 3920 { 3927 { bs3CpuInstr3_pminsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3928 { bs3CpuInstr3_pminsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3929 { bs3CpuInstr3_vpminsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3930 { bs3CpuInstr3_vpminsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3931 { bs3CpuInstr3_vpminsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3932 { bs3CpuInstr3_vpminsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3933 3934 { bs3CpuInstr3_pminsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3935 { bs3CpuInstr3_pminsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3936 { bs3CpuInstr3_pminsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3937 { bs3CpuInstr3_pminsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3938 { bs3CpuInstr3_vpminsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3939 { bs3CpuInstr3_vpminsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3940 { bs3CpuInstr3_vpminsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3941 { bs3CpuInstr3_vpminsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3942 3943 { bs3CpuInstr3_pminsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3944 { bs3CpuInstr3_pminsd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3945 { bs3CpuInstr3_vpminsd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3946 { bs3CpuInstr3_vpminsd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3947 { bs3CpuInstr3_vpminsd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3948 { bs3CpuInstr3_vpminsd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3921 { bs3CpuInstr3_pminsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3922 { bs3CpuInstr3_pminsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3923 { bs3CpuInstr3_vpminsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3924 { bs3CpuInstr3_vpminsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3925 { bs3CpuInstr3_vpminsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3926 { bs3CpuInstr3_vpminsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3927 3928 { bs3CpuInstr3_pminsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3929 { bs3CpuInstr3_pminsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3930 { bs3CpuInstr3_pminsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3931 { bs3CpuInstr3_pminsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3932 { bs3CpuInstr3_vpminsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3933 { bs3CpuInstr3_vpminsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3934 { bs3CpuInstr3_vpminsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3935 { bs3CpuInstr3_vpminsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3936 3937 { bs3CpuInstr3_pminsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3938 { bs3CpuInstr3_pminsd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3939 { bs3CpuInstr3_vpminsd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3940 { bs3CpuInstr3_vpminsd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3941 { bs3CpuInstr3_vpminsd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3942 { bs3CpuInstr3_vpminsd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3949 3943 }; 3950 3944 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 3951 3945 { 3952 { bs3CpuInstr3_pminsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},3953 { bs3CpuInstr3_pminsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3954 { bs3CpuInstr3_pminsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesB), s_aValuesB},3955 { bs3CpuInstr3_pminsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3956 { bs3CpuInstr3_vpminsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3957 { bs3CpuInstr3_vpminsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3958 { bs3CpuInstr3_vpminsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},3959 { bs3CpuInstr3_vpminsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3960 { bs3CpuInstr3_vpminsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},3961 { bs3CpuInstr3_vpminsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3962 { bs3CpuInstr3_vpminsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},3963 { bs3CpuInstr3_vpminsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},3964 3965 { bs3CpuInstr3_pminsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3966 { bs3CpuInstr3_pminsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB64), s_aValuesB64},3967 { bs3CpuInstr3_pminsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},3968 { bs3CpuInstr3_pminsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3969 { bs3CpuInstr3_pminsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},3970 { bs3CpuInstr3_pminsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3971 { bs3CpuInstr3_vpminsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3972 { bs3CpuInstr3_vpminsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3973 { bs3CpuInstr3_vpminsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},3974 { bs3CpuInstr3_vpminsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3975 { bs3CpuInstr3_vpminsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},3976 { bs3CpuInstr3_vpminsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3977 { bs3CpuInstr3_vpminsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},3978 { bs3CpuInstr3_vpminsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},3979 3980 { bs3CpuInstr3_pminsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},3981 { bs3CpuInstr3_pminsd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3982 { bs3CpuInstr3_pminsd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesD), s_aValuesD},3983 { bs3CpuInstr3_pminsd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3984 { bs3CpuInstr3_vpminsd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3985 { bs3CpuInstr3_vpminsd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3986 { bs3CpuInstr3_vpminsd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},3987 { bs3CpuInstr3_vpminsd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3988 { bs3CpuInstr3_vpminsd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},3989 { bs3CpuInstr3_vpminsd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3990 { bs3CpuInstr3_vpminsd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},3991 { bs3CpuInstr3_vpminsd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},3946 { bs3CpuInstr3_pminsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 3947 { bs3CpuInstr3_pminsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3948 { bs3CpuInstr3_pminsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesB) }, 3949 { bs3CpuInstr3_pminsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3950 { bs3CpuInstr3_vpminsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 3951 { bs3CpuInstr3_vpminsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3952 { bs3CpuInstr3_vpminsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesB) }, 3953 { bs3CpuInstr3_vpminsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3954 { bs3CpuInstr3_vpminsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 3955 { bs3CpuInstr3_vpminsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3956 { bs3CpuInstr3_vpminsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesB) }, 3957 { bs3CpuInstr3_vpminsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 3958 3959 { bs3CpuInstr3_pminsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB64) }, 3960 { bs3CpuInstr3_pminsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB64) }, 3961 { bs3CpuInstr3_pminsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 3962 { bs3CpuInstr3_pminsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3963 { bs3CpuInstr3_pminsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 3964 { bs3CpuInstr3_pminsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3965 { bs3CpuInstr3_vpminsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 3966 { bs3CpuInstr3_vpminsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3967 { bs3CpuInstr3_vpminsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 3968 { bs3CpuInstr3_vpminsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3969 { bs3CpuInstr3_vpminsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 3970 { bs3CpuInstr3_vpminsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3971 { bs3CpuInstr3_vpminsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 3972 { bs3CpuInstr3_vpminsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 3973 3974 { bs3CpuInstr3_pminsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 3975 { bs3CpuInstr3_pminsd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3976 { bs3CpuInstr3_pminsd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesD) }, 3977 { bs3CpuInstr3_pminsd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3978 { bs3CpuInstr3_vpminsd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 3979 { bs3CpuInstr3_vpminsd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3980 { bs3CpuInstr3_vpminsd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesD) }, 3981 { bs3CpuInstr3_vpminsd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3982 { bs3CpuInstr3_vpminsd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 3983 { bs3CpuInstr3_vpminsd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3984 { bs3CpuInstr3_vpminsd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesD) }, 3985 { bs3CpuInstr3_vpminsd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 3992 3986 }; 3993 3987 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4036 4030 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4037 4031 { 4038 { bs3CpuInstr3_movss_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4039 { bs3CpuInstr3_movss_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM32, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4040 { bs3CpuInstr3_movss_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM32, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4041 4042 { bs3CpuInstr3_vmovss_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4043 { bs3CpuInstr3_vmovss_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4044 { bs3CpuInstr3_vmovss_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4032 { bs3CpuInstr3_movss_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4033 { bs3CpuInstr3_movss_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM32, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4034 { bs3CpuInstr3_movss_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM32, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4035 4036 { bs3CpuInstr3_vmovss_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4037 { bs3CpuInstr3_vmovss_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4038 { bs3CpuInstr3_vmovss_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4045 4039 }; 4046 4040 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4047 4041 { 4048 { bs3CpuInstr3_movss_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4049 { bs3CpuInstr3_movss_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM32, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4050 { bs3CpuInstr3_movss_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM32, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4051 4052 { bs3CpuInstr3_vmovss_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4053 { bs3CpuInstr3_vmovss_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4054 { bs3CpuInstr3_vmovss_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4042 { bs3CpuInstr3_movss_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4043 { bs3CpuInstr3_movss_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM32, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4044 { bs3CpuInstr3_movss_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM32, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4045 4046 { bs3CpuInstr3_vmovss_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4047 { bs3CpuInstr3_vmovss_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4048 { bs3CpuInstr3_vmovss_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4055 4049 }; 4056 4050 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4057 4051 { 4058 { bs3CpuInstr3_movss_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4059 { bs3CpuInstr3_movss_XMM11_XMM8_icebp_c64, 255, RM_REG, T_SSE, 11, 11, 8, RT_ELEMENTS(s_aValuesR), s_aValuesR},4060 { bs3CpuInstr3_movss_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4061 { bs3CpuInstr3_movss_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4062 { bs3CpuInstr3_movss_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4063 { bs3CpuInstr3_movss_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE, 255, 128, 11, RT_ELEMENTS(s_aValuesM), s_aValuesM},4064 4065 { bs3CpuInstr3_vmovss_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4066 { bs3CpuInstr3_vmovss_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 9, 9, 10, RT_ELEMENTS(s_aValuesR), s_aValuesR},4067 { bs3CpuInstr3_vmovss_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4068 { bs3CpuInstr3_vmovss_XMM10_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 10, 10, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4069 { bs3CpuInstr3_vmovss_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4070 { bs3CpuInstr3_vmovss_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 255, 128, 9, RT_ELEMENTS(s_aValuesM), s_aValuesM},4052 { bs3CpuInstr3_movss_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4053 { bs3CpuInstr3_movss_XMM11_XMM8_icebp_c64, 255, RM_REG, T_SSE, XMM11, XMM11, XMM8, PASS_ELEMENTS(s_aValuesR) }, 4054 { bs3CpuInstr3_movss_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4055 { bs3CpuInstr3_movss_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4056 { bs3CpuInstr3_movss_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4057 { bs3CpuInstr3_movss_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE, FSxBX, NOREG, XMM11, PASS_ELEMENTS(s_aValuesM) }, 4058 4059 { bs3CpuInstr3_vmovss_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4060 { bs3CpuInstr3_vmovss_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM9, XMM10, PASS_ELEMENTS(s_aValuesR) }, 4061 { bs3CpuInstr3_vmovss_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4062 { bs3CpuInstr3_vmovss_XMM10_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM10, XMM10, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4063 { bs3CpuInstr3_vmovss_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4064 { bs3CpuInstr3_vmovss_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, FSxBX, NOREG, XMM9, PASS_ELEMENTS(s_aValuesM) }, 4071 4065 }; 4072 4066 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4115 4109 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4116 4110 { 4117 { bs3CpuInstr3_movsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4118 { bs3CpuInstr3_movsd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4119 { bs3CpuInstr3_movsd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4120 4121 { bs3CpuInstr3_vmovsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4122 { bs3CpuInstr3_vmovsd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4123 { bs3CpuInstr3_vmovsd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4111 { bs3CpuInstr3_movsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4112 { bs3CpuInstr3_movsd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4113 { bs3CpuInstr3_movsd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4114 4115 { bs3CpuInstr3_vmovsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4116 { bs3CpuInstr3_vmovsd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4117 { bs3CpuInstr3_vmovsd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4124 4118 }; 4125 4119 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4126 4120 { 4127 { bs3CpuInstr3_movsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4128 { bs3CpuInstr3_movsd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4129 { bs3CpuInstr3_movsd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4130 4131 { bs3CpuInstr3_vmovsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4132 { bs3CpuInstr3_vmovsd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4133 { bs3CpuInstr3_vmovsd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4121 { bs3CpuInstr3_movsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4122 { bs3CpuInstr3_movsd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4123 { bs3CpuInstr3_movsd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4124 4125 { bs3CpuInstr3_vmovsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4126 { bs3CpuInstr3_vmovsd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4127 { bs3CpuInstr3_vmovsd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4134 4128 }; 4135 4129 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4136 4130 { 4137 { bs3CpuInstr3_movsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4138 { bs3CpuInstr3_movsd_XMM11_XMM8_icebp_c64, 255, RM_REG, T_SSE, 11, 11, 8, RT_ELEMENTS(s_aValuesR), s_aValuesR},4139 { bs3CpuInstr3_movsd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4140 { bs3CpuInstr3_movsd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4141 { bs3CpuInstr3_movsd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4142 { bs3CpuInstr3_movsd_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 11, RT_ELEMENTS(s_aValuesM), s_aValuesM},4143 4144 { bs3CpuInstr3_vmovsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, RT_ELEMENTS(s_aValuesR), s_aValuesR},4145 { bs3CpuInstr3_vmovsd_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 9, 9, 10, RT_ELEMENTS(s_aValuesR), s_aValuesR},4146 { bs3CpuInstr3_vmovsd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 1, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4147 { bs3CpuInstr3_vmovsd_XMM10_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 10, 10, 255, RT_ELEMENTS(s_aValuesM), s_aValuesM},4148 { bs3CpuInstr3_vmovsd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesM), s_aValuesM},4149 { bs3CpuInstr3_vmovsd_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 9, RT_ELEMENTS(s_aValuesM), s_aValuesM},4131 { bs3CpuInstr3_movsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4132 { bs3CpuInstr3_movsd_XMM11_XMM8_icebp_c64, 255, RM_REG, T_SSE, XMM11, XMM11, XMM8, PASS_ELEMENTS(s_aValuesR) }, 4133 { bs3CpuInstr3_movsd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4134 { bs3CpuInstr3_movsd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4135 { bs3CpuInstr3_movsd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4136 { bs3CpuInstr3_movsd_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM11, PASS_ELEMENTS(s_aValuesM) }, 4137 4138 { bs3CpuInstr3_vmovsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesR) }, 4139 { bs3CpuInstr3_vmovsd_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM9, XMM10, PASS_ELEMENTS(s_aValuesR) }, 4140 { bs3CpuInstr3_vmovsd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4141 { bs3CpuInstr3_vmovsd_XMM10_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM10, XMM10, FSxBX, PASS_ELEMENTS(s_aValuesM) }, 4142 { bs3CpuInstr3_vmovsd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesM) }, 4143 { bs3CpuInstr3_vmovsd_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM9, PASS_ELEMENTS(s_aValuesM) }, 4150 4144 }; 4151 4145 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4198 4192 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4199 4193 { 4200 { bs3CpuInstr3_movlps_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4201 { bs3CpuInstr3_movlps_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4202 { bs3CpuInstr3_movlpd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4203 { bs3CpuInstr3_movlpd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4204 4205 { bs3CpuInstr3_vmovlps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4206 { bs3CpuInstr3_vmovlps_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4207 { bs3CpuInstr3_vmovlpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4208 { bs3CpuInstr3_vmovlpd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4194 { bs3CpuInstr3_movlps_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4195 { bs3CpuInstr3_movlps_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4196 { bs3CpuInstr3_movlpd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4197 { bs3CpuInstr3_movlpd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4198 4199 { bs3CpuInstr3_vmovlps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4200 { bs3CpuInstr3_vmovlps_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4201 { bs3CpuInstr3_vmovlpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4202 { bs3CpuInstr3_vmovlpd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4209 4203 }; 4210 4204 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4211 4205 { 4212 { bs3CpuInstr3_movlps_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4213 { bs3CpuInstr3_movlps_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4214 { bs3CpuInstr3_movlpd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4215 { bs3CpuInstr3_movlpd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4216 4217 { bs3CpuInstr3_vmovlps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4218 { bs3CpuInstr3_vmovlps_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4219 { bs3CpuInstr3_vmovlpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4220 { bs3CpuInstr3_vmovlpd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4206 { bs3CpuInstr3_movlps_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4207 { bs3CpuInstr3_movlps_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4208 { bs3CpuInstr3_movlpd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4209 { bs3CpuInstr3_movlpd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4210 4211 { bs3CpuInstr3_vmovlps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4212 { bs3CpuInstr3_vmovlps_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4213 { bs3CpuInstr3_vmovlpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4214 { bs3CpuInstr3_vmovlpd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4221 4215 }; 4222 4216 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4223 4217 { 4224 { bs3CpuInstr3_movlps_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4225 { bs3CpuInstr3_movlps_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4226 { bs3CpuInstr3_movlps_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4227 { bs3CpuInstr3_movlps_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 11, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4228 { bs3CpuInstr3_movlpd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4229 { bs3CpuInstr3_movlpd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4230 { bs3CpuInstr3_movlpd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4231 { bs3CpuInstr3_movlpd_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 11, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4232 4233 { bs3CpuInstr3_vmovlps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4234 { bs3CpuInstr3_vmovlps_XMM10_XMM14_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 10, 14, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4235 { bs3CpuInstr3_vmovlps_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4236 { bs3CpuInstr3_vmovlps_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 9, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4237 { bs3CpuInstr3_vmovlpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4238 { bs3CpuInstr3_vmovlpd_XMM10_XMM14_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 10, 14, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4239 { bs3CpuInstr3_vmovlpd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4240 { bs3CpuInstr3_vmovlpd_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 9, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4218 { bs3CpuInstr3_movlps_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4219 { bs3CpuInstr3_movlps_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4220 { bs3CpuInstr3_movlps_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4221 { bs3CpuInstr3_movlps_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM11, PASS_ELEMENTS(s_aValuesSt) }, 4222 { bs3CpuInstr3_movlpd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4223 { bs3CpuInstr3_movlpd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4224 { bs3CpuInstr3_movlpd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4225 { bs3CpuInstr3_movlpd_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM11, PASS_ELEMENTS(s_aValuesSt) }, 4226 4227 { bs3CpuInstr3_vmovlps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4228 { bs3CpuInstr3_vmovlps_XMM10_XMM14_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM10, XMM14, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4229 { bs3CpuInstr3_vmovlps_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4230 { bs3CpuInstr3_vmovlps_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM9, PASS_ELEMENTS(s_aValuesSt) }, 4231 { bs3CpuInstr3_vmovlpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4232 { bs3CpuInstr3_vmovlpd_XMM10_XMM14_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM10, XMM14, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4233 { bs3CpuInstr3_vmovlpd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4234 { bs3CpuInstr3_vmovlpd_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM9, PASS_ELEMENTS(s_aValuesSt) }, 4241 4235 }; 4242 4236 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4289 4283 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4290 4284 { 4291 { bs3CpuInstr3_movhps_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4292 { bs3CpuInstr3_movhps_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4293 { bs3CpuInstr3_movhpd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4294 { bs3CpuInstr3_movhpd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4295 4296 { bs3CpuInstr3_vmovhps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4297 { bs3CpuInstr3_vmovhps_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4298 { bs3CpuInstr3_vmovhpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4299 { bs3CpuInstr3_vmovhpd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4285 { bs3CpuInstr3_movhps_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4286 { bs3CpuInstr3_movhps_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4287 { bs3CpuInstr3_movhpd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4288 { bs3CpuInstr3_movhpd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4289 4290 { bs3CpuInstr3_vmovhps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4291 { bs3CpuInstr3_vmovhps_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4292 { bs3CpuInstr3_vmovhpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4293 { bs3CpuInstr3_vmovhpd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4300 4294 }; 4301 4295 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4302 4296 { 4303 { bs3CpuInstr3_movhps_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4304 { bs3CpuInstr3_movhps_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4305 { bs3CpuInstr3_movhpd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4306 { bs3CpuInstr3_movhpd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4307 4308 { bs3CpuInstr3_vmovhps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4309 { bs3CpuInstr3_vmovhps_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4310 { bs3CpuInstr3_vmovhpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4311 { bs3CpuInstr3_vmovhpd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4297 { bs3CpuInstr3_movhps_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4298 { bs3CpuInstr3_movhps_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4299 { bs3CpuInstr3_movhpd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4300 { bs3CpuInstr3_movhpd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4301 4302 { bs3CpuInstr3_vmovhps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4303 { bs3CpuInstr3_vmovhps_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4304 { bs3CpuInstr3_vmovhpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4305 { bs3CpuInstr3_vmovhpd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4312 4306 }; 4313 4307 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4314 4308 { 4315 { bs3CpuInstr3_movhps_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4316 { bs3CpuInstr3_movhps_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4317 { bs3CpuInstr3_movhps_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4318 { bs3CpuInstr3_movhps_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 11, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4319 { bs3CpuInstr3_movhpd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4320 { bs3CpuInstr3_movhpd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4321 { bs3CpuInstr3_movhpd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4322 { bs3CpuInstr3_movhpd_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, 255, 128, 11, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4323 4324 { bs3CpuInstr3_vmovhps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4325 { bs3CpuInstr3_vmovhps_XMM10_XMM14_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 10, 14, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4326 { bs3CpuInstr3_vmovhps_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4327 { bs3CpuInstr3_vmovhps_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 9, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4328 { bs3CpuInstr3_vmovhpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4329 { bs3CpuInstr3_vmovhpd_XMM10_XMM14_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 10, 14, 255, RT_ELEMENTS(s_aValuesLd), s_aValuesLd},4330 { bs3CpuInstr3_vmovhpd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 1, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4331 { bs3CpuInstr3_vmovhpd_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 255, 128, 9, RT_ELEMENTS(s_aValuesSt), s_aValuesSt},4309 { bs3CpuInstr3_movhps_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4310 { bs3CpuInstr3_movhps_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4311 { bs3CpuInstr3_movhps_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4312 { bs3CpuInstr3_movhps_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM11, PASS_ELEMENTS(s_aValuesSt) }, 4313 { bs3CpuInstr3_movhpd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4314 { bs3CpuInstr3_movhpd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4315 { bs3CpuInstr3_movhpd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4316 { bs3CpuInstr3_movhpd_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE, FSxBX, NOREG, XMM11, PASS_ELEMENTS(s_aValuesSt) }, 4317 4318 { bs3CpuInstr3_vmovhps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4319 { bs3CpuInstr3_vmovhps_XMM10_XMM14_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM10, XMM14, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4320 { bs3CpuInstr3_vmovhps_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4321 { bs3CpuInstr3_vmovhps_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM9, PASS_ELEMENTS(s_aValuesSt) }, 4322 { bs3CpuInstr3_vmovhpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4323 { bs3CpuInstr3_vmovhpd_XMM10_XMM14_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, XMM10, XMM14, FSxBX, PASS_ELEMENTS(s_aValuesLd) }, 4324 { bs3CpuInstr3_vmovhpd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM1, PASS_ELEMENTS(s_aValuesSt) }, 4325 { bs3CpuInstr3_vmovhpd_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, FSxBX, NOREG, XMM9, PASS_ELEMENTS(s_aValuesSt) }, 4332 4326 }; 4333 4327 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4363 4357 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4364 4358 { 4365 { bs3CpuInstr3_movhlps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},4366 { bs3CpuInstr3_vmovhlps_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},4359 { bs3CpuInstr3_movhlps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 4360 { bs3CpuInstr3_vmovhlps_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 4367 4361 }; 4368 4362 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4369 4363 { 4370 { bs3CpuInstr3_movhlps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},4371 { bs3CpuInstr3_vmovhlps_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},4364 { bs3CpuInstr3_movhlps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 4365 { bs3CpuInstr3_vmovhlps_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 4372 4366 }; 4373 4367 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4374 4368 { 4375 { bs3CpuInstr3_movhlps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},4376 { bs3CpuInstr3_movhlps_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 12, RT_ELEMENTS(s_aValues), s_aValues},4377 { bs3CpuInstr3_vmovhlps_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},4378 { bs3CpuInstr3_vmovhlps_XMM10_XMM14_XMM12_icebp_c64, 255, RM_REG, T_AVX_128, 10, 14, 12, RT_ELEMENTS(s_aValues), s_aValues},4369 { bs3CpuInstr3_movhlps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 4370 { bs3CpuInstr3_movhlps_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM8, XMM12, PASS_ELEMENTS(s_aValues) }, 4371 { bs3CpuInstr3_vmovhlps_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 4372 { bs3CpuInstr3_vmovhlps_XMM10_XMM14_XMM12_icebp_c64, 255, RM_REG, T_AVX_128, XMM10, XMM14, XMM12, PASS_ELEMENTS(s_aValues) }, 4379 4373 }; 4380 4374 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4418 4412 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4419 4413 { 4420 { bs3CpuInstr3_pavgb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4421 { bs3CpuInstr3_pavgb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4422 { bs3CpuInstr3_pavgb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4423 { bs3CpuInstr3_pavgb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4424 { bs3CpuInstr3_vpavgb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4425 { bs3CpuInstr3_vpavgb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4426 { bs3CpuInstr3_vpavgb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4427 { bs3CpuInstr3_vpavgb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4428 4429 { bs3CpuInstr3_pavgw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4430 { bs3CpuInstr3_pavgw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4431 { bs3CpuInstr3_pavgw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4432 { bs3CpuInstr3_pavgw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4433 { bs3CpuInstr3_vpavgw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4434 { bs3CpuInstr3_vpavgw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4435 { bs3CpuInstr3_vpavgw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4436 { bs3CpuInstr3_vpavgw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4414 { bs3CpuInstr3_pavgb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 4415 { bs3CpuInstr3_pavgb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4416 { bs3CpuInstr3_pavgb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 4417 { bs3CpuInstr3_pavgb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4418 { bs3CpuInstr3_vpavgb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 4419 { bs3CpuInstr3_vpavgb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4420 { bs3CpuInstr3_vpavgb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 4421 { bs3CpuInstr3_vpavgb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4422 4423 { bs3CpuInstr3_pavgw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 4424 { bs3CpuInstr3_pavgw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4425 { bs3CpuInstr3_pavgw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 4426 { bs3CpuInstr3_pavgw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4427 { bs3CpuInstr3_vpavgw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 4428 { bs3CpuInstr3_vpavgw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4429 { bs3CpuInstr3_vpavgw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 4430 { bs3CpuInstr3_vpavgw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4437 4431 }; 4438 4432 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4439 4433 { 4440 { bs3CpuInstr3_pavgb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4441 { bs3CpuInstr3_pavgb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4442 { bs3CpuInstr3_pavgb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4443 { bs3CpuInstr3_pavgb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4444 { bs3CpuInstr3_vpavgb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4445 { bs3CpuInstr3_vpavgb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4446 { bs3CpuInstr3_vpavgb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4447 { bs3CpuInstr3_vpavgb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4448 4449 { bs3CpuInstr3_pavgw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4450 { bs3CpuInstr3_pavgw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4451 { bs3CpuInstr3_pavgw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4452 { bs3CpuInstr3_pavgw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4453 { bs3CpuInstr3_vpavgw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4454 { bs3CpuInstr3_vpavgw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4455 { bs3CpuInstr3_vpavgw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4456 { bs3CpuInstr3_vpavgw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4434 { bs3CpuInstr3_pavgb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 4435 { bs3CpuInstr3_pavgb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4436 { bs3CpuInstr3_pavgb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 4437 { bs3CpuInstr3_pavgb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4438 { bs3CpuInstr3_vpavgb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 4439 { bs3CpuInstr3_vpavgb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4440 { bs3CpuInstr3_vpavgb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 4441 { bs3CpuInstr3_vpavgb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4442 4443 { bs3CpuInstr3_pavgw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 4444 { bs3CpuInstr3_pavgw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4445 { bs3CpuInstr3_pavgw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 4446 { bs3CpuInstr3_pavgw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4447 { bs3CpuInstr3_vpavgw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 4448 { bs3CpuInstr3_vpavgw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4449 { bs3CpuInstr3_vpavgw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 4450 { bs3CpuInstr3_vpavgw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4457 4451 }; 4458 4452 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4459 4453 { 4460 { bs3CpuInstr3_pavgb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4461 { bs3CpuInstr3_pavgb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4462 { bs3CpuInstr3_pavgb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4463 { bs3CpuInstr3_pavgb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4464 { bs3CpuInstr3_pavgb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesB), s_aValuesB},4465 { bs3CpuInstr3_pavgb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4466 { bs3CpuInstr3_vpavgb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4467 { bs3CpuInstr3_vpavgb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4468 { bs3CpuInstr3_vpavgb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},4469 { bs3CpuInstr3_vpavgb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4470 { bs3CpuInstr3_vpavgb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4471 { bs3CpuInstr3_vpavgb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4472 { bs3CpuInstr3_vpavgb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},4473 { bs3CpuInstr3_vpavgb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4474 4475 { bs3CpuInstr3_pavgw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4476 { bs3CpuInstr3_pavgw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4477 { bs3CpuInstr3_pavgw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4478 { bs3CpuInstr3_pavgw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4479 { bs3CpuInstr3_pavgw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},4480 { bs3CpuInstr3_pavgw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4481 { bs3CpuInstr3_vpavgw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4482 { bs3CpuInstr3_vpavgw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4483 { bs3CpuInstr3_vpavgw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},4484 { bs3CpuInstr3_vpavgw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4485 { bs3CpuInstr3_vpavgw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4486 { bs3CpuInstr3_vpavgw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4487 { bs3CpuInstr3_vpavgw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},4488 { bs3CpuInstr3_vpavgw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4454 { bs3CpuInstr3_pavgb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 4455 { bs3CpuInstr3_pavgb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4456 { bs3CpuInstr3_pavgb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 4457 { bs3CpuInstr3_pavgb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4458 { bs3CpuInstr3_pavgb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesB) }, 4459 { bs3CpuInstr3_pavgb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4460 { bs3CpuInstr3_vpavgb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 4461 { bs3CpuInstr3_vpavgb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4462 { bs3CpuInstr3_vpavgb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesB) }, 4463 { bs3CpuInstr3_vpavgb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4464 { bs3CpuInstr3_vpavgb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 4465 { bs3CpuInstr3_vpavgb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4466 { bs3CpuInstr3_vpavgb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesB) }, 4467 { bs3CpuInstr3_vpavgb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4468 4469 { bs3CpuInstr3_pavgw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 4470 { bs3CpuInstr3_pavgw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4471 { bs3CpuInstr3_pavgw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 4472 { bs3CpuInstr3_pavgw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4473 { bs3CpuInstr3_pavgw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 4474 { bs3CpuInstr3_pavgw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4475 { bs3CpuInstr3_vpavgw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 4476 { bs3CpuInstr3_vpavgw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4477 { bs3CpuInstr3_vpavgw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 4478 { bs3CpuInstr3_vpavgw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4479 { bs3CpuInstr3_vpavgw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 4480 { bs3CpuInstr3_vpavgw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4481 { bs3CpuInstr3_vpavgw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 4482 { bs3CpuInstr3_vpavgw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4489 4483 }; 4490 4484 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4541 4535 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4542 4536 { 4543 { bs3CpuInstr3_psignb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4544 { bs3CpuInstr3_psignb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4545 { bs3CpuInstr3_psignb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4546 { bs3CpuInstr3_psignb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4547 { bs3CpuInstr3_vpsignb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4548 { bs3CpuInstr3_vpsignb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4549 { bs3CpuInstr3_vpsignb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4550 { bs3CpuInstr3_vpsignb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4551 4552 { bs3CpuInstr3_psignw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4553 { bs3CpuInstr3_psignw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4554 { bs3CpuInstr3_psignw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4555 { bs3CpuInstr3_psignw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4556 { bs3CpuInstr3_vpsignw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4557 { bs3CpuInstr3_vpsignw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4558 { bs3CpuInstr3_vpsignw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4559 { bs3CpuInstr3_vpsignw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4560 4561 { bs3CpuInstr3_psignd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},4562 { bs3CpuInstr3_psignd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4563 { bs3CpuInstr3_psignd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},4564 { bs3CpuInstr3_psignd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4565 { bs3CpuInstr3_vpsignd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},4566 { bs3CpuInstr3_vpsignd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4567 { bs3CpuInstr3_vpsignd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},4568 { bs3CpuInstr3_vpsignd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4537 { bs3CpuInstr3_psignb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 4538 { bs3CpuInstr3_psignb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4539 { bs3CpuInstr3_psignb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 4540 { bs3CpuInstr3_psignb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4541 { bs3CpuInstr3_vpsignb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 4542 { bs3CpuInstr3_vpsignb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4543 { bs3CpuInstr3_vpsignb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 4544 { bs3CpuInstr3_vpsignb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4545 4546 { bs3CpuInstr3_psignw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 4547 { bs3CpuInstr3_psignw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4548 { bs3CpuInstr3_psignw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 4549 { bs3CpuInstr3_psignw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4550 { bs3CpuInstr3_vpsignw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 4551 { bs3CpuInstr3_vpsignw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4552 { bs3CpuInstr3_vpsignw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 4553 { bs3CpuInstr3_vpsignw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4554 4555 { bs3CpuInstr3_psignd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 4556 { bs3CpuInstr3_psignd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4557 { bs3CpuInstr3_psignd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 4558 { bs3CpuInstr3_psignd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4559 { bs3CpuInstr3_vpsignd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 4560 { bs3CpuInstr3_vpsignd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4561 { bs3CpuInstr3_vpsignd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 4562 { bs3CpuInstr3_vpsignd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4569 4563 }; 4570 4564 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4571 4565 { 4572 { bs3CpuInstr3_psignb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4573 { bs3CpuInstr3_psignb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4574 { bs3CpuInstr3_psignb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4575 { bs3CpuInstr3_psignb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4576 { bs3CpuInstr3_vpsignb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4577 { bs3CpuInstr3_vpsignb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4578 { bs3CpuInstr3_vpsignb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4579 { bs3CpuInstr3_vpsignb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4580 4581 { bs3CpuInstr3_psignw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4582 { bs3CpuInstr3_psignw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4583 { bs3CpuInstr3_psignw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4584 { bs3CpuInstr3_psignw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4585 { bs3CpuInstr3_vpsignw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4586 { bs3CpuInstr3_vpsignw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4587 { bs3CpuInstr3_vpsignw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4588 { bs3CpuInstr3_vpsignw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4589 4590 { bs3CpuInstr3_psignd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},4591 { bs3CpuInstr3_psignd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4592 { bs3CpuInstr3_psignd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},4593 { bs3CpuInstr3_psignd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4594 { bs3CpuInstr3_vpsignd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},4595 { bs3CpuInstr3_vpsignd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4596 { bs3CpuInstr3_vpsignd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},4597 { bs3CpuInstr3_vpsignd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4566 { bs3CpuInstr3_psignb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 4567 { bs3CpuInstr3_psignb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4568 { bs3CpuInstr3_psignb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 4569 { bs3CpuInstr3_psignb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4570 { bs3CpuInstr3_vpsignb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 4571 { bs3CpuInstr3_vpsignb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4572 { bs3CpuInstr3_vpsignb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 4573 { bs3CpuInstr3_vpsignb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4574 4575 { bs3CpuInstr3_psignw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 4576 { bs3CpuInstr3_psignw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4577 { bs3CpuInstr3_psignw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 4578 { bs3CpuInstr3_psignw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4579 { bs3CpuInstr3_vpsignw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 4580 { bs3CpuInstr3_vpsignw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4581 { bs3CpuInstr3_vpsignw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 4582 { bs3CpuInstr3_vpsignw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4583 4584 { bs3CpuInstr3_psignd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 4585 { bs3CpuInstr3_psignd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4586 { bs3CpuInstr3_psignd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 4587 { bs3CpuInstr3_psignd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4588 { bs3CpuInstr3_vpsignd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 4589 { bs3CpuInstr3_vpsignd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4590 { bs3CpuInstr3_vpsignd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 4591 { bs3CpuInstr3_vpsignd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4598 4592 }; 4599 4593 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4600 4594 { 4601 { bs3CpuInstr3_psignb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4602 { bs3CpuInstr3_psignb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4603 { bs3CpuInstr3_psignb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesB), s_aValuesB},4604 { bs3CpuInstr3_psignb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4605 { bs3CpuInstr3_psignb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesB), s_aValuesB},4606 { bs3CpuInstr3_psignb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4607 { bs3CpuInstr3_vpsignb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4608 { bs3CpuInstr3_vpsignb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4609 { bs3CpuInstr3_vpsignb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},4610 { bs3CpuInstr3_vpsignb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4611 { bs3CpuInstr3_vpsignb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesB), s_aValuesB},4612 { bs3CpuInstr3_vpsignb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4613 { bs3CpuInstr3_vpsignb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesB), s_aValuesB},4614 { bs3CpuInstr3_vpsignb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesB), s_aValuesB},4615 4616 { bs3CpuInstr3_psignw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4617 { bs3CpuInstr3_psignw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4618 { bs3CpuInstr3_psignw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesW), s_aValuesW},4619 { bs3CpuInstr3_psignw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4620 { bs3CpuInstr3_psignw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesW), s_aValuesW},4621 { bs3CpuInstr3_psignw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4622 { bs3CpuInstr3_vpsignw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4623 { bs3CpuInstr3_vpsignw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4624 { bs3CpuInstr3_vpsignw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},4625 { bs3CpuInstr3_vpsignw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4626 { bs3CpuInstr3_vpsignw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesW), s_aValuesW},4627 { bs3CpuInstr3_vpsignw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4628 { bs3CpuInstr3_vpsignw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesW), s_aValuesW},4629 { bs3CpuInstr3_vpsignw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesW), s_aValuesW},4630 4631 { bs3CpuInstr3_psignd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},4632 { bs3CpuInstr3_psignd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4633 { bs3CpuInstr3_psignd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},4634 { bs3CpuInstr3_psignd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4635 { bs3CpuInstr3_psignd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesD), s_aValuesD},4636 { bs3CpuInstr3_psignd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4637 { bs3CpuInstr3_vpsignd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},4638 { bs3CpuInstr3_vpsignd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4639 { bs3CpuInstr3_vpsignd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},4640 { bs3CpuInstr3_vpsignd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4641 { bs3CpuInstr3_vpsignd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},4642 { bs3CpuInstr3_vpsignd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4643 { bs3CpuInstr3_vpsignd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},4644 { bs3CpuInstr3_vpsignd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},4595 { bs3CpuInstr3_psignb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 4596 { bs3CpuInstr3_psignb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4597 { bs3CpuInstr3_psignb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 4598 { bs3CpuInstr3_psignb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4599 { bs3CpuInstr3_psignb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesB) }, 4600 { bs3CpuInstr3_psignb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4601 { bs3CpuInstr3_vpsignb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesB) }, 4602 { bs3CpuInstr3_vpsignb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4603 { bs3CpuInstr3_vpsignb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesB) }, 4604 { bs3CpuInstr3_vpsignb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4605 { bs3CpuInstr3_vpsignb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesB) }, 4606 { bs3CpuInstr3_vpsignb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4607 { bs3CpuInstr3_vpsignb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesB) }, 4608 { bs3CpuInstr3_vpsignb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 4609 4610 { bs3CpuInstr3_psignw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 4611 { bs3CpuInstr3_psignw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4612 { bs3CpuInstr3_psignw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 4613 { bs3CpuInstr3_psignw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4614 { bs3CpuInstr3_psignw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesW) }, 4615 { bs3CpuInstr3_psignw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4616 { bs3CpuInstr3_vpsignw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesW) }, 4617 { bs3CpuInstr3_vpsignw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4618 { bs3CpuInstr3_vpsignw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesW) }, 4619 { bs3CpuInstr3_vpsignw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4620 { bs3CpuInstr3_vpsignw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesW) }, 4621 { bs3CpuInstr3_vpsignw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4622 { bs3CpuInstr3_vpsignw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesW) }, 4623 { bs3CpuInstr3_vpsignw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 4624 4625 { bs3CpuInstr3_psignd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 4626 { bs3CpuInstr3_psignd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4627 { bs3CpuInstr3_psignd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 4628 { bs3CpuInstr3_psignd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4629 { bs3CpuInstr3_psignd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesD) }, 4630 { bs3CpuInstr3_psignd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4631 { bs3CpuInstr3_vpsignd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 4632 { bs3CpuInstr3_vpsignd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4633 { bs3CpuInstr3_vpsignd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesD) }, 4634 { bs3CpuInstr3_vpsignd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4635 { bs3CpuInstr3_vpsignd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 4636 { bs3CpuInstr3_vpsignd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4637 { bs3CpuInstr3_vpsignd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesD) }, 4638 { bs3CpuInstr3_vpsignd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 4645 4639 }; 4646 4640 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4732 4726 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4733 4727 { 4734 { bs3CpuInstr3_phaddw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},4735 { bs3CpuInstr3_phaddw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},4736 { bs3CpuInstr3_phaddw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},4737 { bs3CpuInstr3_phaddw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4738 { bs3CpuInstr3_vphaddw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},4739 { bs3CpuInstr3_vphaddw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4740 { bs3CpuInstr3_vphaddw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},4741 { bs3CpuInstr3_vphaddw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},4742 4743 { bs3CpuInstr3_phaddd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64D), s_aValues64D},4744 { bs3CpuInstr3_phaddd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64D), s_aValues64D},4745 { bs3CpuInstr3_phaddd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128D), s_aValues128D},4746 { bs3CpuInstr3_phaddd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4747 { bs3CpuInstr3_vphaddd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128D), s_aValues128D},4748 { bs3CpuInstr3_vphaddd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4749 { bs3CpuInstr3_vphaddd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256D), s_aValues256D},4750 { bs3CpuInstr3_vphaddd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256D), s_aValues256D},4728 { bs3CpuInstr3_phaddw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 4729 { bs3CpuInstr3_phaddw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 4730 { bs3CpuInstr3_phaddw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 4731 { bs3CpuInstr3_phaddw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4732 { bs3CpuInstr3_vphaddw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 4733 { bs3CpuInstr3_vphaddw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4734 { bs3CpuInstr3_vphaddw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 4735 { bs3CpuInstr3_vphaddw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 4736 4737 { bs3CpuInstr3_phaddd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64D) }, 4738 { bs3CpuInstr3_phaddd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64D) }, 4739 { bs3CpuInstr3_phaddd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128D) }, 4740 { bs3CpuInstr3_phaddd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4741 { bs3CpuInstr3_vphaddd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128D) }, 4742 { bs3CpuInstr3_vphaddd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4743 { bs3CpuInstr3_vphaddd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256D) }, 4744 { bs3CpuInstr3_vphaddd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256D) }, 4751 4745 }; 4752 4746 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4753 4747 { 4754 { bs3CpuInstr3_phaddw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},4755 { bs3CpuInstr3_phaddw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},4756 { bs3CpuInstr3_phaddw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},4757 { bs3CpuInstr3_phaddw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4758 { bs3CpuInstr3_vphaddw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},4759 { bs3CpuInstr3_vphaddw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4760 { bs3CpuInstr3_vphaddw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},4761 { bs3CpuInstr3_vphaddw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},4762 4763 { bs3CpuInstr3_phaddd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64D), s_aValues64D},4764 { bs3CpuInstr3_phaddd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64D), s_aValues64D},4765 { bs3CpuInstr3_phaddd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128D), s_aValues128D},4766 { bs3CpuInstr3_phaddd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4767 { bs3CpuInstr3_vphaddd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128D), s_aValues128D},4768 { bs3CpuInstr3_vphaddd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4769 { bs3CpuInstr3_vphaddd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256D), s_aValues256D},4770 { bs3CpuInstr3_vphaddd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256D), s_aValues256D},4748 { bs3CpuInstr3_phaddw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 4749 { bs3CpuInstr3_phaddw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 4750 { bs3CpuInstr3_phaddw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 4751 { bs3CpuInstr3_phaddw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4752 { bs3CpuInstr3_vphaddw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 4753 { bs3CpuInstr3_vphaddw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4754 { bs3CpuInstr3_vphaddw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 4755 { bs3CpuInstr3_vphaddw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 4756 4757 { bs3CpuInstr3_phaddd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64D) }, 4758 { bs3CpuInstr3_phaddd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64D) }, 4759 { bs3CpuInstr3_phaddd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128D) }, 4760 { bs3CpuInstr3_phaddd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4761 { bs3CpuInstr3_vphaddd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128D) }, 4762 { bs3CpuInstr3_vphaddd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4763 { bs3CpuInstr3_vphaddd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256D) }, 4764 { bs3CpuInstr3_vphaddd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256D) }, 4771 4765 }; 4772 4766 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4773 4767 { 4774 { bs3CpuInstr3_phaddw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},4775 { bs3CpuInstr3_phaddw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},4776 { bs3CpuInstr3_phaddw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},4777 { bs3CpuInstr3_phaddw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4778 { bs3CpuInstr3_phaddw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128W), s_aValues128W},4779 { bs3CpuInstr3_phaddw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4780 { bs3CpuInstr3_vphaddw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},4781 { bs3CpuInstr3_vphaddw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4782 { bs3CpuInstr3_vphaddw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues128W), s_aValues128W},4783 { bs3CpuInstr3_vphaddw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4784 { bs3CpuInstr3_vphaddw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},4785 { bs3CpuInstr3_vphaddw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},4786 { bs3CpuInstr3_vphaddw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues256W), s_aValues256W},4787 { bs3CpuInstr3_vphaddw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},4788 4789 { bs3CpuInstr3_phaddd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64D), s_aValues64D},4790 { bs3CpuInstr3_phaddd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64D), s_aValues64D},4791 { bs3CpuInstr3_phaddd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128D), s_aValues128D},4792 { bs3CpuInstr3_phaddd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4793 { bs3CpuInstr3_phaddd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128D), s_aValues128D},4794 { bs3CpuInstr3_phaddd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4795 { bs3CpuInstr3_vphaddd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128D), s_aValues128D},4796 { bs3CpuInstr3_vphaddd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4797 { bs3CpuInstr3_vphaddd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues128D), s_aValues128D},4798 { bs3CpuInstr3_vphaddd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4799 { bs3CpuInstr3_vphaddd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256D), s_aValues256D},4800 { bs3CpuInstr3_vphaddd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256D), s_aValues256D},4801 { bs3CpuInstr3_vphaddd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues256D), s_aValues256D},4802 { bs3CpuInstr3_vphaddd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues256D), s_aValues256D},4768 { bs3CpuInstr3_phaddw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 4769 { bs3CpuInstr3_phaddw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 4770 { bs3CpuInstr3_phaddw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 4771 { bs3CpuInstr3_phaddw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4772 { bs3CpuInstr3_phaddw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128W) }, 4773 { bs3CpuInstr3_phaddw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4774 { bs3CpuInstr3_vphaddw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 4775 { bs3CpuInstr3_vphaddw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4776 { bs3CpuInstr3_vphaddw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128W) }, 4777 { bs3CpuInstr3_vphaddw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4778 { bs3CpuInstr3_vphaddw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 4779 { bs3CpuInstr3_vphaddw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 4780 { bs3CpuInstr3_vphaddw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256W) }, 4781 { bs3CpuInstr3_vphaddw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 4782 4783 { bs3CpuInstr3_phaddd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64D) }, 4784 { bs3CpuInstr3_phaddd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64D) }, 4785 { bs3CpuInstr3_phaddd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128D) }, 4786 { bs3CpuInstr3_phaddd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4787 { bs3CpuInstr3_phaddd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128D) }, 4788 { bs3CpuInstr3_phaddd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4789 { bs3CpuInstr3_vphaddd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128D) }, 4790 { bs3CpuInstr3_vphaddd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4791 { bs3CpuInstr3_vphaddd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128D) }, 4792 { bs3CpuInstr3_vphaddd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4793 { bs3CpuInstr3_vphaddd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256D) }, 4794 { bs3CpuInstr3_vphaddd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256D) }, 4795 { bs3CpuInstr3_vphaddd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256D) }, 4796 { bs3CpuInstr3_vphaddd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256D) }, 4803 4797 }; 4804 4798 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 4890 4884 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 4891 4885 { 4892 { bs3CpuInstr3_phsubw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},4893 { bs3CpuInstr3_phsubw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},4894 { bs3CpuInstr3_phsubw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},4895 { bs3CpuInstr3_phsubw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4896 { bs3CpuInstr3_vphsubw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},4897 { bs3CpuInstr3_vphsubw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4898 { bs3CpuInstr3_vphsubw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},4899 { bs3CpuInstr3_vphsubw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},4900 4901 { bs3CpuInstr3_phsubd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64D), s_aValues64D},4902 { bs3CpuInstr3_phsubd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64D), s_aValues64D},4903 { bs3CpuInstr3_phsubd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128D), s_aValues128D},4904 { bs3CpuInstr3_phsubd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4905 { bs3CpuInstr3_vphsubd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128D), s_aValues128D},4906 { bs3CpuInstr3_vphsubd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4907 { bs3CpuInstr3_vphsubd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256D), s_aValues256D},4908 { bs3CpuInstr3_vphsubd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256D), s_aValues256D},4886 { bs3CpuInstr3_phsubw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 4887 { bs3CpuInstr3_phsubw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 4888 { bs3CpuInstr3_phsubw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 4889 { bs3CpuInstr3_phsubw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4890 { bs3CpuInstr3_vphsubw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 4891 { bs3CpuInstr3_vphsubw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4892 { bs3CpuInstr3_vphsubw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 4893 { bs3CpuInstr3_vphsubw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 4894 4895 { bs3CpuInstr3_phsubd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64D) }, 4896 { bs3CpuInstr3_phsubd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64D) }, 4897 { bs3CpuInstr3_phsubd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128D) }, 4898 { bs3CpuInstr3_phsubd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4899 { bs3CpuInstr3_vphsubd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128D) }, 4900 { bs3CpuInstr3_vphsubd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4901 { bs3CpuInstr3_vphsubd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256D) }, 4902 { bs3CpuInstr3_vphsubd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256D) }, 4909 4903 }; 4910 4904 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 4911 4905 { 4912 { bs3CpuInstr3_phsubw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},4913 { bs3CpuInstr3_phsubw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},4914 { bs3CpuInstr3_phsubw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},4915 { bs3CpuInstr3_phsubw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4916 { bs3CpuInstr3_vphsubw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},4917 { bs3CpuInstr3_vphsubw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4918 { bs3CpuInstr3_vphsubw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},4919 { bs3CpuInstr3_vphsubw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},4920 4921 { bs3CpuInstr3_phsubd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64D), s_aValues64D},4922 { bs3CpuInstr3_phsubd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64D), s_aValues64D},4923 { bs3CpuInstr3_phsubd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128D), s_aValues128D},4924 { bs3CpuInstr3_phsubd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4925 { bs3CpuInstr3_vphsubd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128D), s_aValues128D},4926 { bs3CpuInstr3_vphsubd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4927 { bs3CpuInstr3_vphsubd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256D), s_aValues256D},4928 { bs3CpuInstr3_vphsubd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256D), s_aValues256D},4906 { bs3CpuInstr3_phsubw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 4907 { bs3CpuInstr3_phsubw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 4908 { bs3CpuInstr3_phsubw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 4909 { bs3CpuInstr3_phsubw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4910 { bs3CpuInstr3_vphsubw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 4911 { bs3CpuInstr3_vphsubw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4912 { bs3CpuInstr3_vphsubw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 4913 { bs3CpuInstr3_vphsubw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 4914 4915 { bs3CpuInstr3_phsubd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64D) }, 4916 { bs3CpuInstr3_phsubd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64D) }, 4917 { bs3CpuInstr3_phsubd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128D) }, 4918 { bs3CpuInstr3_phsubd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4919 { bs3CpuInstr3_vphsubd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128D) }, 4920 { bs3CpuInstr3_vphsubd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4921 { bs3CpuInstr3_vphsubd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256D) }, 4922 { bs3CpuInstr3_vphsubd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256D) }, 4929 4923 }; 4930 4924 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 4931 4925 { 4932 { bs3CpuInstr3_phsubw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},4933 { bs3CpuInstr3_phsubw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},4934 { bs3CpuInstr3_phsubw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},4935 { bs3CpuInstr3_phsubw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4936 { bs3CpuInstr3_phsubw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128W), s_aValues128W},4937 { bs3CpuInstr3_phsubw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4938 { bs3CpuInstr3_vphsubw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},4939 { bs3CpuInstr3_vphsubw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4940 { bs3CpuInstr3_vphsubw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues128W), s_aValues128W},4941 { bs3CpuInstr3_vphsubw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},4942 { bs3CpuInstr3_vphsubw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},4943 { bs3CpuInstr3_vphsubw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},4944 { bs3CpuInstr3_vphsubw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues256W), s_aValues256W},4945 { bs3CpuInstr3_vphsubw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},4946 4947 { bs3CpuInstr3_phsubd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64D), s_aValues64D},4948 { bs3CpuInstr3_phsubd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64D), s_aValues64D},4949 { bs3CpuInstr3_phsubd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128D), s_aValues128D},4950 { bs3CpuInstr3_phsubd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4951 { bs3CpuInstr3_phsubd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128D), s_aValues128D},4952 { bs3CpuInstr3_phsubd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4953 { bs3CpuInstr3_vphsubd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128D), s_aValues128D},4954 { bs3CpuInstr3_vphsubd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4955 { bs3CpuInstr3_vphsubd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues128D), s_aValues128D},4956 { bs3CpuInstr3_vphsubd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues128D), s_aValues128D},4957 { bs3CpuInstr3_vphsubd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256D), s_aValues256D},4958 { bs3CpuInstr3_vphsubd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256D), s_aValues256D},4959 { bs3CpuInstr3_vphsubd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues256D), s_aValues256D},4960 { bs3CpuInstr3_vphsubd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues256D), s_aValues256D},4926 { bs3CpuInstr3_phsubw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 4927 { bs3CpuInstr3_phsubw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 4928 { bs3CpuInstr3_phsubw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 4929 { bs3CpuInstr3_phsubw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4930 { bs3CpuInstr3_phsubw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128W) }, 4931 { bs3CpuInstr3_phsubw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4932 { bs3CpuInstr3_vphsubw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 4933 { bs3CpuInstr3_vphsubw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4934 { bs3CpuInstr3_vphsubw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128W) }, 4935 { bs3CpuInstr3_vphsubw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 4936 { bs3CpuInstr3_vphsubw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 4937 { bs3CpuInstr3_vphsubw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 4938 { bs3CpuInstr3_vphsubw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256W) }, 4939 { bs3CpuInstr3_vphsubw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 4940 4941 { bs3CpuInstr3_phsubd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64D) }, 4942 { bs3CpuInstr3_phsubd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64D) }, 4943 { bs3CpuInstr3_phsubd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128D) }, 4944 { bs3CpuInstr3_phsubd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4945 { bs3CpuInstr3_phsubd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128D) }, 4946 { bs3CpuInstr3_phsubd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4947 { bs3CpuInstr3_vphsubd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128D) }, 4948 { bs3CpuInstr3_vphsubd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4949 { bs3CpuInstr3_vphsubd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128D) }, 4950 { bs3CpuInstr3_vphsubd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128D) }, 4951 { bs3CpuInstr3_vphsubd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256D) }, 4952 { bs3CpuInstr3_vphsubd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256D) }, 4953 { bs3CpuInstr3_vphsubd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256D) }, 4954 { bs3CpuInstr3_vphsubd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256D) }, 4961 4955 }; 4962 4956 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5011 5005 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5012 5006 { 5013 { bs3CpuInstr3_phaddsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5014 { bs3CpuInstr3_phaddsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5015 { bs3CpuInstr3_phaddsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5016 { bs3CpuInstr3_phaddsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5017 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5018 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5019 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5020 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5007 { bs3CpuInstr3_phaddsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5008 { bs3CpuInstr3_phaddsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5009 { bs3CpuInstr3_phaddsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5010 { bs3CpuInstr3_phaddsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5011 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5012 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5013 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5014 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5021 5015 }; 5022 5016 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5023 5017 { 5024 { bs3CpuInstr3_phaddsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5025 { bs3CpuInstr3_phaddsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5026 { bs3CpuInstr3_phaddsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5027 { bs3CpuInstr3_phaddsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5028 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5029 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5030 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5031 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5018 { bs3CpuInstr3_phaddsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5019 { bs3CpuInstr3_phaddsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5020 { bs3CpuInstr3_phaddsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5021 { bs3CpuInstr3_phaddsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5022 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5023 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5024 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5025 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5032 5026 }; 5033 5027 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5034 5028 { 5035 { bs3CpuInstr3_phaddsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5036 { bs3CpuInstr3_phaddsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5037 { bs3CpuInstr3_phaddsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5038 { bs3CpuInstr3_phaddsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5039 { bs3CpuInstr3_phaddsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128W), s_aValues128W},5040 { bs3CpuInstr3_phaddsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5041 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5042 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5043 { bs3CpuInstr3_vphaddsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues128W), s_aValues128W},5044 { bs3CpuInstr3_vphaddsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5045 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5046 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5047 { bs3CpuInstr3_vphaddsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues256W), s_aValues256W},5048 { bs3CpuInstr3_vphaddsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5029 { bs3CpuInstr3_phaddsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5030 { bs3CpuInstr3_phaddsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5031 { bs3CpuInstr3_phaddsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5032 { bs3CpuInstr3_phaddsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5033 { bs3CpuInstr3_phaddsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128W) }, 5034 { bs3CpuInstr3_phaddsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5035 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5036 { bs3CpuInstr3_vphaddsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5037 { bs3CpuInstr3_vphaddsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128W) }, 5038 { bs3CpuInstr3_vphaddsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5039 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5040 { bs3CpuInstr3_vphaddsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5041 { bs3CpuInstr3_vphaddsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256W) }, 5042 { bs3CpuInstr3_vphaddsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5049 5043 }; 5050 5044 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5099 5093 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5100 5094 { 5101 { bs3CpuInstr3_phsubsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5102 { bs3CpuInstr3_phsubsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5103 { bs3CpuInstr3_phsubsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5104 { bs3CpuInstr3_phsubsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5105 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5106 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5107 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5108 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5095 { bs3CpuInstr3_phsubsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5096 { bs3CpuInstr3_phsubsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5097 { bs3CpuInstr3_phsubsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5098 { bs3CpuInstr3_phsubsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5099 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5100 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5101 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5102 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5109 5103 }; 5110 5104 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5111 5105 { 5112 { bs3CpuInstr3_phsubsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5113 { bs3CpuInstr3_phsubsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5114 { bs3CpuInstr3_phsubsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5115 { bs3CpuInstr3_phsubsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5116 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5117 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5118 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5119 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5106 { bs3CpuInstr3_phsubsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5107 { bs3CpuInstr3_phsubsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5108 { bs3CpuInstr3_phsubsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5109 { bs3CpuInstr3_phsubsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5110 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5111 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5112 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5113 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5120 5114 }; 5121 5115 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5122 5116 { 5123 { bs3CpuInstr3_phsubsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5124 { bs3CpuInstr3_phsubsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5125 { bs3CpuInstr3_phsubsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5126 { bs3CpuInstr3_phsubsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5127 { bs3CpuInstr3_phsubsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128W), s_aValues128W},5128 { bs3CpuInstr3_phsubsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5129 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5130 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5131 { bs3CpuInstr3_vphsubsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues128W), s_aValues128W},5132 { bs3CpuInstr3_vphsubsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5133 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5134 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5135 { bs3CpuInstr3_vphsubsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues256W), s_aValues256W},5136 { bs3CpuInstr3_vphsubsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5117 { bs3CpuInstr3_phsubsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5118 { bs3CpuInstr3_phsubsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5119 { bs3CpuInstr3_phsubsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5120 { bs3CpuInstr3_phsubsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5121 { bs3CpuInstr3_phsubsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128W) }, 5122 { bs3CpuInstr3_phsubsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5123 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5124 { bs3CpuInstr3_vphsubsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5125 { bs3CpuInstr3_vphsubsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128W) }, 5126 { bs3CpuInstr3_vphsubsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5127 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5128 { bs3CpuInstr3_vphsubsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5129 { bs3CpuInstr3_vphsubsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256W) }, 5130 { bs3CpuInstr3_vphsubsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5137 5131 }; 5138 5132 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5187 5181 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5188 5182 { 5189 { bs3CpuInstr3_pmaddubsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5190 { bs3CpuInstr3_pmaddubsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5191 { bs3CpuInstr3_pmaddubsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5192 { bs3CpuInstr3_pmaddubsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5193 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5194 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5195 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5196 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5183 { bs3CpuInstr3_pmaddubsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5184 { bs3CpuInstr3_pmaddubsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5185 { bs3CpuInstr3_pmaddubsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5186 { bs3CpuInstr3_pmaddubsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5187 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5188 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5189 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5190 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5197 5191 }; 5198 5192 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5199 5193 { 5200 { bs3CpuInstr3_pmaddubsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5201 { bs3CpuInstr3_pmaddubsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5202 { bs3CpuInstr3_pmaddubsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5203 { bs3CpuInstr3_pmaddubsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5204 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5205 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5206 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5207 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5194 { bs3CpuInstr3_pmaddubsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5195 { bs3CpuInstr3_pmaddubsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5196 { bs3CpuInstr3_pmaddubsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5197 { bs3CpuInstr3_pmaddubsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5198 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5199 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5200 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5201 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5208 5202 }; 5209 5203 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5210 5204 { 5211 { bs3CpuInstr3_pmaddubsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W},5212 { bs3CpuInstr3_pmaddubsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W},5213 { bs3CpuInstr3_pmaddubsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W},5214 { bs3CpuInstr3_pmaddubsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5215 { bs3CpuInstr3_pmaddubsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128W), s_aValues128W},5216 { bs3CpuInstr3_pmaddubsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5217 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W},5218 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5219 { bs3CpuInstr3_vpmaddubsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues128W), s_aValues128W},5220 { bs3CpuInstr3_vpmaddubsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W},5221 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W},5222 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5223 { bs3CpuInstr3_vpmaddubsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues256W), s_aValues256W},5224 { bs3CpuInstr3_vpmaddubsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W},5205 { bs3CpuInstr3_pmaddubsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 5206 { bs3CpuInstr3_pmaddubsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 5207 { bs3CpuInstr3_pmaddubsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 5208 { bs3CpuInstr3_pmaddubsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5209 { bs3CpuInstr3_pmaddubsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128W) }, 5210 { bs3CpuInstr3_pmaddubsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5211 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 5212 { bs3CpuInstr3_vpmaddubsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5213 { bs3CpuInstr3_vpmaddubsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128W) }, 5214 { bs3CpuInstr3_vpmaddubsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 5215 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 5216 { bs3CpuInstr3_vpmaddubsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5217 { bs3CpuInstr3_vpmaddubsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256W) }, 5218 { bs3CpuInstr3_vpmaddubsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 5225 5219 }; 5226 5220 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5251 5245 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5252 5246 { 5253 { bs3CpuInstr3_pmulhrsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5254 { bs3CpuInstr3_pmulhrsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5255 { bs3CpuInstr3_pmulhrsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5256 { bs3CpuInstr3_pmulhrsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5257 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5258 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5259 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5260 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5247 { bs3CpuInstr3_pmulhrsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5248 { bs3CpuInstr3_pmulhrsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5249 { bs3CpuInstr3_pmulhrsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5250 { bs3CpuInstr3_pmulhrsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5251 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5252 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5253 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5254 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5261 5255 }; 5262 5256 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5263 5257 { 5264 { bs3CpuInstr3_pmulhrsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5265 { bs3CpuInstr3_pmulhrsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5266 { bs3CpuInstr3_pmulhrsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5267 { bs3CpuInstr3_pmulhrsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5268 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5269 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5270 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5271 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5258 { bs3CpuInstr3_pmulhrsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5259 { bs3CpuInstr3_pmulhrsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5260 { bs3CpuInstr3_pmulhrsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5261 { bs3CpuInstr3_pmulhrsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5262 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5263 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5264 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5265 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5272 5266 }; 5273 5267 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5274 5268 { 5275 { bs3CpuInstr3_pmulhrsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5276 { bs3CpuInstr3_pmulhrsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5277 { bs3CpuInstr3_pmulhrsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5278 { bs3CpuInstr3_pmulhrsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5279 { bs3CpuInstr3_pmulhrsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues), s_aValues},5280 { bs3CpuInstr3_pmulhrsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues), s_aValues},5281 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5282 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5283 { bs3CpuInstr3_vpmulhrsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues), s_aValues},5284 { bs3CpuInstr3_vpmulhrsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues), s_aValues},5285 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5286 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5287 { bs3CpuInstr3_vpmulhrsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues), s_aValues},5288 { bs3CpuInstr3_vpmulhrsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues), s_aValues},5269 { bs3CpuInstr3_pmulhrsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5270 { bs3CpuInstr3_pmulhrsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5271 { bs3CpuInstr3_pmulhrsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5272 { bs3CpuInstr3_pmulhrsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5273 { bs3CpuInstr3_pmulhrsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues) }, 5274 { bs3CpuInstr3_pmulhrsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues) }, 5275 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5276 { bs3CpuInstr3_vpmulhrsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5277 { bs3CpuInstr3_vpmulhrsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues) }, 5278 { bs3CpuInstr3_vpmulhrsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 5279 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5280 { bs3CpuInstr3_vpmulhrsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5281 { bs3CpuInstr3_vpmulhrsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues) }, 5282 { bs3CpuInstr3_vpmulhrsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 5289 5283 }; 5290 5284 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5315 5309 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5316 5310 { 5317 { bs3CpuInstr3_psadbw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5318 { bs3CpuInstr3_psadbw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5319 { bs3CpuInstr3_psadbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5320 { bs3CpuInstr3_psadbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5321 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5322 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5323 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5324 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5311 { bs3CpuInstr3_psadbw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5312 { bs3CpuInstr3_psadbw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5313 { bs3CpuInstr3_psadbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5314 { bs3CpuInstr3_psadbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5315 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5316 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5317 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5318 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5325 5319 }; 5326 5320 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5327 5321 { 5328 { bs3CpuInstr3_psadbw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5329 { bs3CpuInstr3_psadbw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5330 { bs3CpuInstr3_psadbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5331 { bs3CpuInstr3_psadbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5332 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5333 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5334 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5335 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5322 { bs3CpuInstr3_psadbw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5323 { bs3CpuInstr3_psadbw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5324 { bs3CpuInstr3_psadbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5325 { bs3CpuInstr3_psadbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5326 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5327 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5328 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5329 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5336 5330 }; 5337 5331 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5338 5332 { 5339 { bs3CpuInstr3_psadbw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5340 { bs3CpuInstr3_psadbw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5341 { bs3CpuInstr3_psadbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5342 { bs3CpuInstr3_psadbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5343 { bs3CpuInstr3_psadbw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues), s_aValues},5344 { bs3CpuInstr3_psadbw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues), s_aValues},5345 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5346 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5347 { bs3CpuInstr3_vpsadbw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues), s_aValues},5348 { bs3CpuInstr3_vpsadbw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues), s_aValues},5349 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5350 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5351 { bs3CpuInstr3_vpsadbw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues), s_aValues},5352 { bs3CpuInstr3_vpsadbw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues), s_aValues},5333 { bs3CpuInstr3_psadbw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5334 { bs3CpuInstr3_psadbw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5335 { bs3CpuInstr3_psadbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5336 { bs3CpuInstr3_psadbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5337 { bs3CpuInstr3_psadbw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues) }, 5338 { bs3CpuInstr3_psadbw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues) }, 5339 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5340 { bs3CpuInstr3_vpsadbw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5341 { bs3CpuInstr3_vpsadbw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues) }, 5342 { bs3CpuInstr3_vpsadbw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 5343 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5344 { bs3CpuInstr3_vpsadbw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5345 { bs3CpuInstr3_vpsadbw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues) }, 5346 { bs3CpuInstr3_vpsadbw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 5353 5347 }; 5354 5348 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5379 5373 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5380 5374 { 5381 { bs3CpuInstr3_pmuldq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5382 { bs3CpuInstr3_pmuldq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5383 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5384 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5385 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5386 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5375 { bs3CpuInstr3_pmuldq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5376 { bs3CpuInstr3_pmuldq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5377 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5378 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5379 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5380 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5387 5381 }; 5388 5382 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5389 5383 { 5390 { bs3CpuInstr3_pmuldq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5391 { bs3CpuInstr3_pmuldq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5392 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5393 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5394 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5395 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5384 { bs3CpuInstr3_pmuldq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5385 { bs3CpuInstr3_pmuldq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5386 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5387 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5388 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5389 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5396 5390 }; 5397 5391 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5398 5392 { 5399 { bs3CpuInstr3_pmuldq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5400 { bs3CpuInstr3_pmuldq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5401 { bs3CpuInstr3_pmuldq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues), s_aValues},5402 { bs3CpuInstr3_pmuldq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues), s_aValues},5403 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5404 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5405 { bs3CpuInstr3_vpmuldq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues), s_aValues},5406 { bs3CpuInstr3_vpmuldq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues), s_aValues},5407 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5408 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5409 { bs3CpuInstr3_vpmuldq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues), s_aValues},5410 { bs3CpuInstr3_vpmuldq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues), s_aValues},5393 { bs3CpuInstr3_pmuldq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5394 { bs3CpuInstr3_pmuldq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5395 { bs3CpuInstr3_pmuldq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues) }, 5396 { bs3CpuInstr3_pmuldq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues) }, 5397 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5398 { bs3CpuInstr3_vpmuldq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5399 { bs3CpuInstr3_vpmuldq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues) }, 5400 { bs3CpuInstr3_vpmuldq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 5401 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5402 { bs3CpuInstr3_vpmuldq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5403 { bs3CpuInstr3_vpmuldq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues) }, 5404 { bs3CpuInstr3_vpmuldq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 5411 5405 }; 5412 5406 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5437 5431 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5438 5432 { 5439 { bs3CpuInstr3_pmuludq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5440 { bs3CpuInstr3_pmuludq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5441 { bs3CpuInstr3_pmuludq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5442 { bs3CpuInstr3_pmuludq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5443 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5444 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5445 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5446 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5433 { bs3CpuInstr3_pmuludq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSE2, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5434 { bs3CpuInstr3_pmuludq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSE2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5435 { bs3CpuInstr3_pmuludq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5436 { bs3CpuInstr3_pmuludq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5437 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5438 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5439 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5440 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5447 5441 }; 5448 5442 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5449 5443 { 5450 { bs3CpuInstr3_pmuludq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5451 { bs3CpuInstr3_pmuludq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5452 { bs3CpuInstr3_pmuludq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5453 { bs3CpuInstr3_pmuludq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5454 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5455 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5456 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5457 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5444 { bs3CpuInstr3_pmuludq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSE2, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5445 { bs3CpuInstr3_pmuludq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSE2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5446 { bs3CpuInstr3_pmuludq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5447 { bs3CpuInstr3_pmuludq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5448 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5449 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5450 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5451 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5458 5452 }; 5459 5453 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5460 5454 { 5461 { bs3CpuInstr3_pmuludq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5462 { bs3CpuInstr3_pmuludq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5463 { bs3CpuInstr3_pmuludq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues), s_aValues},5464 { bs3CpuInstr3_pmuludq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues), s_aValues},5465 { bs3CpuInstr3_pmuludq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues), s_aValues},5466 { bs3CpuInstr3_pmuludq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues), s_aValues},5467 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5468 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5469 { bs3CpuInstr3_vpmuludq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues), s_aValues},5470 { bs3CpuInstr3_vpmuludq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues), s_aValues},5471 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues), s_aValues},5472 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues), s_aValues},5473 { bs3CpuInstr3_vpmuludq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues), s_aValues},5474 { bs3CpuInstr3_vpmuludq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues), s_aValues},5455 { bs3CpuInstr3_pmuludq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSE2, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues) }, 5456 { bs3CpuInstr3_pmuludq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSE2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5457 { bs3CpuInstr3_pmuludq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 5458 { bs3CpuInstr3_pmuludq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 5459 { bs3CpuInstr3_pmuludq_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues) }, 5460 { bs3CpuInstr3_pmuludq_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues) }, 5461 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues) }, 5462 { bs3CpuInstr3_vpmuludq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5463 { bs3CpuInstr3_vpmuludq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues) }, 5464 { bs3CpuInstr3_vpmuludq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 5465 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues) }, 5466 { bs3CpuInstr3_vpmuludq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues) }, 5467 { bs3CpuInstr3_vpmuludq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues) }, 5468 { bs3CpuInstr3_vpmuludq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 5475 5469 }; 5476 5470 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5514 5508 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5515 5509 { 5516 { bs3CpuInstr3_unpcklps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesS), s_aValuesS},5517 { bs3CpuInstr3_unpcklps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5518 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5519 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5520 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5521 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5522 5523 { bs3CpuInstr3_unpcklpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},5524 { bs3CpuInstr3_unpcklpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5525 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5526 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5527 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5528 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5510 { bs3CpuInstr3_unpcklps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesS) }, 5511 { bs3CpuInstr3_unpcklps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5512 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesS) }, 5513 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5514 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesS) }, 5515 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5516 5517 { bs3CpuInstr3_unpcklpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 5518 { bs3CpuInstr3_unpcklpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5519 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 5520 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5521 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 5522 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5529 5523 }; 5530 5524 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5531 5525 { 5532 { bs3CpuInstr3_unpcklps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesS), s_aValuesS},5533 { bs3CpuInstr3_unpcklps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5534 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5535 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5536 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5537 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5538 5539 { bs3CpuInstr3_unpcklpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},5540 { bs3CpuInstr3_unpcklpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5541 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5542 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5543 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5544 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5526 { bs3CpuInstr3_unpcklps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesS) }, 5527 { bs3CpuInstr3_unpcklps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5528 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesS) }, 5529 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5530 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesS) }, 5531 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5532 5533 { bs3CpuInstr3_unpcklpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 5534 { bs3CpuInstr3_unpcklpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5535 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 5536 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5537 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 5538 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5545 5539 }; 5546 5540 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5547 5541 { 5548 { bs3CpuInstr3_unpcklps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesS), s_aValuesS},5549 { bs3CpuInstr3_unpcklps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5550 { bs3CpuInstr3_unpcklps_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 9, RT_ELEMENTS(s_aValuesS), s_aValuesS},5551 { bs3CpuInstr3_unpcklps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5552 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5553 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5554 { bs3CpuInstr3_vunpcklps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesS), s_aValuesS},5555 { bs3CpuInstr3_vunpcklps_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5556 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5557 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5558 { bs3CpuInstr3_vunpcklps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesS), s_aValuesS},5559 { bs3CpuInstr3_vunpcklps_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5560 5561 { bs3CpuInstr3_unpcklpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},5562 { bs3CpuInstr3_unpcklpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5563 { bs3CpuInstr3_unpcklpd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 9, RT_ELEMENTS(s_aValuesD), s_aValuesD},5564 { bs3CpuInstr3_unpcklpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5565 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5566 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5567 { bs3CpuInstr3_vunpcklpd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},5568 { bs3CpuInstr3_vunpcklpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5569 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5570 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5571 { bs3CpuInstr3_vunpcklpd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},5572 { bs3CpuInstr3_vunpcklpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5542 { bs3CpuInstr3_unpcklps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesS) }, 5543 { bs3CpuInstr3_unpcklps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5544 { bs3CpuInstr3_unpcklps_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesS) }, 5545 { bs3CpuInstr3_unpcklps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5546 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesS) }, 5547 { bs3CpuInstr3_vunpcklps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5548 { bs3CpuInstr3_vunpcklps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesS) }, 5549 { bs3CpuInstr3_vunpcklps_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5550 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesS) }, 5551 { bs3CpuInstr3_vunpcklps_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5552 { bs3CpuInstr3_vunpcklps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesS) }, 5553 { bs3CpuInstr3_vunpcklps_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5554 5555 { bs3CpuInstr3_unpcklpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 5556 { bs3CpuInstr3_unpcklpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5557 { bs3CpuInstr3_unpcklpd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesD) }, 5558 { bs3CpuInstr3_unpcklpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5559 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 5560 { bs3CpuInstr3_vunpcklpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5561 { bs3CpuInstr3_vunpcklpd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesD) }, 5562 { bs3CpuInstr3_vunpcklpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5563 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 5564 { bs3CpuInstr3_vunpcklpd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5565 { bs3CpuInstr3_vunpcklpd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesD) }, 5566 { bs3CpuInstr3_vunpcklpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5573 5567 }; 5574 5568 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5612 5606 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5613 5607 { 5614 { bs3CpuInstr3_unpckhps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesS), s_aValuesS},5615 { bs3CpuInstr3_unpckhps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5616 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5617 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5618 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5619 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5620 5621 { bs3CpuInstr3_unpckhpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},5622 { bs3CpuInstr3_unpckhpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5623 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5624 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5625 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5626 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5608 { bs3CpuInstr3_unpckhps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesS) }, 5609 { bs3CpuInstr3_unpckhps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5610 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesS) }, 5611 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5612 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesS) }, 5613 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5614 5615 { bs3CpuInstr3_unpckhpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 5616 { bs3CpuInstr3_unpckhpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5617 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 5618 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5619 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 5620 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5627 5621 }; 5628 5622 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5629 5623 { 5630 { bs3CpuInstr3_unpckhps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesS), s_aValuesS},5631 { bs3CpuInstr3_unpckhps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5632 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5633 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5634 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5635 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5636 5637 { bs3CpuInstr3_unpckhpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},5638 { bs3CpuInstr3_unpckhpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5639 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5640 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5641 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5642 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5624 { bs3CpuInstr3_unpckhps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesS) }, 5625 { bs3CpuInstr3_unpckhps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5626 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesS) }, 5627 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5628 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesS) }, 5629 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5630 5631 { bs3CpuInstr3_unpckhpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 5632 { bs3CpuInstr3_unpckhpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5633 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 5634 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5635 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 5636 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5643 5637 }; 5644 5638 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5645 5639 { 5646 { bs3CpuInstr3_unpckhps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesS), s_aValuesS},5647 { bs3CpuInstr3_unpckhps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5648 { bs3CpuInstr3_unpckhps_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 9, RT_ELEMENTS(s_aValuesS), s_aValuesS},5649 { bs3CpuInstr3_unpckhps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5650 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5651 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5652 { bs3CpuInstr3_vunpckhps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesS), s_aValuesS},5653 { bs3CpuInstr3_vunpckhps_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5654 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesS), s_aValuesS},5655 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5656 { bs3CpuInstr3_vunpckhps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesS), s_aValuesS},5657 { bs3CpuInstr3_vunpckhps_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesS), s_aValuesS},5658 5659 { bs3CpuInstr3_unpckhpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 2, RT_ELEMENTS(s_aValuesD), s_aValuesD},5660 { bs3CpuInstr3_unpckhpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5661 { bs3CpuInstr3_unpckhpd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 9, RT_ELEMENTS(s_aValuesD), s_aValuesD},5662 { bs3CpuInstr3_unpckhpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5663 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5664 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5665 { bs3CpuInstr3_vunpckhpd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},5666 { bs3CpuInstr3_vunpckhpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5667 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesD), s_aValuesD},5668 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5669 { bs3CpuInstr3_vunpckhpd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesD), s_aValuesD},5670 { bs3CpuInstr3_vunpckhpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesD), s_aValuesD},5640 { bs3CpuInstr3_unpckhps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesS) }, 5641 { bs3CpuInstr3_unpckhps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5642 { bs3CpuInstr3_unpckhps_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesS) }, 5643 { bs3CpuInstr3_unpckhps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5644 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesS) }, 5645 { bs3CpuInstr3_vunpckhps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5646 { bs3CpuInstr3_vunpckhps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesS) }, 5647 { bs3CpuInstr3_vunpckhps_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5648 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesS) }, 5649 { bs3CpuInstr3_vunpckhps_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5650 { bs3CpuInstr3_vunpckhps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesS) }, 5651 { bs3CpuInstr3_vunpckhps_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesS) }, 5652 5653 { bs3CpuInstr3_unpckhpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 5654 { bs3CpuInstr3_unpckhpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5655 { bs3CpuInstr3_unpckhpd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesD) }, 5656 { bs3CpuInstr3_unpckhpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5657 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesD) }, 5658 { bs3CpuInstr3_vunpckhpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5659 { bs3CpuInstr3_vunpckhpd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesD) }, 5660 { bs3CpuInstr3_vunpckhpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5661 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesD) }, 5662 { bs3CpuInstr3_vunpckhpd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5663 { bs3CpuInstr3_vunpckhpd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesD) }, 5664 { bs3CpuInstr3_vunpckhpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 5671 5665 }; 5672 5666 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5709 5703 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5710 5704 { 5711 { bs3CpuInstr3_shufps_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5712 { bs3CpuInstr3_shufps_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5713 { bs3CpuInstr3_shufps_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},5714 { bs3CpuInstr3_shufps_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5715 5716 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5717 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5718 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5719 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5720 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5721 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5722 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5723 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5705 { bs3CpuInstr3_shufps_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 5706 { bs3CpuInstr3_shufps_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5707 { bs3CpuInstr3_shufps_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 5708 { bs3CpuInstr3_shufps_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5709 5710 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 5711 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5712 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 5713 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5714 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 5715 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5716 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 5717 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5724 5718 }; 5725 5719 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5726 5720 { 5727 { bs3CpuInstr3_shufps_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5728 { bs3CpuInstr3_shufps_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5729 { bs3CpuInstr3_shufps_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},5730 { bs3CpuInstr3_shufps_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5731 5732 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5733 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5734 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5735 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5736 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5737 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5738 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5739 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5721 { bs3CpuInstr3_shufps_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 5722 { bs3CpuInstr3_shufps_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5723 { bs3CpuInstr3_shufps_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 5724 { bs3CpuInstr3_shufps_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5725 5726 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 5727 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5728 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 5729 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5730 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 5731 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5732 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 5733 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5740 5734 }; 5741 5735 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5742 5736 { 5743 { bs3CpuInstr3_shufps_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5744 { bs3CpuInstr3_shufps_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5745 { bs3CpuInstr3_shufps_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5746 { bs3CpuInstr3_shufps_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5747 { bs3CpuInstr3_shufps_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},5748 { bs3CpuInstr3_shufps_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5749 { bs3CpuInstr3_shufps_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00},5750 { bs3CpuInstr3_shufps_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5751 5752 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5753 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5754 { bs3CpuInstr3_vshufps_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5755 { bs3CpuInstr3_vshufps_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5756 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5757 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5758 { bs3CpuInstr3_vshufps_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5759 { bs3CpuInstr3_vshufps_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5760 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5761 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5762 { bs3CpuInstr3_vshufps_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},5763 { bs3CpuInstr3_vshufps_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5764 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5765 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5766 { bs3CpuInstr3_vshufps_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},5767 { bs3CpuInstr3_vshufps_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5737 { bs3CpuInstr3_shufps_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 5738 { bs3CpuInstr3_shufps_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5739 { bs3CpuInstr3_shufps_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesFF) }, 5740 { bs3CpuInstr3_shufps_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5741 { bs3CpuInstr3_shufps_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 5742 { bs3CpuInstr3_shufps_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5743 { bs3CpuInstr3_shufps_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues00) }, 5744 { bs3CpuInstr3_shufps_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5745 5746 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 5747 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5748 { bs3CpuInstr3_vshufps_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 5749 { bs3CpuInstr3_vshufps_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5750 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 5751 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5752 { bs3CpuInstr3_vshufps_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 5753 { bs3CpuInstr3_vshufps_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5754 { bs3CpuInstr3_vshufps_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 5755 { bs3CpuInstr3_vshufps_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5756 { bs3CpuInstr3_vshufps_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 5757 { bs3CpuInstr3_vshufps_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5758 { bs3CpuInstr3_vshufps_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 5759 { bs3CpuInstr3_vshufps_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5760 { bs3CpuInstr3_vshufps_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 5761 { bs3CpuInstr3_vshufps_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5768 5762 }; 5769 5763 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5806 5800 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5807 5801 { 5808 { bs3CpuInstr3_shufpd_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5809 { bs3CpuInstr3_shufpd_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5810 { bs3CpuInstr3_shufpd_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},5811 { bs3CpuInstr3_shufpd_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5812 5813 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5814 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5815 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5816 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5817 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5818 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5819 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5820 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5802 { bs3CpuInstr3_shufpd_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 5803 { bs3CpuInstr3_shufpd_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5804 { bs3CpuInstr3_shufpd_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 5805 { bs3CpuInstr3_shufpd_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5806 5807 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 5808 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5809 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 5810 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5811 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 5812 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5813 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 5814 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5821 5815 }; 5822 5816 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 5823 5817 { 5824 { bs3CpuInstr3_shufpd_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5825 { bs3CpuInstr3_shufpd_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5826 { bs3CpuInstr3_shufpd_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},5827 { bs3CpuInstr3_shufpd_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5828 5829 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5830 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5831 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5832 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5833 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5834 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5835 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5836 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5818 { bs3CpuInstr3_shufpd_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 5819 { bs3CpuInstr3_shufpd_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5820 { bs3CpuInstr3_shufpd_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 5821 { bs3CpuInstr3_shufpd_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5822 5823 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 5824 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5825 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 5826 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5827 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 5828 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5829 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 5830 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5837 5831 }; 5838 5832 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 5839 5833 { 5840 { bs3CpuInstr3_shufpd_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5841 { bs3CpuInstr3_shufpd_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5842 { bs3CpuInstr3_shufpd_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5843 { bs3CpuInstr3_shufpd_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5844 { bs3CpuInstr3_shufpd_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},5845 { bs3CpuInstr3_shufpd_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5846 { bs3CpuInstr3_shufpd_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00},5847 { bs3CpuInstr3_shufpd_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5848 5849 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5850 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5851 { bs3CpuInstr3_vshufpd_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5852 { bs3CpuInstr3_vshufpd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5853 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5854 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5855 { bs3CpuInstr3_vshufpd_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5856 { bs3CpuInstr3_vshufpd_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5857 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5858 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5859 { bs3CpuInstr3_vshufpd_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},5860 { bs3CpuInstr3_vshufpd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5861 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},5862 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5863 { bs3CpuInstr3_vshufpd_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},5864 { 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},5834 { bs3CpuInstr3_shufpd_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 5835 { bs3CpuInstr3_shufpd_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5836 { bs3CpuInstr3_shufpd_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesFF) }, 5837 { bs3CpuInstr3_shufpd_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5838 { bs3CpuInstr3_shufpd_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 5839 { bs3CpuInstr3_shufpd_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5840 { bs3CpuInstr3_shufpd_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues00) }, 5841 { bs3CpuInstr3_shufpd_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5842 5843 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 5844 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5845 { bs3CpuInstr3_vshufpd_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 5846 { bs3CpuInstr3_vshufpd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5847 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 5848 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5849 { bs3CpuInstr3_vshufpd_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 5850 { bs3CpuInstr3_vshufpd_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5851 { bs3CpuInstr3_vshufpd_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 5852 { bs3CpuInstr3_vshufpd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5853 { bs3CpuInstr3_vshufpd_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 5854 { bs3CpuInstr3_vshufpd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5855 { bs3CpuInstr3_vshufpd_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 5856 { bs3CpuInstr3_vshufpd_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5857 { bs3CpuInstr3_vshufpd_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 5858 { bs3CpuInstr3_vshufpd_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5865 5859 }; 5866 5860 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5975 5969 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 5976 5970 { 5977 { bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5978 { bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5979 { bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},5980 { bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5981 { bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64B_03), s_aValues64B_03},5982 { bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64B_03), s_aValues64B_03},5983 { bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c16, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64B_09), s_aValues64B_09},5984 { bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64B_09), s_aValues64B_09},5985 5986 { bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5987 { bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5988 { bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},5989 { bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},5990 { bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128B_03), s_aValues128B_03},5991 { bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128B_03), s_aValues128B_03},5992 { bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c16, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128B_13), s_aValues128B_13},5993 { bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c16, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128B_13), s_aValues128B_13},5994 5995 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5996 { 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},5997 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},5998 { 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},5999 6000 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6001 { 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},6002 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6003 { 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},6004 6005 { 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},6006 { 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},6007 { 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},6008 { 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},6009 { 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},6010 { 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},6011 { 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},6012 { 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},5971 { bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesFF) }, 5972 { bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5973 { bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues00) }, 5974 { bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5975 { bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64B_03) }, 5976 { bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64B_03) }, 5977 { bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64B_09) }, 5978 { bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64B_09) }, 5979 5980 { bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 5981 { bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5982 { bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 5983 { bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5984 { bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128B_03) }, 5985 { bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128B_03) }, 5986 { bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128B_13) }, 5987 { bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128B_13) }, 5988 5989 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 5990 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5991 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 5992 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 5993 5994 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 5995 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5996 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 5997 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 5998 5999 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_003h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128B_03) }, 6000 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_003h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128B_03) }, 6001 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_013h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128B_13) }, 6002 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_013h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128B_13) }, 6003 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_003h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256B_03) }, 6004 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_003h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256B_03) }, 6005 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_013h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256B_13) }, 6006 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_013h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256B_13) }, 6013 6007 }; 6014 6008 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 6015 6009 { 6016 { bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6017 { bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6018 { bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6019 { bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6020 { bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64B_03), s_aValues64B_03},6021 { bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64B_03), s_aValues64B_03},6022 { bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c32, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64B_09), s_aValues64B_09},6023 { bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64B_09), s_aValues64B_09},6024 6025 { bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6026 { bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6027 { bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6028 { bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6029 { bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128B_03), s_aValues128B_03},6030 { bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128B_03), s_aValues128B_03},6031 { bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c32, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128B_13), s_aValues128B_13},6032 { bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c32, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128B_13), s_aValues128B_13},6033 6034 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6035 { 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},6036 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6037 { 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},6038 6039 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6040 { 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},6041 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6042 { 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},6043 6044 { 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},6045 { 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},6046 { 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},6047 { 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},6048 { 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},6049 { 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},6050 { 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},6051 { 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},6010 { bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesFF) }, 6011 { bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6012 { bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues00) }, 6013 { bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6014 { bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64B_03) }, 6015 { bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64B_03) }, 6016 { bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64B_09) }, 6017 { bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64B_09) }, 6018 6019 { bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6020 { bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6021 { bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6022 { bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6023 { bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128B_03) }, 6024 { bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128B_03) }, 6025 { bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128B_13) }, 6026 { bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128B_13) }, 6027 6028 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6029 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6030 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6031 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6032 6033 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6034 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6035 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6036 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6037 6038 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_003h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128B_03) }, 6039 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_003h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128B_03) }, 6040 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_013h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128B_13) }, 6041 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_013h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128B_13) }, 6042 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_003h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256B_03) }, 6043 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_003h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256B_03) }, 6044 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_013h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256B_13) }, 6045 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_013h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256B_13) }, 6052 6046 }; 6053 6047 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 6054 6048 { 6055 { bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6056 { bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6057 { bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6058 { bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6059 { bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64B_03), s_aValues64B_03},6060 { bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64B_03), s_aValues64B_03},6061 { bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c64, 255, RM_REG, T_MMX_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues64B_09), s_aValues64B_09},6062 { bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues64B_09), s_aValues64B_09},6063 6064 { bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6065 { bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6066 { bs3CpuInstr3_palignr_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6067 { bs3CpuInstr3_palignr_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6068 6069 { bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6070 { bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6071 { bs3CpuInstr3_palignr_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00},6072 { bs3CpuInstr3_palignr_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6073 6074 { bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128B_03), s_aValues128B_03},6075 { bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128B_03), s_aValues128B_03},6076 { bs3CpuInstr3_palignr_XMM8_XMM9_003h_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128B_03), s_aValues128B_03},6077 { bs3CpuInstr3_palignr_XMM8_FSxBX_003h_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128B_03), s_aValues128B_03},6078 6079 { bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c64, 255, RM_REG, T_SSSE3, 1, 1, 2, RT_ELEMENTS(s_aValues128B_13), s_aValues128B_13},6080 { bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c64, 255, RM_MEM, T_SSSE3, 1, 1, 255, RT_ELEMENTS(s_aValues128B_13), s_aValues128B_13},6081 { bs3CpuInstr3_palignr_XMM8_XMM9_013h_icebp_c64, 255, RM_REG, T_SSSE3, 8, 8, 9, RT_ELEMENTS(s_aValues128B_13), s_aValues128B_13},6082 { bs3CpuInstr3_palignr_XMM8_FSxBX_013h_icebp_c64, 255, RM_MEM, T_SSSE3, 8, 8, 255, RT_ELEMENTS(s_aValues128B_13), s_aValues128B_13},6083 6084 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6085 { 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},6086 { bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6087 { 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},6088 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6089 { 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},6090 { bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6091 { 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},6092 6093 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6094 { 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},6095 { bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6096 { 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},6097 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6098 { 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},6099 { bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6100 { 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},6101 6102 { 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},6103 { 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},6104 { 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},6105 { 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},6106 { 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},6107 { 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},6108 { 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},6109 { 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},6110 6111 { 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},6112 { 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},6113 { 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},6114 { 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},6115 { 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},6116 { 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},6117 { 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},6118 { 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},6049 { bs3CpuInstr3_palignr_MM1_MM2_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValuesFF) }, 6050 { bs3CpuInstr3_palignr_MM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6051 { bs3CpuInstr3_palignr_MM1_MM2_000h_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues00) }, 6052 { bs3CpuInstr3_palignr_MM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6053 { bs3CpuInstr3_palignr_MM1_MM2_003h_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64B_03) }, 6054 { bs3CpuInstr3_palignr_MM1_FSxBX_003h_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64B_03) }, 6055 { bs3CpuInstr3_palignr_MM1_MM2_009h_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64B_09) }, 6056 { bs3CpuInstr3_palignr_MM1_FSxBX_009h_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64B_09) }, 6057 6058 { bs3CpuInstr3_palignr_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6059 { bs3CpuInstr3_palignr_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6060 { bs3CpuInstr3_palignr_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesFF) }, 6061 { bs3CpuInstr3_palignr_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6062 6063 { bs3CpuInstr3_palignr_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6064 { bs3CpuInstr3_palignr_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6065 { bs3CpuInstr3_palignr_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues00) }, 6066 { bs3CpuInstr3_palignr_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6067 6068 { bs3CpuInstr3_palignr_XMM1_XMM2_003h_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128B_03) }, 6069 { bs3CpuInstr3_palignr_XMM1_FSxBX_003h_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128B_03) }, 6070 { bs3CpuInstr3_palignr_XMM8_XMM9_003h_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128B_03) }, 6071 { bs3CpuInstr3_palignr_XMM8_FSxBX_003h_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128B_03) }, 6072 6073 { bs3CpuInstr3_palignr_XMM1_XMM2_013h_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128B_13) }, 6074 { bs3CpuInstr3_palignr_XMM1_FSxBX_013h_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128B_13) }, 6075 { bs3CpuInstr3_palignr_XMM8_XMM9_013h_icebp_c64, 255, RM_REG, T_SSSE3, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128B_13) }, 6076 { bs3CpuInstr3_palignr_XMM8_FSxBX_013h_icebp_c64, 255, RM_MEM, T_SSSE3, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128B_13) }, 6077 6078 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6079 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6080 { bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 6081 { bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6082 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6083 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6084 { bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 6085 { bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6086 6087 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6088 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6089 { bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 6090 { bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6091 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6092 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6093 { bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 6094 { bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6095 6096 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_003h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128B_03) }, 6097 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128B_03) }, 6098 { bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_003h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128B_03) }, 6099 { bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128B_03) }, 6100 { bs3CpuInstr3_vpalignr_XMM1_XMM2_XMM3_013h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128B_13) }, 6101 { bs3CpuInstr3_vpalignr_XMM1_XMM2_FSxBX_013h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128B_13) }, 6102 { bs3CpuInstr3_vpalignr_XMM8_XMM9_XMM10_013h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128B_13) }, 6103 { bs3CpuInstr3_vpalignr_XMM8_XMM9_FSxBX_013h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128B_13) }, 6104 6105 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_003h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256B_03) }, 6106 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256B_03) }, 6107 { bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_003h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256B_03) }, 6108 { bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256B_03) }, 6109 { bs3CpuInstr3_vpalignr_YMM1_YMM2_YMM3_013h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256B_13) }, 6110 { bs3CpuInstr3_vpalignr_YMM1_YMM2_FSxBX_013h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256B_13) }, 6111 { bs3CpuInstr3_vpalignr_YMM8_YMM9_YMM10_013h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256B_13) }, 6112 { bs3CpuInstr3_vpalignr_YMM8_YMM9_FSxBX_013h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256B_13) }, 6119 6113 }; 6120 6114 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 6169 6163 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 6170 6164 { 6171 { bs3CpuInstr3_pblendw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6172 { bs3CpuInstr3_pblendw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6173 { bs3CpuInstr3_pblendw_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6174 { bs3CpuInstr3_pblendw_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6175 { bs3CpuInstr3_pblendw_XMM1_XMM2_07Ah_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues7A), s_aValues7A},6176 { bs3CpuInstr3_pblendw_XMM1_FSxBX_07Ah_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6177 6178 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6179 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6180 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6181 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6182 6183 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6184 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6185 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6186 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6187 6188 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6189 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6190 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6191 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6165 { bs3CpuInstr3_pblendw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6166 { bs3CpuInstr3_pblendw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6167 { bs3CpuInstr3_pblendw_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6168 { bs3CpuInstr3_pblendw_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6169 { bs3CpuInstr3_pblendw_XMM1_XMM2_07Ah_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues7A) }, 6170 { bs3CpuInstr3_pblendw_XMM1_FSxBX_07Ah_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6171 6172 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6173 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6174 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6175 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6176 6177 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6178 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6179 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6180 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6181 6182 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6183 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6184 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6185 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6192 6186 }; 6193 6187 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 6194 6188 { 6195 { bs3CpuInstr3_pblendw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6196 { bs3CpuInstr3_pblendw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6197 { bs3CpuInstr3_pblendw_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6198 { bs3CpuInstr3_pblendw_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6199 { bs3CpuInstr3_pblendw_XMM1_XMM2_07Ah_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues7A), s_aValues7A},6200 { bs3CpuInstr3_pblendw_XMM1_FSxBX_07Ah_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6201 6202 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6203 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6204 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6205 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6206 6207 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6208 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6209 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6210 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6211 6212 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6213 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6214 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6215 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6189 { bs3CpuInstr3_pblendw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6190 { bs3CpuInstr3_pblendw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6191 { bs3CpuInstr3_pblendw_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6192 { bs3CpuInstr3_pblendw_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6193 { bs3CpuInstr3_pblendw_XMM1_XMM2_07Ah_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues7A) }, 6194 { bs3CpuInstr3_pblendw_XMM1_FSxBX_07Ah_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6195 6196 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6197 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6198 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6199 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6200 6201 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6202 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6203 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6204 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6205 6206 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6207 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6208 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6209 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6216 6210 }; 6217 6211 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 6218 6212 { 6219 { bs3CpuInstr3_pblendw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6220 { bs3CpuInstr3_pblendw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6221 { bs3CpuInstr3_pblendw_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6222 { bs3CpuInstr3_pblendw_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6223 6224 { bs3CpuInstr3_pblendw_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6225 { bs3CpuInstr3_pblendw_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6226 { bs3CpuInstr3_pblendw_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00},6227 { bs3CpuInstr3_pblendw_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6228 6229 { bs3CpuInstr3_pblendw_XMM1_XMM2_07Ah_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues7A), s_aValues7A},6230 { bs3CpuInstr3_pblendw_XMM1_FSxBX_07Ah_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6231 { bs3CpuInstr3_pblendw_XMM8_XMM9_07Ah_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues7A), s_aValues7A},6232 { bs3CpuInstr3_pblendw_XMM8_FSxBX_07Ah_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6233 6234 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6235 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6236 { bs3CpuInstr3_vpblendw_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6237 { bs3CpuInstr3_vpblendw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6238 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6239 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6240 { bs3CpuInstr3_vpblendw_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6241 { bs3CpuInstr3_vpblendw_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6242 6243 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6244 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6245 { bs3CpuInstr3_vpblendw_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6246 { bs3CpuInstr3_vpblendw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6247 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6248 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6249 { bs3CpuInstr3_vpblendw_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6250 { bs3CpuInstr3_vpblendw_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6251 6252 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6253 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6254 { bs3CpuInstr3_vpblendw_XMM8_XMM9_XMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues7A), s_aValues7A},6255 { bs3CpuInstr3_vpblendw_XMM8_XMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6256 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6257 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6258 { bs3CpuInstr3_vpblendw_YMM8_YMM9_YMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues7A), s_aValues7A},6259 { bs3CpuInstr3_vpblendw_YMM8_YMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6213 { bs3CpuInstr3_pblendw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6214 { bs3CpuInstr3_pblendw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6215 { bs3CpuInstr3_pblendw_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesFF) }, 6216 { bs3CpuInstr3_pblendw_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6217 6218 { bs3CpuInstr3_pblendw_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6219 { bs3CpuInstr3_pblendw_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6220 { bs3CpuInstr3_pblendw_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues00) }, 6221 { bs3CpuInstr3_pblendw_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6222 6223 { bs3CpuInstr3_pblendw_XMM1_XMM2_07Ah_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues7A) }, 6224 { bs3CpuInstr3_pblendw_XMM1_FSxBX_07Ah_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6225 { bs3CpuInstr3_pblendw_XMM8_XMM9_07Ah_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues7A) }, 6226 { bs3CpuInstr3_pblendw_XMM8_FSxBX_07Ah_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6227 6228 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6229 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6230 { bs3CpuInstr3_vpblendw_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 6231 { bs3CpuInstr3_vpblendw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6232 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6233 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6234 { bs3CpuInstr3_vpblendw_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 6235 { bs3CpuInstr3_vpblendw_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6236 6237 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6238 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6239 { bs3CpuInstr3_vpblendw_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 6240 { bs3CpuInstr3_vpblendw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6241 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6242 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6243 { bs3CpuInstr3_vpblendw_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 6244 { bs3CpuInstr3_vpblendw_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6245 6246 { bs3CpuInstr3_vpblendw_XMM1_XMM2_XMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6247 { bs3CpuInstr3_vpblendw_XMM1_XMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6248 { bs3CpuInstr3_vpblendw_XMM8_XMM9_XMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues7A) }, 6249 { bs3CpuInstr3_vpblendw_XMM8_XMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6250 { bs3CpuInstr3_vpblendw_YMM1_YMM2_YMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6251 { bs3CpuInstr3_vpblendw_YMM1_YMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6252 { bs3CpuInstr3_vpblendw_YMM8_YMM9_YMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues7A) }, 6253 { bs3CpuInstr3_vpblendw_YMM8_YMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6260 6254 }; 6261 6255 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 6311 6305 { 6312 6306 6313 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6314 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6315 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6316 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6317 6318 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6319 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6320 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6321 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6322 6323 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6324 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6325 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6326 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6307 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6308 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6309 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6310 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6311 6312 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6313 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6314 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6315 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6316 6317 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6318 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6319 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6320 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6327 6321 }; 6328 6322 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 6329 6323 { 6330 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6331 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6332 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6333 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6334 6335 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6336 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6337 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6338 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6339 6340 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6341 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6342 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6343 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6324 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6325 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6326 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6327 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6328 6329 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6330 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6331 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6332 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6333 6334 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6335 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6336 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6337 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6344 6338 }; 6345 6339 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 6346 6340 { 6347 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6348 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6349 { bs3CpuInstr3_vpblendd_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6350 { bs3CpuInstr3_vpblendd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6351 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6352 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6353 { bs3CpuInstr3_vpblendd_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6354 { bs3CpuInstr3_vpblendd_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6355 6356 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6357 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6358 { bs3CpuInstr3_vpblendd_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6359 { bs3CpuInstr3_vpblendd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6360 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6361 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6362 { bs3CpuInstr3_vpblendd_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6363 { bs3CpuInstr3_vpblendd_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6364 6365 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6366 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6367 { bs3CpuInstr3_vpblendd_XMM8_XMM9_XMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues7A), s_aValues7A},6368 { bs3CpuInstr3_vpblendd_XMM8_XMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6369 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6370 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6371 { bs3CpuInstr3_vpblendd_YMM8_YMM9_YMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues7A), s_aValues7A},6372 { bs3CpuInstr3_vpblendd_YMM8_YMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6341 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6342 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6343 { bs3CpuInstr3_vpblendd_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 6344 { bs3CpuInstr3_vpblendd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6345 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6346 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6347 { bs3CpuInstr3_vpblendd_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 6348 { bs3CpuInstr3_vpblendd_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6349 6350 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6351 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6352 { bs3CpuInstr3_vpblendd_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 6353 { bs3CpuInstr3_vpblendd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6354 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6355 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6356 { bs3CpuInstr3_vpblendd_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 6357 { bs3CpuInstr3_vpblendd_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6358 6359 { bs3CpuInstr3_vpblendd_XMM1_XMM2_XMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6360 { bs3CpuInstr3_vpblendd_XMM1_XMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6361 { bs3CpuInstr3_vpblendd_XMM8_XMM9_XMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues7A) }, 6362 { bs3CpuInstr3_vpblendd_XMM8_XMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6363 { bs3CpuInstr3_vpblendd_YMM1_YMM2_YMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6364 { bs3CpuInstr3_vpblendd_YMM1_YMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6365 { bs3CpuInstr3_vpblendd_YMM8_YMM9_YMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues7A) }, 6366 { bs3CpuInstr3_vpblendd_YMM8_YMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6373 6367 }; 6374 6368 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 6423 6417 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 6424 6418 { 6425 { bs3CpuInstr3_blendps_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6426 { bs3CpuInstr3_blendps_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6427 { bs3CpuInstr3_blendps_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6428 { bs3CpuInstr3_blendps_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6429 { bs3CpuInstr3_blendps_XMM1_XMM2_07Ah_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues7A), s_aValues7A},6430 { bs3CpuInstr3_blendps_XMM1_FSxBX_07Ah_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6431 6432 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6433 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6434 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6435 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6436 6437 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6438 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6439 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6440 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6441 6442 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6443 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6444 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6445 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6419 { bs3CpuInstr3_blendps_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6420 { bs3CpuInstr3_blendps_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6421 { bs3CpuInstr3_blendps_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6422 { bs3CpuInstr3_blendps_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6423 { bs3CpuInstr3_blendps_XMM1_XMM2_07Ah_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues7A) }, 6424 { bs3CpuInstr3_blendps_XMM1_FSxBX_07Ah_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6425 6426 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6427 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6428 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6429 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6430 6431 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6432 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6433 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6434 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6435 6436 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6437 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6438 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_07Ah_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6439 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_07Ah_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6446 6440 }; 6447 6441 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 6448 6442 { 6449 { bs3CpuInstr3_blendps_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6450 { bs3CpuInstr3_blendps_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6451 { bs3CpuInstr3_blendps_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6452 { bs3CpuInstr3_blendps_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6453 { bs3CpuInstr3_blendps_XMM1_XMM2_07Ah_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues7A), s_aValues7A},6454 { bs3CpuInstr3_blendps_XMM1_FSxBX_07Ah_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6455 6456 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6457 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6458 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6459 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6460 6461 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6462 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6463 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6464 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6465 6466 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6467 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6468 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6469 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6443 { bs3CpuInstr3_blendps_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6444 { bs3CpuInstr3_blendps_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6445 { bs3CpuInstr3_blendps_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6446 { bs3CpuInstr3_blendps_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6447 { bs3CpuInstr3_blendps_XMM1_XMM2_07Ah_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues7A) }, 6448 { bs3CpuInstr3_blendps_XMM1_FSxBX_07Ah_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6449 6450 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6451 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6452 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6453 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6454 6455 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6456 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6457 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6458 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6459 6460 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6461 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6462 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_07Ah_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6463 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_07Ah_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6470 6464 }; 6471 6465 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 6472 6466 { 6473 { bs3CpuInstr3_blendps_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6474 { bs3CpuInstr3_blendps_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6475 { bs3CpuInstr3_blendps_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6476 { bs3CpuInstr3_blendps_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6477 6478 { bs3CpuInstr3_blendps_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6479 { bs3CpuInstr3_blendps_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6480 { bs3CpuInstr3_blendps_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00},6481 { bs3CpuInstr3_blendps_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6482 6483 { bs3CpuInstr3_blendps_XMM1_XMM2_07Ah_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues7A), s_aValues7A},6484 { bs3CpuInstr3_blendps_XMM1_FSxBX_07Ah_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6485 { bs3CpuInstr3_blendps_XMM8_XMM9_07Ah_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues7A), s_aValues7A},6486 { bs3CpuInstr3_blendps_XMM8_FSxBX_07Ah_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6487 6488 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6489 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6490 { bs3CpuInstr3_vblendps_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6491 { bs3CpuInstr3_vblendps_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6492 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6493 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6494 { bs3CpuInstr3_vblendps_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6495 { bs3CpuInstr3_vblendps_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6496 6497 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6498 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6499 { bs3CpuInstr3_vblendps_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6500 { bs3CpuInstr3_vblendps_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6501 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6502 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6503 { bs3CpuInstr3_vblendps_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6504 { bs3CpuInstr3_vblendps_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6505 6506 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6507 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6508 { bs3CpuInstr3_vblendps_XMM8_XMM9_XMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues7A), s_aValues7A},6509 { bs3CpuInstr3_vblendps_XMM8_XMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6510 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues7A), s_aValues7A},6511 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6512 { bs3CpuInstr3_vblendps_YMM8_YMM9_YMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues7A), s_aValues7A},6513 { bs3CpuInstr3_vblendps_YMM8_YMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues7A), s_aValues7A},6467 { bs3CpuInstr3_blendps_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6468 { bs3CpuInstr3_blendps_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6469 { bs3CpuInstr3_blendps_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesFF) }, 6470 { bs3CpuInstr3_blendps_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6471 6472 { bs3CpuInstr3_blendps_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6473 { bs3CpuInstr3_blendps_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6474 { bs3CpuInstr3_blendps_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues00) }, 6475 { bs3CpuInstr3_blendps_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6476 6477 { bs3CpuInstr3_blendps_XMM1_XMM2_07Ah_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues7A) }, 6478 { bs3CpuInstr3_blendps_XMM1_FSxBX_07Ah_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6479 { bs3CpuInstr3_blendps_XMM8_XMM9_07Ah_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues7A) }, 6480 { bs3CpuInstr3_blendps_XMM8_FSxBX_07Ah_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6481 6482 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6483 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6484 { bs3CpuInstr3_vblendps_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 6485 { bs3CpuInstr3_vblendps_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6486 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6487 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6488 { bs3CpuInstr3_vblendps_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 6489 { bs3CpuInstr3_vblendps_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6490 6491 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6492 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6493 { bs3CpuInstr3_vblendps_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 6494 { bs3CpuInstr3_vblendps_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6495 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6496 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6497 { bs3CpuInstr3_vblendps_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 6498 { bs3CpuInstr3_vblendps_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6499 6500 { bs3CpuInstr3_vblendps_XMM1_XMM2_XMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues7A) }, 6501 { bs3CpuInstr3_vblendps_XMM1_XMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6502 { bs3CpuInstr3_vblendps_XMM8_XMM9_XMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues7A) }, 6503 { bs3CpuInstr3_vblendps_XMM8_XMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6504 { bs3CpuInstr3_vblendps_YMM1_YMM2_YMM3_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues7A) }, 6505 { bs3CpuInstr3_vblendps_YMM1_YMM2_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6506 { bs3CpuInstr3_vblendps_YMM8_YMM9_YMM10_07Ah_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues7A) }, 6507 { bs3CpuInstr3_vblendps_YMM8_YMM9_FSxBX_07Ah_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues7A) }, 6514 6508 }; 6515 6509 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 6564 6558 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 6565 6559 { 6566 { bs3CpuInstr3_blendpd_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6567 { bs3CpuInstr3_blendpd_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6568 { bs3CpuInstr3_blendpd_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6569 { bs3CpuInstr3_blendpd_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6570 { bs3CpuInstr3_blendpd_XMM1_XMM2_006h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues06), s_aValues06},6571 { bs3CpuInstr3_blendpd_XMM1_FSxBX_006h_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6572 6573 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6574 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6575 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6576 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6577 6578 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6579 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6580 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6581 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6582 6583 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_006h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues06), s_aValues06},6584 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_006h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6585 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_006h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues06), s_aValues06},6586 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_006h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6560 { bs3CpuInstr3_blendpd_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6561 { bs3CpuInstr3_blendpd_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6562 { bs3CpuInstr3_blendpd_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6563 { bs3CpuInstr3_blendpd_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6564 { bs3CpuInstr3_blendpd_XMM1_XMM2_006h_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues06) }, 6565 { bs3CpuInstr3_blendpd_XMM1_FSxBX_006h_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6566 6567 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6568 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6569 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6570 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6571 6572 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6573 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6574 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6575 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6576 6577 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_006h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues06) }, 6578 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_006h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6579 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_006h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues06) }, 6580 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_006h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6587 6581 }; 6588 6582 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 6589 6583 { 6590 { bs3CpuInstr3_blendpd_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6591 { bs3CpuInstr3_blendpd_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6592 { bs3CpuInstr3_blendpd_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6593 { bs3CpuInstr3_blendpd_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6594 { bs3CpuInstr3_blendpd_XMM1_XMM2_006h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues06), s_aValues06},6595 { bs3CpuInstr3_blendpd_XMM1_FSxBX_006h_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6596 6597 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6598 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6599 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6600 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6601 6602 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6603 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6604 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6605 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6606 6607 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_006h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues06), s_aValues06},6608 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_006h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6609 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_006h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues06), s_aValues06},6610 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_006h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6584 { bs3CpuInstr3_blendpd_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6585 { bs3CpuInstr3_blendpd_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6586 { bs3CpuInstr3_blendpd_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6587 { bs3CpuInstr3_blendpd_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6588 { bs3CpuInstr3_blendpd_XMM1_XMM2_006h_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues06) }, 6589 { bs3CpuInstr3_blendpd_XMM1_FSxBX_006h_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6590 6591 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6592 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6593 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6594 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6595 6596 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6597 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6598 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6599 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6600 6601 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_006h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues06) }, 6602 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_006h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6603 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_006h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues06) }, 6604 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_006h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6611 6605 }; 6612 6606 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 6613 6607 { 6614 { bs3CpuInstr3_blendpd_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6615 { bs3CpuInstr3_blendpd_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6616 { bs3CpuInstr3_blendpd_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6617 { bs3CpuInstr3_blendpd_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6618 6619 { bs3CpuInstr3_blendpd_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6620 { bs3CpuInstr3_blendpd_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6621 { bs3CpuInstr3_blendpd_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00},6622 { bs3CpuInstr3_blendpd_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6623 6624 { bs3CpuInstr3_blendpd_XMM1_XMM2_006h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues06), s_aValues06},6625 { bs3CpuInstr3_blendpd_XMM1_FSxBX_006h_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6626 { bs3CpuInstr3_blendpd_XMM8_XMM9_006h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues06), s_aValues06},6627 { bs3CpuInstr3_blendpd_XMM8_FSxBX_006h_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6628 6629 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6630 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6631 { bs3CpuInstr3_vblendpd_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6632 { bs3CpuInstr3_vblendpd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6633 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6634 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6635 { bs3CpuInstr3_vblendpd_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6636 { bs3CpuInstr3_vblendpd_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6637 6638 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6639 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6640 { bs3CpuInstr3_vblendpd_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6641 { bs3CpuInstr3_vblendpd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6642 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6643 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6644 { bs3CpuInstr3_vblendpd_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6645 { bs3CpuInstr3_vblendpd_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6646 6647 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_006h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues06), s_aValues06},6648 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_006h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6649 { bs3CpuInstr3_vblendpd_XMM8_XMM9_XMM10_006h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues06), s_aValues06},6650 { bs3CpuInstr3_vblendpd_XMM8_XMM9_FSxBX_006h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6651 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_006h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues06), s_aValues06},6652 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_006h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6653 { bs3CpuInstr3_vblendpd_YMM8_YMM9_YMM10_006h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues06), s_aValues06},6654 { bs3CpuInstr3_vblendpd_YMM8_YMM9_FSxBX_006h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues06), s_aValues06},6608 { bs3CpuInstr3_blendpd_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6609 { bs3CpuInstr3_blendpd_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6610 { bs3CpuInstr3_blendpd_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesFF) }, 6611 { bs3CpuInstr3_blendpd_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6612 6613 { bs3CpuInstr3_blendpd_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6614 { bs3CpuInstr3_blendpd_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6615 { bs3CpuInstr3_blendpd_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues00) }, 6616 { bs3CpuInstr3_blendpd_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6617 6618 { bs3CpuInstr3_blendpd_XMM1_XMM2_006h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues06) }, 6619 { bs3CpuInstr3_blendpd_XMM1_FSxBX_006h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6620 { bs3CpuInstr3_blendpd_XMM8_XMM9_006h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues06) }, 6621 { bs3CpuInstr3_blendpd_XMM8_FSxBX_006h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6622 6623 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6624 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6625 { bs3CpuInstr3_vblendpd_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 6626 { bs3CpuInstr3_vblendpd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6627 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 6628 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6629 { bs3CpuInstr3_vblendpd_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 6630 { bs3CpuInstr3_vblendpd_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6631 6632 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6633 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6634 { bs3CpuInstr3_vblendpd_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 6635 { bs3CpuInstr3_vblendpd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6636 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 6637 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6638 { bs3CpuInstr3_vblendpd_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 6639 { bs3CpuInstr3_vblendpd_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6640 6641 { bs3CpuInstr3_vblendpd_XMM1_XMM2_XMM3_006h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues06) }, 6642 { bs3CpuInstr3_vblendpd_XMM1_XMM2_FSxBX_006h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6643 { bs3CpuInstr3_vblendpd_XMM8_XMM9_XMM10_006h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues06) }, 6644 { bs3CpuInstr3_vblendpd_XMM8_XMM9_FSxBX_006h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6645 { bs3CpuInstr3_vblendpd_YMM1_YMM2_YMM3_006h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues06) }, 6646 { bs3CpuInstr3_vblendpd_YMM1_YMM2_FSxBX_006h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6647 { bs3CpuInstr3_vblendpd_YMM8_YMM9_YMM10_006h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues06) }, 6648 { bs3CpuInstr3_vblendpd_YMM8_YMM9_FSxBX_006h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues06) }, 6655 6649 }; 6656 6650 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 6693 6687 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 6694 6688 { 6695 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_PCLMUL, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6696 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_PCLMUL, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6697 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_PCLMUL, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6698 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_PCLMUL, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6699 6700 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_PCLMUL, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6701 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6702 6703 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_PCLMUL, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6704 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6689 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_PCLMUL, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6690 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_PCLMUL, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6691 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_PCLMUL, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6692 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_PCLMUL, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6693 6694 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_PCLMUL, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6695 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6696 6697 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_PCLMUL, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6698 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6705 6699 }; 6706 6700 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 6707 6701 { 6708 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_PCLMUL, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6709 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_PCLMUL, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6710 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_PCLMUL, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6711 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_PCLMUL, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6712 6713 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_PCLMUL, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6714 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6715 6716 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_PCLMUL, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6717 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6702 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_PCLMUL, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6703 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_PCLMUL, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6704 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_PCLMUL, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6705 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_PCLMUL, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6706 6707 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_PCLMUL, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6708 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6709 6710 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_PCLMUL, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6711 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6718 6712 }; 6719 6713 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 6720 6714 { 6721 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_PCLMUL, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6722 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_PCLMUL, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6723 { bs3CpuInstr3_pclmulqdq_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_PCLMUL, 8, 8, 9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6724 { bs3CpuInstr3_pclmulqdq_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_PCLMUL, 8, 8, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6725 6726 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_PCLMUL, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},6727 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_PCLMUL, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6728 { bs3CpuInstr3_pclmulqdq_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_PCLMUL, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00},6729 { bs3CpuInstr3_pclmulqdq_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_PCLMUL, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6730 6731 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_PCLMUL, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6732 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6733 { bs3CpuInstr3_vpclmulqdq_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_PCLMUL, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6734 { bs3CpuInstr3_vpclmulqdq_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},6735 6736 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_PCLMUL, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},6737 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6738 { bs3CpuInstr3_vpclmulqdq_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_PCLMUL, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},6739 { bs3CpuInstr3_vpclmulqdq_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6715 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_PCLMUL, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6716 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_PCLMUL, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6717 { bs3CpuInstr3_pclmulqdq_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_PCLMUL, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesFF) }, 6718 { bs3CpuInstr3_pclmulqdq_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_PCLMUL, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6719 6720 { bs3CpuInstr3_pclmulqdq_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_PCLMUL, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6721 { bs3CpuInstr3_pclmulqdq_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_PCLMUL, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6722 { bs3CpuInstr3_pclmulqdq_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_PCLMUL, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues00) }, 6723 { bs3CpuInstr3_pclmulqdq_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_PCLMUL, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6724 6725 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_PCLMUL, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 6726 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6727 { bs3CpuInstr3_vpclmulqdq_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_PCLMUL, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 6728 { bs3CpuInstr3_vpclmulqdq_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6729 6730 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_PCLMUL, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 6731 { bs3CpuInstr3_vpclmulqdq_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6732 { bs3CpuInstr3_vpclmulqdq_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_PCLMUL, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 6733 { bs3CpuInstr3_vpclmulqdq_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_PCLMUL, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 6740 6734 }; 6741 6735 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 6862 6856 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 6863 6857 { 6864 { bs3CpuInstr3_sha1nexte_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Nexte), s_aValuesSha1Nexte},6865 { bs3CpuInstr3_sha1nexte_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Nexte), s_aValuesSha1Nexte},6866 6867 { bs3CpuInstr3_sha1msg1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Msg1), s_aValuesSha1Msg1},6868 { bs3CpuInstr3_sha1msg1_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Msg1), s_aValuesSha1Msg1},6869 6870 { bs3CpuInstr3_sha1msg2_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Msg2), s_aValuesSha1Msg2},6871 { bs3CpuInstr3_sha1msg2_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Msg2), s_aValuesSha1Msg2},6872 6873 { bs3CpuInstr3_sha256msg1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha256Msg1), s_aValuesSha256Msg1},6874 { bs3CpuInstr3_sha256msg1_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha256Msg1), s_aValuesSha256Msg1},6875 6876 { bs3CpuInstr3_sha256msg2_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha256Msg2), s_aValuesSha256Msg2},6877 { bs3CpuInstr3_sha256msg2_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha256Msg2), s_aValuesSha256Msg2},6878 6879 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_00), s_aValuesSha1Rnds4_00},6880 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_00), s_aValuesSha1Rnds4_00},6881 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_01), s_aValuesSha1Rnds4_01},6882 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_001h_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_01), s_aValuesSha1Rnds4_01},6883 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_002h_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_02), s_aValuesSha1Rnds4_02},6884 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_002h_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_02), s_aValuesSha1Rnds4_02},6885 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_003h_icebp_c16, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_03), s_aValuesSha1Rnds4_03},6886 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_003h_icebp_c16, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_03), s_aValuesSha1Rnds4_03},6858 { bs3CpuInstr3_sha1nexte_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Nexte) }, 6859 { bs3CpuInstr3_sha1nexte_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Nexte) }, 6860 6861 { bs3CpuInstr3_sha1msg1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Msg1) }, 6862 { bs3CpuInstr3_sha1msg1_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Msg1) }, 6863 6864 { bs3CpuInstr3_sha1msg2_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Msg2) }, 6865 { bs3CpuInstr3_sha1msg2_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Msg2) }, 6866 6867 { bs3CpuInstr3_sha256msg1_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha256Msg1) }, 6868 { bs3CpuInstr3_sha256msg1_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha256Msg1) }, 6869 6870 { bs3CpuInstr3_sha256msg2_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha256Msg2) }, 6871 { bs3CpuInstr3_sha256msg2_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha256Msg2) }, 6872 6873 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_00) }, 6874 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_00) }, 6875 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_01) }, 6876 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_001h_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_01) }, 6877 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_002h_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_02) }, 6878 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_002h_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_02) }, 6879 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_003h_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_03) }, 6880 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_003h_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_03) }, 6887 6881 6888 6882 }; 6889 6883 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 6890 6884 { 6891 { bs3CpuInstr3_sha1nexte_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Nexte), s_aValuesSha1Nexte},6892 { bs3CpuInstr3_sha1nexte_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Nexte), s_aValuesSha1Nexte},6893 6894 { bs3CpuInstr3_sha1msg1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Msg1), s_aValuesSha1Msg1},6895 { bs3CpuInstr3_sha1msg1_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Msg1), s_aValuesSha1Msg1},6896 6897 { bs3CpuInstr3_sha1msg2_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Msg2), s_aValuesSha1Msg2},6898 { bs3CpuInstr3_sha1msg2_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Msg2), s_aValuesSha1Msg2},6899 6900 { bs3CpuInstr3_sha256msg1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha256Msg1), s_aValuesSha256Msg1},6901 { bs3CpuInstr3_sha256msg1_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha256Msg1), s_aValuesSha256Msg1},6902 6903 { bs3CpuInstr3_sha256msg2_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha256Msg2), s_aValuesSha256Msg2},6904 { bs3CpuInstr3_sha256msg2_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha256Msg2), s_aValuesSha256Msg2},6905 6906 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_00), s_aValuesSha1Rnds4_00},6907 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_00), s_aValuesSha1Rnds4_00},6908 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_01), s_aValuesSha1Rnds4_01},6909 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_001h_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_01), s_aValuesSha1Rnds4_01},6910 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_002h_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_02), s_aValuesSha1Rnds4_02},6911 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_002h_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_02), s_aValuesSha1Rnds4_02},6912 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_003h_icebp_c32, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_03), s_aValuesSha1Rnds4_03},6913 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_003h_icebp_c32, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_03), s_aValuesSha1Rnds4_03},6885 { bs3CpuInstr3_sha1nexte_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Nexte) }, 6886 { bs3CpuInstr3_sha1nexte_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Nexte) }, 6887 6888 { bs3CpuInstr3_sha1msg1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Msg1) }, 6889 { bs3CpuInstr3_sha1msg1_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Msg1) }, 6890 6891 { bs3CpuInstr3_sha1msg2_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Msg2) }, 6892 { bs3CpuInstr3_sha1msg2_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Msg2) }, 6893 6894 { bs3CpuInstr3_sha256msg1_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha256Msg1) }, 6895 { bs3CpuInstr3_sha256msg1_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha256Msg1) }, 6896 6897 { bs3CpuInstr3_sha256msg2_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha256Msg2) }, 6898 { bs3CpuInstr3_sha256msg2_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha256Msg2) }, 6899 6900 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_00) }, 6901 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_00) }, 6902 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_01) }, 6903 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_001h_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_01) }, 6904 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_002h_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_02) }, 6905 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_002h_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_02) }, 6906 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_003h_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_03) }, 6907 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_003h_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_03) }, 6914 6908 6915 6909 }; 6916 6910 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 6917 6911 { 6918 { bs3CpuInstr3_sha1nexte_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Nexte), s_aValuesSha1Nexte},6919 { bs3CpuInstr3_sha1nexte_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Nexte), s_aValuesSha1Nexte},6920 { bs3CpuInstr3_sha1nexte_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha1Nexte), s_aValuesSha1Nexte},6921 { bs3CpuInstr3_sha1nexte_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha1Nexte), s_aValuesSha1Nexte},6922 6923 { bs3CpuInstr3_sha1msg1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Msg1), s_aValuesSha1Msg1},6924 { bs3CpuInstr3_sha1msg1_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Msg1), s_aValuesSha1Msg1},6925 { bs3CpuInstr3_sha1msg1_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha1Msg1), s_aValuesSha1Msg1},6926 { bs3CpuInstr3_sha1msg1_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha1Msg1), s_aValuesSha1Msg1},6927 6928 { bs3CpuInstr3_sha1msg2_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Msg2), s_aValuesSha1Msg2},6929 { bs3CpuInstr3_sha1msg2_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Msg2), s_aValuesSha1Msg2},6930 { bs3CpuInstr3_sha1msg2_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha1Msg2), s_aValuesSha1Msg2},6931 { bs3CpuInstr3_sha1msg2_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha1Msg2), s_aValuesSha1Msg2},6932 6933 { bs3CpuInstr3_sha256msg1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha256Msg1), s_aValuesSha256Msg1},6934 { bs3CpuInstr3_sha256msg1_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha256Msg1), s_aValuesSha256Msg1},6935 { bs3CpuInstr3_sha256msg1_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha256Msg1), s_aValuesSha256Msg1},6936 { bs3CpuInstr3_sha256msg1_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha256Msg1), s_aValuesSha256Msg1},6937 6938 { bs3CpuInstr3_sha256msg2_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha256Msg2), s_aValuesSha256Msg2},6939 { bs3CpuInstr3_sha256msg2_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha256Msg2), s_aValuesSha256Msg2},6940 { bs3CpuInstr3_sha256msg2_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha256Msg2), s_aValuesSha256Msg2},6941 { bs3CpuInstr3_sha256msg2_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha256Msg2), s_aValuesSha256Msg2},6942 6943 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_00), s_aValuesSha1Rnds4_00},6944 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_00), s_aValuesSha1Rnds4_00},6945 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_01), s_aValuesSha1Rnds4_01},6946 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_001h_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_01), s_aValuesSha1Rnds4_01},6947 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_002h_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_02), s_aValuesSha1Rnds4_02},6948 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_002h_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_02), s_aValuesSha1Rnds4_02},6949 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_003h_icebp_c64, 255, RM_REG, T_SHA, 1, 1, 2, RT_ELEMENTS(s_aValuesSha1Rnds4_03), s_aValuesSha1Rnds4_03},6950 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_003h_icebp_c64, 255, RM_MEM, T_SHA, 1, 1, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_03), s_aValuesSha1Rnds4_03},6951 6952 { bs3CpuInstr3_sha1rnds4_XMM9_XMM8_000h_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha1Rnds4_00), s_aValuesSha1Rnds4_00},6953 { bs3CpuInstr3_sha1rnds4_XMM9_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_00), s_aValuesSha1Rnds4_00},6954 { bs3CpuInstr3_sha1rnds4_XMM9_XMM8_001h_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha1Rnds4_01), s_aValuesSha1Rnds4_01},6955 { bs3CpuInstr3_sha1rnds4_XMM9_FSxBX_001h_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_01), s_aValuesSha1Rnds4_01},6956 { bs3CpuInstr3_sha1rnds4_XMM9_XMM8_002h_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha1Rnds4_02), s_aValuesSha1Rnds4_02},6957 { bs3CpuInstr3_sha1rnds4_XMM9_FSxBX_002h_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_02), s_aValuesSha1Rnds4_02},6958 { bs3CpuInstr3_sha1rnds4_XMM9_XMM8_003h_icebp_c64, 255, RM_REG, T_SHA, 9, 9, 8, RT_ELEMENTS(s_aValuesSha1Rnds4_03), s_aValuesSha1Rnds4_03},6959 { bs3CpuInstr3_sha1rnds4_XMM9_FSxBX_003h_icebp_c64, 255, RM_MEM, T_SHA, 9, 9, 255, RT_ELEMENTS(s_aValuesSha1Rnds4_03), s_aValuesSha1Rnds4_03},6912 { bs3CpuInstr3_sha1nexte_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Nexte) }, 6913 { bs3CpuInstr3_sha1nexte_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Nexte) }, 6914 { bs3CpuInstr3_sha1nexte_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha1Nexte) }, 6915 { bs3CpuInstr3_sha1nexte_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha1Nexte) }, 6916 6917 { bs3CpuInstr3_sha1msg1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Msg1) }, 6918 { bs3CpuInstr3_sha1msg1_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Msg1) }, 6919 { bs3CpuInstr3_sha1msg1_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha1Msg1) }, 6920 { bs3CpuInstr3_sha1msg1_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha1Msg1) }, 6921 6922 { bs3CpuInstr3_sha1msg2_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Msg2) }, 6923 { bs3CpuInstr3_sha1msg2_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Msg2) }, 6924 { bs3CpuInstr3_sha1msg2_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha1Msg2) }, 6925 { bs3CpuInstr3_sha1msg2_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha1Msg2) }, 6926 6927 { bs3CpuInstr3_sha256msg1_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha256Msg1) }, 6928 { bs3CpuInstr3_sha256msg1_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha256Msg1) }, 6929 { bs3CpuInstr3_sha256msg1_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha256Msg1) }, 6930 { bs3CpuInstr3_sha256msg1_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha256Msg1) }, 6931 6932 { bs3CpuInstr3_sha256msg2_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha256Msg2) }, 6933 { bs3CpuInstr3_sha256msg2_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha256Msg2) }, 6934 { bs3CpuInstr3_sha256msg2_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha256Msg2) }, 6935 { bs3CpuInstr3_sha256msg2_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha256Msg2) }, 6936 6937 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_00) }, 6938 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_00) }, 6939 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_01) }, 6940 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_001h_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_01) }, 6941 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_002h_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_02) }, 6942 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_002h_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_02) }, 6943 { bs3CpuInstr3_sha1rnds4_XMM1_XMM2_003h_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesSha1Rnds4_03) }, 6944 { bs3CpuInstr3_sha1rnds4_XMM1_FSxBX_003h_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_03) }, 6945 6946 { bs3CpuInstr3_sha1rnds4_XMM9_XMM8_000h_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha1Rnds4_00) }, 6947 { bs3CpuInstr3_sha1rnds4_XMM9_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_00) }, 6948 { bs3CpuInstr3_sha1rnds4_XMM9_XMM8_001h_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha1Rnds4_01) }, 6949 { bs3CpuInstr3_sha1rnds4_XMM9_FSxBX_001h_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_01) }, 6950 { bs3CpuInstr3_sha1rnds4_XMM9_XMM8_002h_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha1Rnds4_02) }, 6951 { bs3CpuInstr3_sha1rnds4_XMM9_FSxBX_002h_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_02) }, 6952 { bs3CpuInstr3_sha1rnds4_XMM9_XMM8_003h_icebp_c64, 255, RM_REG, T_SHA, XMM9, XMM9, XMM8, PASS_ELEMENTS(s_aValuesSha1Rnds4_03) }, 6953 { bs3CpuInstr3_sha1rnds4_XMM9_FSxBX_003h_icebp_c64, 255, RM_MEM, T_SHA, XMM9, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesSha1Rnds4_03) }, 6960 6954 }; 6961 6955 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 7000 6994 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 7001 6995 { 7002 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7003 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7004 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},7005 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7006 7007 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7008 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7009 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7010 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7011 7012 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7013 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7014 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7015 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},6996 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 6997 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 6998 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 6999 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7000 7001 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7002 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7003 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 7004 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7005 7006 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7007 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7008 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 7009 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7016 7010 }; 7017 7011 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 7018 7012 { 7019 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7020 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7021 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},7022 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7023 7024 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7025 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7026 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7027 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7028 7029 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7030 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7031 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7032 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7013 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 7014 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7015 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 7016 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7017 7018 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7019 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7020 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 7021 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7022 7023 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7024 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7025 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 7026 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7033 7027 }; 7034 7028 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 7035 7029 { 7036 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7037 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7038 { bs3CpuInstr3_mpsadbw_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7039 { bs3CpuInstr3_mpsadbw_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7040 7041 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00},7042 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7043 { bs3CpuInstr3_mpsadbw_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00},7044 { bs3CpuInstr3_mpsadbw_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7045 7046 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7047 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7048 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7049 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7050 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7051 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7052 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7053 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7054 7055 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7056 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7057 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},7058 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7059 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7060 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7061 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},7062 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7030 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 7031 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7032 { bs3CpuInstr3_mpsadbw_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesFF) }, 7033 { bs3CpuInstr3_mpsadbw_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7034 7035 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues00) }, 7036 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7037 { bs3CpuInstr3_mpsadbw_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues00) }, 7038 { bs3CpuInstr3_mpsadbw_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7039 7040 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7041 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7042 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 7043 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7044 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 7045 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7046 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 7047 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7048 7049 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7050 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7051 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 7052 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7053 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 7054 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7055 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 7056 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7063 7057 }; 7064 7058 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 7095 7089 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 7096 7090 { 7097 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7098 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7099 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7100 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7101 7102 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7103 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7104 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7105 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7091 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7092 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7093 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7094 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7095 7096 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7097 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7098 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7099 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7106 7100 }; 7107 7101 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 7108 7102 { 7109 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7110 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7111 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7112 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7113 7114 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7115 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7116 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7117 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7103 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7104 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7105 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7106 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7107 7108 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7109 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7110 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7111 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7118 7112 }; 7119 7113 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 7120 7114 { 7121 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7122 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7123 { bs3CpuInstr3_vinserti128_YMM8_YMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7124 { bs3CpuInstr3_vinserti128_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7125 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7126 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7127 { bs3CpuInstr3_vinserti128_YMM8_YMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},7128 { bs3CpuInstr3_vinserti128_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7129 7130 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7131 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7132 { bs3CpuInstr3_vinsertf128_YMM8_YMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7133 { bs3CpuInstr3_vinsertf128_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},7134 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},7135 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7136 { bs3CpuInstr3_vinsertf128_YMM8_YMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},7137 { bs3CpuInstr3_vinsertf128_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00},7115 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7116 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7117 { bs3CpuInstr3_vinserti128_YMM8_YMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 7118 { bs3CpuInstr3_vinserti128_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7119 { bs3CpuInstr3_vinserti128_YMM1_YMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7120 { bs3CpuInstr3_vinserti128_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7121 { bs3CpuInstr3_vinserti128_YMM8_YMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 7122 { bs3CpuInstr3_vinserti128_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7123 7124 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValuesFF) }, 7125 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7126 { bs3CpuInstr3_vinsertf128_YMM8_YMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValuesFF) }, 7127 { bs3CpuInstr3_vinsertf128_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 7128 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues00) }, 7129 { bs3CpuInstr3_vinsertf128_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7130 { bs3CpuInstr3_vinsertf128_YMM8_YMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues00) }, 7131 { bs3CpuInstr3_vinsertf128_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 7138 7132 }; 7139 7133 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 7197 7191 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 7198 7192 { 7199 { bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00},7200 { bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5},7201 { bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28},7202 { bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF},7203 { bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00},7204 { bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5},7205 { bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28},7206 { bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF},7207 7208 { 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},7209 { 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},7210 { 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},7211 { 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},7212 { 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},7213 { 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},7214 { 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},7215 { 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},7193 { bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBth00) }, 7194 { bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRegD5) }, 7195 { bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBth28) }, 7196 { bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBthFF) }, 7197 { bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBth00) }, 7198 { bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c16, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMemD5) }, 7199 { bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c16, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBth28) }, 7200 { bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBthFF) }, 7201 7202 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_000h_icebp_c16, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBth00) }, 7203 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0D5h_icebp_c16, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesRegD5) }, 7204 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_028h_icebp_c16, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBth28) }, 7205 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0FFh_icebp_c16, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBthFF) }, 7206 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBth00) }, 7207 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0D5h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesMemD5) }, 7208 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_028h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBth28) }, 7209 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBthFF) }, 7216 7210 }; 7217 7211 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 7218 7212 { 7219 { bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00},7220 { bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5},7221 { bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28},7222 { bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 2, 2, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF},7223 { bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00},7224 { bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5},7225 { bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28},7226 { bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM32, T_SSE4_1, 1, 2, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF},7227 7228 { 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},7229 { 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},7230 { 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},7231 { 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},7232 { 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},7233 { 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},7234 { 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},7235 { 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},7213 { bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBth00) }, 7214 { bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRegD5) }, 7215 { bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBth28) }, 7216 { bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, XMM2, PASS_ELEMENTS(s_aValuesBthFF) }, 7217 { bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBth00) }, 7218 { bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c32, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMemD5) }, 7219 { bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c32, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBth28) }, 7220 { bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBthFF) }, 7221 7222 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_000h_icebp_c32, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBth00) }, 7223 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0D5h_icebp_c32, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesRegD5) }, 7224 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_028h_icebp_c32, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBth28) }, 7225 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0FFh_icebp_c32, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBthFF) }, 7226 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBth00) }, 7227 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0D5h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesMemD5) }, 7228 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_028h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBth28) }, 7229 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBthFF) }, 7236 7230 }; 7237 7231 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 7238 7232 { 7239 { bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00},7240 { bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5},7241 { bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28},7242 { bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, 2, 2, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF},7243 { bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00},7244 { bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5},7245 { bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28},7246 { bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 1, 2, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF},7247 7248 { 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},7249 { 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},7250 { 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},7251 { 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},7252 { 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},7253 { 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},7254 { 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},7255 { 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},7256 7257 { bs3CpuInstr3_insertps_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00},7258 { bs3CpuInstr3_insertps_XMM8_XMM9_0D5h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesRegD5), s_aValuesRegD5},7259 { bs3CpuInstr3_insertps_XMM8_XMM9_028h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28},7260 { bs3CpuInstr3_insertps_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF},7261 { bs3CpuInstr3_insertps_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesBth00), s_aValuesBth00},7262 { bs3CpuInstr3_insertps_XMM8_FSxBX_0D5h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesMemD5), s_aValuesMemD5},7263 { bs3CpuInstr3_insertps_XMM8_FSxBX_028h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesBth28), s_aValuesBth28},7264 { bs3CpuInstr3_insertps_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValuesBthFF), s_aValuesBthFF},7265 7266 { 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},7267 { 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},7268 { 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},7269 { 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},7270 { 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},7271 { 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},7272 { 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},7273 { 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},7233 { bs3CpuInstr3_insertps_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBth00) }, 7234 { bs3CpuInstr3_insertps_XMM1_XMM2_0D5h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRegD5) }, 7235 { bs3CpuInstr3_insertps_XMM1_XMM2_028h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBth28) }, 7236 { bs3CpuInstr3_insertps_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, XMM2, PASS_ELEMENTS(s_aValuesBthFF) }, 7237 { bs3CpuInstr3_insertps_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBth00) }, 7238 { bs3CpuInstr3_insertps_XMM1_FSxBX_0D5h_icebp_c64, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMemD5) }, 7239 { bs3CpuInstr3_insertps_XMM1_FSxBX_028h_icebp_c64, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBth28) }, 7240 { bs3CpuInstr3_insertps_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBthFF) }, 7241 7242 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_000h_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBth00) }, 7243 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0D5h_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesRegD5) }, 7244 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_028h_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBth28) }, 7245 { bs3CpuInstr3_vinsertps_XMM1_XMM2_XMM3_0FFh_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesBthFF) }, 7246 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBth00) }, 7247 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0D5h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesMemD5) }, 7248 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_028h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBth28) }, 7249 { bs3CpuInstr3_vinsertps_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesBthFF) }, 7250 7251 { bs3CpuInstr3_insertps_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesBth00) }, 7252 { bs3CpuInstr3_insertps_XMM8_XMM9_0D5h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesRegD5) }, 7253 { bs3CpuInstr3_insertps_XMM8_XMM9_028h_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesBth28) }, 7254 { bs3CpuInstr3_insertps_XMM8_XMM9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValuesBthFF) }, 7255 { bs3CpuInstr3_insertps_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesBth00) }, 7256 { bs3CpuInstr3_insertps_XMM8_FSxBX_0D5h_icebp_c64, 255, RM_MEM32, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesMemD5) }, 7257 { bs3CpuInstr3_insertps_XMM8_FSxBX_028h_icebp_c64, 255, RM_MEM32, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesBth28) }, 7258 { bs3CpuInstr3_insertps_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesBthFF) }, 7259 7260 { bs3CpuInstr3_vinsertps_XMM8_XMM9_XMM10_000h_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesBth00) }, 7261 { bs3CpuInstr3_vinsertps_XMM8_XMM9_XMM10_0D5h_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesRegD5) }, 7262 { bs3CpuInstr3_vinsertps_XMM8_XMM9_XMM10_028h_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesBth28) }, 7263 { bs3CpuInstr3_vinsertps_XMM8_XMM9_XMM10_0FFh_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesBthFF) }, 7264 { bs3CpuInstr3_vinsertps_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBth00) }, 7265 { bs3CpuInstr3_vinsertps_XMM8_XMM9_FSxBX_0D5h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesMemD5) }, 7266 { bs3CpuInstr3_vinsertps_XMM8_XMM9_FSxBX_028h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBth28) }, 7267 { bs3CpuInstr3_vinsertps_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBthFF) }, 7274 7268 }; 7275 7269 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 7313 7307 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 7314 7308 { 7315 { bs3CpuInstr3_psubsb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7316 { bs3CpuInstr3_psubsb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7317 { bs3CpuInstr3_psubsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7318 { bs3CpuInstr3_psubsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7319 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7320 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7321 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7322 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7323 7324 { bs3CpuInstr3_psubsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7325 { bs3CpuInstr3_psubsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7326 { bs3CpuInstr3_psubsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7327 { bs3CpuInstr3_psubsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7328 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7329 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7330 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7331 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7309 { bs3CpuInstr3_psubsb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7310 { bs3CpuInstr3_psubsb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7311 { bs3CpuInstr3_psubsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7312 { bs3CpuInstr3_psubsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7313 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7314 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7315 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7316 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7317 7318 { bs3CpuInstr3_psubsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7319 { bs3CpuInstr3_psubsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7320 { bs3CpuInstr3_psubsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7321 { bs3CpuInstr3_psubsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7322 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7323 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7324 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7325 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7332 7326 }; 7333 7327 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 7334 7328 { 7335 { bs3CpuInstr3_psubsb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7336 { bs3CpuInstr3_psubsb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7337 { bs3CpuInstr3_psubsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7338 { bs3CpuInstr3_psubsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7339 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7340 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7341 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7342 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7343 7344 { bs3CpuInstr3_psubsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7345 { bs3CpuInstr3_psubsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7346 { bs3CpuInstr3_psubsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7347 { bs3CpuInstr3_psubsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7348 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7349 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7350 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7351 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7329 { bs3CpuInstr3_psubsb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7330 { bs3CpuInstr3_psubsb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7331 { bs3CpuInstr3_psubsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7332 { bs3CpuInstr3_psubsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7333 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7334 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7335 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7336 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7337 7338 { bs3CpuInstr3_psubsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7339 { bs3CpuInstr3_psubsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7340 { bs3CpuInstr3_psubsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7341 { bs3CpuInstr3_psubsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7342 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7343 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7344 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7345 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7352 7346 }; 7353 7347 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 7354 7348 { 7355 { bs3CpuInstr3_psubsb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7356 { bs3CpuInstr3_psubsb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7357 { bs3CpuInstr3_psubsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7358 { bs3CpuInstr3_psubsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7359 { bs3CpuInstr3_psubsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues8), s_aValues8},7360 { bs3CpuInstr3_psubsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7361 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7362 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7363 { bs3CpuInstr3_vpsubsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8},7364 { bs3CpuInstr3_vpsubsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7365 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7366 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7367 { bs3CpuInstr3_vpsubsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8},7368 { bs3CpuInstr3_vpsubsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7369 7370 { bs3CpuInstr3_psubsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7371 { bs3CpuInstr3_psubsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7372 { bs3CpuInstr3_psubsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7373 { bs3CpuInstr3_psubsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7374 { bs3CpuInstr3_psubsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues16), s_aValues16},7375 { bs3CpuInstr3_psubsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7376 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7377 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7378 { bs3CpuInstr3_vpsubsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7379 { bs3CpuInstr3_vpsubsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7380 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7381 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7382 { bs3CpuInstr3_vpsubsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7383 { bs3CpuInstr3_vpsubsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7384 }; 7385 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32,s_aTests64);7349 { bs3CpuInstr3_psubsb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7350 { bs3CpuInstr3_psubsb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7351 { bs3CpuInstr3_psubsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7352 { bs3CpuInstr3_psubsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7353 { bs3CpuInstr3_psubsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues8) }, 7354 { bs3CpuInstr3_psubsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7355 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7356 { bs3CpuInstr3_vpsubsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7357 { bs3CpuInstr3_vpsubsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues8) }, 7358 { bs3CpuInstr3_vpsubsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7359 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7360 { bs3CpuInstr3_vpsubsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7361 { bs3CpuInstr3_vpsubsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues8) }, 7362 { bs3CpuInstr3_vpsubsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7363 7364 { bs3CpuInstr3_psubsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7365 { bs3CpuInstr3_psubsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7366 { bs3CpuInstr3_psubsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7367 { bs3CpuInstr3_psubsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7368 { bs3CpuInstr3_psubsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues16) }, 7369 { bs3CpuInstr3_psubsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7370 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7371 { bs3CpuInstr3_vpsubsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7372 { bs3CpuInstr3_vpsubsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 7373 { bs3CpuInstr3_vpsubsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7374 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7375 { bs3CpuInstr3_vpsubsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7376 { bs3CpuInstr3_vpsubsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues16) }, 7377 { bs3CpuInstr3_vpsubsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7378 }; 7379 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16,s_aTests32,s_aTests64); 7386 7380 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); 7387 7381 return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, … … 7423 7417 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 7424 7418 { 7425 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7426 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7427 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7428 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7429 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7430 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7431 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7432 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7433 7434 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7435 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7436 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7437 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7438 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7439 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7440 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7441 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7419 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7420 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7421 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7422 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7423 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7424 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7425 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7426 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7427 7428 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7429 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7430 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7431 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7432 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7433 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7434 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7435 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7442 7436 }; 7443 7437 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 7444 7438 { 7445 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7446 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7447 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7448 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7449 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7450 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7451 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7452 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7453 7454 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7455 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7456 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7457 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7458 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7459 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7460 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7461 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7439 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7440 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7441 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7442 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7443 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7444 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7445 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7446 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7447 7448 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7449 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7450 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7451 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7452 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7453 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7454 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7455 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7462 7456 }; 7463 7457 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 7464 7458 { 7465 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7466 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7467 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7468 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7469 { bs3CpuInstr3_psubusb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues8), s_aValues8},7470 { bs3CpuInstr3_psubusb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7471 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7472 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7473 { bs3CpuInstr3_vpsubusb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8},7474 { bs3CpuInstr3_vpsubusb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7475 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7476 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7477 { bs3CpuInstr3_vpsubusb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8},7478 { bs3CpuInstr3_vpsubusb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7479 7480 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7481 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7482 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7483 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7484 { bs3CpuInstr3_psubusw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues16), s_aValues16},7485 { bs3CpuInstr3_psubusw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7486 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7487 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7488 { bs3CpuInstr3_vpsubusw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7489 { bs3CpuInstr3_vpsubusw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7490 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7491 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7492 { bs3CpuInstr3_vpsubusw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7493 { bs3CpuInstr3_vpsubusw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7459 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7460 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7461 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7462 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7463 { bs3CpuInstr3_psubusb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues8) }, 7464 { bs3CpuInstr3_psubusb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7465 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7466 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7467 { bs3CpuInstr3_vpsubusb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues8) }, 7468 { bs3CpuInstr3_vpsubusb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7469 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7470 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7471 { bs3CpuInstr3_vpsubusb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues8) }, 7472 { bs3CpuInstr3_vpsubusb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7473 7474 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7475 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7476 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7477 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7478 { bs3CpuInstr3_psubusw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues16) }, 7479 { bs3CpuInstr3_psubusw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7480 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7481 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7482 { bs3CpuInstr3_vpsubusw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 7483 { bs3CpuInstr3_vpsubusw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7484 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7485 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7486 { bs3CpuInstr3_vpsubusw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues16) }, 7487 { bs3CpuInstr3_vpsubusw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7494 7488 }; 7495 7489 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 7533 7527 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 7534 7528 { 7535 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7536 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7537 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7538 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7539 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7540 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7541 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7542 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7543 7544 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7545 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7546 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7547 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7548 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7549 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7550 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7551 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7529 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7530 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7531 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7532 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7533 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7534 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7535 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7536 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7537 7538 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7539 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7540 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7541 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7542 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7543 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7544 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7545 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7552 7546 }; 7553 7547 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 7554 7548 { 7555 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7556 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7557 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7558 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7559 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7560 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7561 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7562 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7563 7564 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7565 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7566 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7567 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7568 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7569 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7570 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7571 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7549 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7550 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7551 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7552 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7553 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7554 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7555 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7556 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7557 7558 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7559 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7560 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7561 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7562 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7563 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7564 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7565 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7572 7566 }; 7573 7567 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 7574 7568 { 7575 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7576 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7577 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7578 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7579 { bs3CpuInstr3_paddusb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues8), s_aValues8},7580 { bs3CpuInstr3_paddusb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7581 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7582 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7583 { bs3CpuInstr3_vpaddusb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8},7584 { bs3CpuInstr3_vpaddusb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7585 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7586 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7587 { bs3CpuInstr3_vpaddusb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8},7588 { bs3CpuInstr3_vpaddusb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7589 7590 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7591 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7592 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7593 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7594 { bs3CpuInstr3_paddusw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues16), s_aValues16},7595 { bs3CpuInstr3_paddusw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7596 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7597 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7598 { bs3CpuInstr3_vpaddusw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7599 { bs3CpuInstr3_vpaddusw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7600 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7601 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7602 { bs3CpuInstr3_vpaddusw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7603 { bs3CpuInstr3_vpaddusw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7569 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7570 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7571 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7572 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7573 { bs3CpuInstr3_paddusb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues8) }, 7574 { bs3CpuInstr3_paddusb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7575 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7576 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7577 { bs3CpuInstr3_vpaddusb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues8) }, 7578 { bs3CpuInstr3_vpaddusb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7579 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7580 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7581 { bs3CpuInstr3_vpaddusb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues8) }, 7582 { bs3CpuInstr3_vpaddusb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7583 7584 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7585 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7586 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7587 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7588 { bs3CpuInstr3_paddusw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues16) }, 7589 { bs3CpuInstr3_paddusw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7590 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7591 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7592 { bs3CpuInstr3_vpaddusw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 7593 { bs3CpuInstr3_vpaddusw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7594 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7595 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7596 { bs3CpuInstr3_vpaddusw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues16) }, 7597 { bs3CpuInstr3_vpaddusw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7604 7598 }; 7605 7599 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 7643 7637 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 7644 7638 { 7645 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7646 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7647 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7648 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7649 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7650 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7651 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7652 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7653 7654 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7655 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7656 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7657 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7658 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7659 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7660 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7661 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7639 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7640 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7641 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7642 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7643 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7644 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7645 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7646 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7647 7648 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7649 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7650 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7651 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7652 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7653 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7654 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7655 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7662 7656 }; 7663 7657 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 7664 7658 { 7665 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7666 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7667 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7668 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7669 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7670 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7671 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7672 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7673 7674 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7675 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7676 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7677 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7678 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7679 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7680 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7681 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7659 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7660 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7661 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7662 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7663 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7664 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7665 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7666 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7667 7668 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7669 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7670 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7671 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7672 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7673 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7674 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7675 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7682 7676 }; 7683 7677 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 7684 7678 { 7685 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7686 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7687 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8},7688 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7689 { bs3CpuInstr3_paddsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues8), s_aValues8},7690 { bs3CpuInstr3_paddsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7691 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7692 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7693 { bs3CpuInstr3_vpaddsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8},7694 { bs3CpuInstr3_vpaddsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7695 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8},7696 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7697 { bs3CpuInstr3_vpaddsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8},7698 { bs3CpuInstr3_vpaddsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8},7699 7700 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7701 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7702 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7703 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7704 { bs3CpuInstr3_paddsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues16), s_aValues16},7705 { bs3CpuInstr3_paddsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7706 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7707 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7708 { bs3CpuInstr3_vpaddsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7709 { bs3CpuInstr3_vpaddsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7710 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7711 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7712 { bs3CpuInstr3_vpaddsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7713 { bs3CpuInstr3_vpaddsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7679 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues8) }, 7680 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7681 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 7682 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7683 { bs3CpuInstr3_paddsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues8) }, 7684 { bs3CpuInstr3_paddsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7685 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues8) }, 7686 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7687 { bs3CpuInstr3_vpaddsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues8) }, 7688 { bs3CpuInstr3_vpaddsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7689 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues8) }, 7690 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7691 { bs3CpuInstr3_vpaddsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues8) }, 7692 { bs3CpuInstr3_vpaddsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 7693 7694 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7695 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7696 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7697 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7698 { bs3CpuInstr3_paddsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues16) }, 7699 { bs3CpuInstr3_paddsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7700 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7701 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7702 { bs3CpuInstr3_vpaddsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 7703 { bs3CpuInstr3_vpaddsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7704 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues16) }, 7705 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7706 { bs3CpuInstr3_vpaddsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues16) }, 7707 { bs3CpuInstr3_vpaddsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7714 7708 }; 7715 7709 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 7830 7824 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 7831 7825 { 7832 { bs3CpuInstr3_psllw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7833 { bs3CpuInstr3_psllw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7834 { bs3CpuInstr3_psllw_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7835 { bs3CpuInstr3_psllw_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7836 { bs3CpuInstr3_psllw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7837 { bs3CpuInstr3_psllw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7838 { bs3CpuInstr3_psllw_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7839 { bs3CpuInstr3_psllw_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7840 { bs3CpuInstr3_vpsllw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7841 { bs3CpuInstr3_vpsllw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7842 { bs3CpuInstr3_vpsllw_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7843 { bs3CpuInstr3_vpsllw_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7844 { bs3CpuInstr3_vpsllw_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7845 { bs3CpuInstr3_vpsllw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7846 { bs3CpuInstr3_vpsllw_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7847 { bs3CpuInstr3_vpsllw_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7848 7849 { bs3CpuInstr3_pslld_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},7850 { bs3CpuInstr3_pslld_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7851 { bs3CpuInstr3_pslld_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7852 { bs3CpuInstr3_pslld_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7853 { bs3CpuInstr3_pslld_MM1_021h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7854 { bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},7855 { bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7856 { bs3CpuInstr3_pslld_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7857 { bs3CpuInstr3_pslld_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7858 { bs3CpuInstr3_pslld_XMM1_021h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7859 { bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},7860 { bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7861 { bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7862 { bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7863 { bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7864 { bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},7865 { bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7866 { bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7867 { bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7868 { bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7869 7870 { bs3CpuInstr3_psllq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},7871 { bs3CpuInstr3_psllq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},7872 { bs3CpuInstr3_psllq_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},7873 { bs3CpuInstr3_psllq_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},7874 { bs3CpuInstr3_psllq_MM1_045h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7875 { bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},7876 { bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},7877 { bs3CpuInstr3_psllq_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},7878 { bs3CpuInstr3_psllq_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},7879 { bs3CpuInstr3_psllq_XMM1_045h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7880 { bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},7881 { bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},7882 { bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},7883 { bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},7884 { bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7885 { bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},7886 { bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},7887 { bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},7888 { bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},7889 { bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7826 { bs3CpuInstr3_psllw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7827 { bs3CpuInstr3_psllw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7828 { bs3CpuInstr3_psllw_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 7829 { bs3CpuInstr3_psllw_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 7830 { bs3CpuInstr3_psllw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7831 { bs3CpuInstr3_psllw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7832 { bs3CpuInstr3_psllw_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 7833 { bs3CpuInstr3_psllw_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 7834 { bs3CpuInstr3_vpsllw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7835 { bs3CpuInstr3_vpsllw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7836 { bs3CpuInstr3_vpsllw_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 7837 { bs3CpuInstr3_vpsllw_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 7838 { bs3CpuInstr3_vpsllw_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7839 { bs3CpuInstr3_vpsllw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7840 { bs3CpuInstr3_vpsllw_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 7841 { bs3CpuInstr3_vpsllw_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 7842 7843 { bs3CpuInstr3_pslld_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 7844 { bs3CpuInstr3_pslld_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7845 { bs3CpuInstr3_pslld_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 7846 { bs3CpuInstr3_pslld_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 7847 { bs3CpuInstr3_pslld_MM1_021h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 7848 { bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 7849 { bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7850 { bs3CpuInstr3_pslld_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 7851 { bs3CpuInstr3_pslld_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 7852 { bs3CpuInstr3_pslld_XMM1_021h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 7853 { bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 7854 { bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7855 { bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 7856 { bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 7857 { bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 7858 { bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 7859 { bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7860 { bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 7861 { bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 7862 { bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 7863 7864 { bs3CpuInstr3_psllq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 7865 { bs3CpuInstr3_psllq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 7866 { bs3CpuInstr3_psllq_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 7867 { bs3CpuInstr3_psllq_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 7868 { bs3CpuInstr3_psllq_MM1_045h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 7869 { bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 7870 { bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 7871 { bs3CpuInstr3_psllq_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 7872 { bs3CpuInstr3_psllq_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 7873 { bs3CpuInstr3_psllq_XMM1_045h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 7874 { bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 7875 { bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 7876 { bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 7877 { bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 7878 { bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 7879 { bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 7880 { bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 7881 { bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 7882 { bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 7883 { bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 7890 7884 }; 7891 7885 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 7892 7886 { 7893 { bs3CpuInstr3_psllw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7894 { bs3CpuInstr3_psllw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7895 { bs3CpuInstr3_psllw_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7896 { bs3CpuInstr3_psllw_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7897 { bs3CpuInstr3_psllw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7898 { bs3CpuInstr3_psllw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7899 { bs3CpuInstr3_psllw_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7900 { bs3CpuInstr3_psllw_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7901 { bs3CpuInstr3_vpsllw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7902 { bs3CpuInstr3_vpsllw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7903 { bs3CpuInstr3_vpsllw_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7904 { bs3CpuInstr3_vpsllw_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7905 { bs3CpuInstr3_vpsllw_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7906 { bs3CpuInstr3_vpsllw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7907 { bs3CpuInstr3_vpsllw_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7908 { bs3CpuInstr3_vpsllw_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7909 7910 { bs3CpuInstr3_pslld_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},7911 { bs3CpuInstr3_pslld_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7912 { bs3CpuInstr3_pslld_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7913 { bs3CpuInstr3_pslld_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7914 { bs3CpuInstr3_pslld_MM1_021h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7915 { bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},7916 { bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7917 { bs3CpuInstr3_pslld_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7918 { bs3CpuInstr3_pslld_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7919 { bs3CpuInstr3_pslld_XMM1_021h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7920 { bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},7921 { bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7922 { bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7923 { bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7924 { bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7925 { bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},7926 { bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7927 { bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7928 { bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7929 { bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7930 7931 { bs3CpuInstr3_psllq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},7932 { bs3CpuInstr3_psllq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},7933 { bs3CpuInstr3_psllq_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},7934 { bs3CpuInstr3_psllq_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},7935 { bs3CpuInstr3_psllq_MM1_045h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7936 { bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},7937 { bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},7938 { bs3CpuInstr3_psllq_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},7939 { bs3CpuInstr3_psllq_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},7940 { bs3CpuInstr3_psllq_XMM1_045h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7941 { bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},7942 { bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},7943 { bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},7944 { bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},7945 { bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7946 { bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},7947 { bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},7948 { bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},7949 { bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},7950 { bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7887 { bs3CpuInstr3_psllw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7888 { bs3CpuInstr3_psllw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7889 { bs3CpuInstr3_psllw_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 7890 { bs3CpuInstr3_psllw_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 7891 { bs3CpuInstr3_psllw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7892 { bs3CpuInstr3_psllw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7893 { bs3CpuInstr3_psllw_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 7894 { bs3CpuInstr3_psllw_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 7895 { bs3CpuInstr3_vpsllw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7896 { bs3CpuInstr3_vpsllw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7897 { bs3CpuInstr3_vpsllw_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 7898 { bs3CpuInstr3_vpsllw_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 7899 { bs3CpuInstr3_vpsllw_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7900 { bs3CpuInstr3_vpsllw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7901 { bs3CpuInstr3_vpsllw_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 7902 { bs3CpuInstr3_vpsllw_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 7903 7904 { bs3CpuInstr3_pslld_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 7905 { bs3CpuInstr3_pslld_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7906 { bs3CpuInstr3_pslld_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 7907 { bs3CpuInstr3_pslld_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 7908 { bs3CpuInstr3_pslld_MM1_021h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 7909 { bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 7910 { bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7911 { bs3CpuInstr3_pslld_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 7912 { bs3CpuInstr3_pslld_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 7913 { bs3CpuInstr3_pslld_XMM1_021h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 7914 { bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 7915 { bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7916 { bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 7917 { bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 7918 { bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 7919 { bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 7920 { bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7921 { bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 7922 { bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 7923 { bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 7924 7925 { bs3CpuInstr3_psllq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 7926 { bs3CpuInstr3_psllq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 7927 { bs3CpuInstr3_psllq_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 7928 { bs3CpuInstr3_psllq_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 7929 { bs3CpuInstr3_psllq_MM1_045h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 7930 { bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 7931 { bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 7932 { bs3CpuInstr3_psllq_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 7933 { bs3CpuInstr3_psllq_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 7934 { bs3CpuInstr3_psllq_XMM1_045h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 7935 { bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 7936 { bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 7937 { bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 7938 { bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 7939 { bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 7940 { bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 7941 { bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 7942 { bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 7943 { bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 7944 { bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 7951 7945 }; 7952 7946 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 7953 7947 { 7954 { bs3CpuInstr3_psllw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7955 { bs3CpuInstr3_psllw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7956 { bs3CpuInstr3_psllw_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7957 { bs3CpuInstr3_psllw_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7958 { bs3CpuInstr3_psllw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},7959 { bs3CpuInstr3_psllw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7960 { bs3CpuInstr3_psllw_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7961 { bs3CpuInstr3_psllw_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7962 { bs3CpuInstr3_vpsllw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7963 { bs3CpuInstr3_vpsllw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7964 { bs3CpuInstr3_vpsllw_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7965 { bs3CpuInstr3_vpsllw_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7966 { bs3CpuInstr3_vpsllw_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},7967 { bs3CpuInstr3_vpsllw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7968 { bs3CpuInstr3_vpsllw_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7969 { bs3CpuInstr3_vpsllw_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7970 { bs3CpuInstr3_vpsllw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7971 { bs3CpuInstr3_vpsllw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7972 { bs3CpuInstr3_vpsllw_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7973 { bs3CpuInstr3_vpsllw_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7974 { bs3CpuInstr3_vpsllw_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},7975 { bs3CpuInstr3_vpsllw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},7976 { bs3CpuInstr3_vpsllw_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},7977 { bs3CpuInstr3_vpsllw_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},7978 7979 { bs3CpuInstr3_pslld_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},7980 { bs3CpuInstr3_pslld_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7981 { bs3CpuInstr3_pslld_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7982 { bs3CpuInstr3_pslld_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7983 { bs3CpuInstr3_pslld_MM1_021h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7984 { bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},7985 { bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7986 { bs3CpuInstr3_pslld_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7987 { bs3CpuInstr3_pslld_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7988 { bs3CpuInstr3_pslld_XMM1_021h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7989 { bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},7990 { bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7991 { bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7992 { bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7993 { bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7994 { bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},7995 { bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},7996 { bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},7997 { bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},7998 { bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},7999 { bs3CpuInstr3_vpslld_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8000 { bs3CpuInstr3_vpslld_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8001 { bs3CpuInstr3_vpslld_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8002 { bs3CpuInstr3_vpslld_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8003 { bs3CpuInstr3_vpslld_XMM8_XMM9_021h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8004 { bs3CpuInstr3_vpslld_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8005 { bs3CpuInstr3_vpslld_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8006 { bs3CpuInstr3_vpslld_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8007 { bs3CpuInstr3_vpslld_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8008 { bs3CpuInstr3_vpslld_YMM8_YMM9_021h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8009 8010 { bs3CpuInstr3_psllq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},8011 { bs3CpuInstr3_psllq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8012 { bs3CpuInstr3_psllq_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8013 { bs3CpuInstr3_psllq_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8014 { bs3CpuInstr3_psllq_MM1_045h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8015 { bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},8016 { bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8017 { bs3CpuInstr3_psllq_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8018 { bs3CpuInstr3_psllq_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8019 { bs3CpuInstr3_psllq_XMM1_045h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8020 { bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8021 { bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8022 { bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8023 { bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8024 { bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8025 { bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8026 { bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8027 { bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8028 { bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8029 { bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8030 { bs3CpuInstr3_vpsllq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues64), s_aValues64},8031 { bs3CpuInstr3_vpsllq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8032 { bs3CpuInstr3_vpsllq_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8033 { bs3CpuInstr3_vpsllq_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8034 { bs3CpuInstr3_vpsllq_XMM8_XMM9_045h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8035 { bs3CpuInstr3_vpsllq_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues64), s_aValues64},8036 { bs3CpuInstr3_vpsllq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8037 { bs3CpuInstr3_vpsllq_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8038 { bs3CpuInstr3_vpsllq_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8039 { bs3CpuInstr3_vpsllq_YMM8_YMM9_045h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},7948 { bs3CpuInstr3_psllw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 7949 { bs3CpuInstr3_psllw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7950 { bs3CpuInstr3_psllw_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 7951 { bs3CpuInstr3_psllw_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 7952 { bs3CpuInstr3_psllw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 7953 { bs3CpuInstr3_psllw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7954 { bs3CpuInstr3_psllw_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 7955 { bs3CpuInstr3_psllw_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 7956 { bs3CpuInstr3_vpsllw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7957 { bs3CpuInstr3_vpsllw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7958 { bs3CpuInstr3_vpsllw_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 7959 { bs3CpuInstr3_vpsllw_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 7960 { bs3CpuInstr3_vpsllw_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 7961 { bs3CpuInstr3_vpsllw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7962 { bs3CpuInstr3_vpsllw_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 7963 { bs3CpuInstr3_vpsllw_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 7964 { bs3CpuInstr3_vpsllw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 7965 { bs3CpuInstr3_vpsllw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7966 { bs3CpuInstr3_vpsllw_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues16_01) }, 7967 { bs3CpuInstr3_vpsllw_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues16_12) }, 7968 { bs3CpuInstr3_vpsllw_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 7969 { bs3CpuInstr3_vpsllw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 7970 { bs3CpuInstr3_vpsllw_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues16_01) }, 7971 { bs3CpuInstr3_vpsllw_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues16_12) }, 7972 7973 { bs3CpuInstr3_pslld_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 7974 { bs3CpuInstr3_pslld_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7975 { bs3CpuInstr3_pslld_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 7976 { bs3CpuInstr3_pslld_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 7977 { bs3CpuInstr3_pslld_MM1_021h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 7978 { bs3CpuInstr3_pslld_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 7979 { bs3CpuInstr3_pslld_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7980 { bs3CpuInstr3_pslld_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 7981 { bs3CpuInstr3_pslld_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 7982 { bs3CpuInstr3_pslld_XMM1_021h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 7983 { bs3CpuInstr3_vpslld_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 7984 { bs3CpuInstr3_vpslld_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7985 { bs3CpuInstr3_vpslld_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 7986 { bs3CpuInstr3_vpslld_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 7987 { bs3CpuInstr3_vpslld_XMM1_XMM2_021h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 7988 { bs3CpuInstr3_vpslld_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 7989 { bs3CpuInstr3_vpslld_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7990 { bs3CpuInstr3_vpslld_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 7991 { bs3CpuInstr3_vpslld_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 7992 { bs3CpuInstr3_vpslld_YMM1_YMM2_021h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 7993 { bs3CpuInstr3_vpslld_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 7994 { bs3CpuInstr3_vpslld_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 7995 { bs3CpuInstr3_vpslld_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_01) }, 7996 { bs3CpuInstr3_vpslld_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_12) }, 7997 { bs3CpuInstr3_vpslld_XMM8_XMM9_021h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_big) }, 7998 { bs3CpuInstr3_vpslld_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 7999 { bs3CpuInstr3_vpslld_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8000 { bs3CpuInstr3_vpslld_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_01) }, 8001 { bs3CpuInstr3_vpslld_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_12) }, 8002 { bs3CpuInstr3_vpslld_YMM8_YMM9_021h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_big) }, 8003 8004 { bs3CpuInstr3_psllq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 8005 { bs3CpuInstr3_psllq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8006 { bs3CpuInstr3_psllq_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 8007 { bs3CpuInstr3_psllq_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 8008 { bs3CpuInstr3_psllq_MM1_045h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 8009 { bs3CpuInstr3_psllq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 8010 { bs3CpuInstr3_psllq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8011 { bs3CpuInstr3_psllq_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 8012 { bs3CpuInstr3_psllq_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 8013 { bs3CpuInstr3_psllq_XMM1_045h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 8014 { bs3CpuInstr3_vpsllq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8015 { bs3CpuInstr3_vpsllq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8016 { bs3CpuInstr3_vpsllq_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 8017 { bs3CpuInstr3_vpsllq_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 8018 { bs3CpuInstr3_vpsllq_XMM1_XMM2_045h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 8019 { bs3CpuInstr3_vpsllq_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8020 { bs3CpuInstr3_vpsllq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8021 { bs3CpuInstr3_vpsllq_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 8022 { bs3CpuInstr3_vpsllq_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 8023 { bs3CpuInstr3_vpsllq_YMM1_YMM2_045h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 8024 { bs3CpuInstr3_vpsllq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues64) }, 8025 { bs3CpuInstr3_vpsllq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8026 { bs3CpuInstr3_vpsllq_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues64_01) }, 8027 { bs3CpuInstr3_vpsllq_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues64_12) }, 8028 { bs3CpuInstr3_vpsllq_XMM8_XMM9_045h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues64_big) }, 8029 { bs3CpuInstr3_vpsllq_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues64) }, 8030 { bs3CpuInstr3_vpsllq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8031 { bs3CpuInstr3_vpsllq_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues64_01) }, 8032 { bs3CpuInstr3_vpsllq_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues64_12) }, 8033 { bs3CpuInstr3_vpsllq_YMM8_YMM9_045h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues64_big) }, 8040 8034 }; 8041 8035 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 8119 8113 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8120 8114 { 8121 { bs3CpuInstr3_psraw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8122 { bs3CpuInstr3_psraw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8123 { bs3CpuInstr3_psraw_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8124 { bs3CpuInstr3_psraw_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8125 { bs3CpuInstr3_psraw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8126 { bs3CpuInstr3_psraw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8127 { bs3CpuInstr3_psraw_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8128 { bs3CpuInstr3_psraw_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8129 { bs3CpuInstr3_vpsraw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8130 { bs3CpuInstr3_vpsraw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8131 { bs3CpuInstr3_vpsraw_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8132 { bs3CpuInstr3_vpsraw_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8133 { bs3CpuInstr3_vpsraw_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8134 { bs3CpuInstr3_vpsraw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8135 { bs3CpuInstr3_vpsraw_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8136 { bs3CpuInstr3_vpsraw_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8137 8138 { bs3CpuInstr3_psrad_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8139 { bs3CpuInstr3_psrad_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8140 { bs3CpuInstr3_psrad_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8141 { bs3CpuInstr3_psrad_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8142 { bs3CpuInstr3_psrad_MM1_021h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8143 { bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8144 { bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8145 { bs3CpuInstr3_psrad_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8146 { bs3CpuInstr3_psrad_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8147 { bs3CpuInstr3_psrad_XMM1_021h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8148 { bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8149 { bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8150 { bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8151 { bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8152 { bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8153 { bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8154 { bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8155 { bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8156 { bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8157 { bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8115 { bs3CpuInstr3_psraw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 8116 { bs3CpuInstr3_psraw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8117 { bs3CpuInstr3_psraw_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8118 { bs3CpuInstr3_psraw_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8119 { bs3CpuInstr3_psraw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 8120 { bs3CpuInstr3_psraw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8121 { bs3CpuInstr3_psraw_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8122 { bs3CpuInstr3_psraw_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8123 { bs3CpuInstr3_vpsraw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8124 { bs3CpuInstr3_vpsraw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8125 { bs3CpuInstr3_vpsraw_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8126 { bs3CpuInstr3_vpsraw_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8127 { bs3CpuInstr3_vpsraw_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8128 { bs3CpuInstr3_vpsraw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8129 { bs3CpuInstr3_vpsraw_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8130 { bs3CpuInstr3_vpsraw_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8131 8132 { bs3CpuInstr3_psrad_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 8133 { bs3CpuInstr3_psrad_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8134 { bs3CpuInstr3_psrad_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8135 { bs3CpuInstr3_psrad_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8136 { bs3CpuInstr3_psrad_MM1_021h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8137 { bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 8138 { bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8139 { bs3CpuInstr3_psrad_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8140 { bs3CpuInstr3_psrad_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8141 { bs3CpuInstr3_psrad_XMM1_021h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8142 { bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8143 { bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8144 { bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8145 { bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8146 { bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8147 { bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8148 { bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8149 { bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8150 { bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8151 { bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8158 8152 }; 8159 8153 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8160 8154 { 8161 { bs3CpuInstr3_psraw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8162 { bs3CpuInstr3_psraw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8163 { bs3CpuInstr3_psraw_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8164 { bs3CpuInstr3_psraw_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8165 { bs3CpuInstr3_psraw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8166 { bs3CpuInstr3_psraw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8167 { bs3CpuInstr3_psraw_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8168 { bs3CpuInstr3_psraw_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8169 { bs3CpuInstr3_vpsraw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8170 { bs3CpuInstr3_vpsraw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8171 { bs3CpuInstr3_vpsraw_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8172 { bs3CpuInstr3_vpsraw_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8173 { bs3CpuInstr3_vpsraw_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8174 { bs3CpuInstr3_vpsraw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8175 { bs3CpuInstr3_vpsraw_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8176 { bs3CpuInstr3_vpsraw_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8177 8178 { bs3CpuInstr3_psrad_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8179 { bs3CpuInstr3_psrad_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8180 { bs3CpuInstr3_psrad_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8181 { bs3CpuInstr3_psrad_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8182 { bs3CpuInstr3_psrad_MM1_021h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8183 { bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8184 { bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8185 { bs3CpuInstr3_psrad_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8186 { bs3CpuInstr3_psrad_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8187 { bs3CpuInstr3_psrad_XMM1_021h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8188 { bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8189 { bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8190 { bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8191 { bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8192 { bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8193 { bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8194 { bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8195 { bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8196 { bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8197 { bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8155 { bs3CpuInstr3_psraw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 8156 { bs3CpuInstr3_psraw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8157 { bs3CpuInstr3_psraw_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8158 { bs3CpuInstr3_psraw_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8159 { bs3CpuInstr3_psraw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 8160 { bs3CpuInstr3_psraw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8161 { bs3CpuInstr3_psraw_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8162 { bs3CpuInstr3_psraw_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8163 { bs3CpuInstr3_vpsraw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8164 { bs3CpuInstr3_vpsraw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8165 { bs3CpuInstr3_vpsraw_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8166 { bs3CpuInstr3_vpsraw_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8167 { bs3CpuInstr3_vpsraw_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8168 { bs3CpuInstr3_vpsraw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8169 { bs3CpuInstr3_vpsraw_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8170 { bs3CpuInstr3_vpsraw_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8171 8172 { bs3CpuInstr3_psrad_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 8173 { bs3CpuInstr3_psrad_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8174 { bs3CpuInstr3_psrad_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8175 { bs3CpuInstr3_psrad_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8176 { bs3CpuInstr3_psrad_MM1_021h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8177 { bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 8178 { bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8179 { bs3CpuInstr3_psrad_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8180 { bs3CpuInstr3_psrad_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8181 { bs3CpuInstr3_psrad_XMM1_021h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8182 { bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8183 { bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8184 { bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8185 { bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8186 { bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8187 { bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8188 { bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8189 { bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8190 { bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8191 { bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8198 8192 }; 8199 8193 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8200 8194 { 8201 { bs3CpuInstr3_psraw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8202 { bs3CpuInstr3_psraw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8203 { bs3CpuInstr3_psraw_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8204 { bs3CpuInstr3_psraw_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8205 { bs3CpuInstr3_psraw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8206 { bs3CpuInstr3_psraw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8207 { bs3CpuInstr3_psraw_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8208 { bs3CpuInstr3_psraw_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8209 { bs3CpuInstr3_vpsraw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8210 { bs3CpuInstr3_vpsraw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8211 { bs3CpuInstr3_vpsraw_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8212 { bs3CpuInstr3_vpsraw_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8213 { bs3CpuInstr3_vpsraw_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8214 { bs3CpuInstr3_vpsraw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8215 { bs3CpuInstr3_vpsraw_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8216 { bs3CpuInstr3_vpsraw_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8217 { bs3CpuInstr3_vpsraw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},8218 { bs3CpuInstr3_vpsraw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8219 { bs3CpuInstr3_vpsraw_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8220 { bs3CpuInstr3_vpsraw_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8221 { bs3CpuInstr3_vpsraw_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},8222 { bs3CpuInstr3_vpsraw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8223 { bs3CpuInstr3_vpsraw_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8224 { bs3CpuInstr3_vpsraw_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8225 8226 { bs3CpuInstr3_psrad_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8227 { bs3CpuInstr3_psrad_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8228 { bs3CpuInstr3_psrad_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8229 { bs3CpuInstr3_psrad_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8230 { bs3CpuInstr3_psrad_MM1_021h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8231 { bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8232 { bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8233 { bs3CpuInstr3_psrad_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8234 { bs3CpuInstr3_psrad_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8235 { bs3CpuInstr3_psrad_XMM1_021h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8236 { bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8237 { bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8238 { bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8239 { bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8240 { bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8241 { bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8242 { bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8243 { bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8244 { bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8245 { bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8246 { bs3CpuInstr3_vpsrad_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8247 { bs3CpuInstr3_vpsrad_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8248 { bs3CpuInstr3_vpsrad_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8249 { bs3CpuInstr3_vpsrad_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8250 { bs3CpuInstr3_vpsrad_XMM8_XMM9_021h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8251 { bs3CpuInstr3_vpsrad_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8252 { bs3CpuInstr3_vpsrad_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8253 { bs3CpuInstr3_vpsrad_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8254 { bs3CpuInstr3_vpsrad_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8255 { bs3CpuInstr3_vpsrad_YMM8_YMM9_021h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8195 { bs3CpuInstr3_psraw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 8196 { bs3CpuInstr3_psraw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8197 { bs3CpuInstr3_psraw_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8198 { bs3CpuInstr3_psraw_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8199 { bs3CpuInstr3_psraw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 8200 { bs3CpuInstr3_psraw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8201 { bs3CpuInstr3_psraw_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8202 { bs3CpuInstr3_psraw_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8203 { bs3CpuInstr3_vpsraw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8204 { bs3CpuInstr3_vpsraw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8205 { bs3CpuInstr3_vpsraw_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8206 { bs3CpuInstr3_vpsraw_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8207 { bs3CpuInstr3_vpsraw_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8208 { bs3CpuInstr3_vpsraw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8209 { bs3CpuInstr3_vpsraw_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8210 { bs3CpuInstr3_vpsraw_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8211 { bs3CpuInstr3_vpsraw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 8212 { bs3CpuInstr3_vpsraw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8213 { bs3CpuInstr3_vpsraw_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues16_01) }, 8214 { bs3CpuInstr3_vpsraw_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues16_12) }, 8215 { bs3CpuInstr3_vpsraw_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 8216 { bs3CpuInstr3_vpsraw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8217 { bs3CpuInstr3_vpsraw_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues16_01) }, 8218 { bs3CpuInstr3_vpsraw_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues16_12) }, 8219 8220 { bs3CpuInstr3_psrad_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 8221 { bs3CpuInstr3_psrad_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8222 { bs3CpuInstr3_psrad_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8223 { bs3CpuInstr3_psrad_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8224 { bs3CpuInstr3_psrad_MM1_021h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8225 { bs3CpuInstr3_psrad_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 8226 { bs3CpuInstr3_psrad_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8227 { bs3CpuInstr3_psrad_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8228 { bs3CpuInstr3_psrad_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8229 { bs3CpuInstr3_psrad_XMM1_021h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8230 { bs3CpuInstr3_vpsrad_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8231 { bs3CpuInstr3_vpsrad_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8232 { bs3CpuInstr3_vpsrad_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8233 { bs3CpuInstr3_vpsrad_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8234 { bs3CpuInstr3_vpsrad_XMM1_XMM2_021h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8235 { bs3CpuInstr3_vpsrad_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8236 { bs3CpuInstr3_vpsrad_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8237 { bs3CpuInstr3_vpsrad_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8238 { bs3CpuInstr3_vpsrad_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8239 { bs3CpuInstr3_vpsrad_YMM1_YMM2_021h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8240 { bs3CpuInstr3_vpsrad_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 8241 { bs3CpuInstr3_vpsrad_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8242 { bs3CpuInstr3_vpsrad_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_01) }, 8243 { bs3CpuInstr3_vpsrad_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_12) }, 8244 { bs3CpuInstr3_vpsrad_XMM8_XMM9_021h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_big) }, 8245 { bs3CpuInstr3_vpsrad_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 8246 { bs3CpuInstr3_vpsrad_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8247 { bs3CpuInstr3_vpsrad_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_01) }, 8248 { bs3CpuInstr3_vpsrad_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_12) }, 8249 { bs3CpuInstr3_vpsrad_YMM8_YMM9_021h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_big) }, 8256 8250 }; 8257 8251 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 8372 8366 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8373 8367 { 8374 { bs3CpuInstr3_psrlw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8375 { bs3CpuInstr3_psrlw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8376 { bs3CpuInstr3_psrlw_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8377 { bs3CpuInstr3_psrlw_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8378 { bs3CpuInstr3_psrlw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8379 { bs3CpuInstr3_psrlw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8380 { bs3CpuInstr3_psrlw_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8381 { bs3CpuInstr3_psrlw_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8382 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8383 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8384 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8385 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8386 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8387 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8388 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8389 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8390 8391 { bs3CpuInstr3_psrld_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8392 { bs3CpuInstr3_psrld_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8393 { bs3CpuInstr3_psrld_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8394 { bs3CpuInstr3_psrld_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8395 { bs3CpuInstr3_psrld_MM1_021h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8396 { bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8397 { bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8398 { bs3CpuInstr3_psrld_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8399 { bs3CpuInstr3_psrld_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8400 { bs3CpuInstr3_psrld_XMM1_021h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8401 { bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8402 { bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8403 { bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8404 { bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8405 { bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8406 { bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8407 { bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8408 { bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8409 { bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8410 { bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8411 8412 { bs3CpuInstr3_psrlq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},8413 { bs3CpuInstr3_psrlq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8414 { bs3CpuInstr3_psrlq_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8415 { bs3CpuInstr3_psrlq_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8416 { bs3CpuInstr3_psrlq_MM1_045h_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8417 { bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},8418 { bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8419 { bs3CpuInstr3_psrlq_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8420 { bs3CpuInstr3_psrlq_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8421 { bs3CpuInstr3_psrlq_XMM1_045h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8422 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8423 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8424 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8425 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8426 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8427 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8428 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8429 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8430 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8431 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8368 { bs3CpuInstr3_psrlw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 8369 { bs3CpuInstr3_psrlw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8370 { bs3CpuInstr3_psrlw_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8371 { bs3CpuInstr3_psrlw_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8372 { bs3CpuInstr3_psrlw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 8373 { bs3CpuInstr3_psrlw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8374 { bs3CpuInstr3_psrlw_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8375 { bs3CpuInstr3_psrlw_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8376 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8377 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8378 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8379 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8380 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8381 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8382 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8383 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8384 8385 { bs3CpuInstr3_psrld_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 8386 { bs3CpuInstr3_psrld_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8387 { bs3CpuInstr3_psrld_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8388 { bs3CpuInstr3_psrld_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8389 { bs3CpuInstr3_psrld_MM1_021h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8390 { bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 8391 { bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8392 { bs3CpuInstr3_psrld_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8393 { bs3CpuInstr3_psrld_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8394 { bs3CpuInstr3_psrld_XMM1_021h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8395 { bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8396 { bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8397 { bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8398 { bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8399 { bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8400 { bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8401 { bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8402 { bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8403 { bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8404 { bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8405 8406 { bs3CpuInstr3_psrlq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 8407 { bs3CpuInstr3_psrlq_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8408 { bs3CpuInstr3_psrlq_MM1_001h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 8409 { bs3CpuInstr3_psrlq_MM1_012h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 8410 { bs3CpuInstr3_psrlq_MM1_045h_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 8411 { bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 8412 { bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8413 { bs3CpuInstr3_psrlq_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 8414 { bs3CpuInstr3_psrlq_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 8415 { bs3CpuInstr3_psrlq_XMM1_045h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 8416 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8417 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8418 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 8419 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 8420 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 8421 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8422 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8423 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 8424 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 8425 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 8432 8426 }; 8433 8427 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8434 8428 { 8435 { bs3CpuInstr3_psrlw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8436 { bs3CpuInstr3_psrlw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8437 { bs3CpuInstr3_psrlw_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8438 { bs3CpuInstr3_psrlw_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8439 { bs3CpuInstr3_psrlw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8440 { bs3CpuInstr3_psrlw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8441 { bs3CpuInstr3_psrlw_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8442 { bs3CpuInstr3_psrlw_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8443 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8444 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8445 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8446 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8447 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8448 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8449 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8450 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8451 8452 { bs3CpuInstr3_psrld_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8453 { bs3CpuInstr3_psrld_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8454 { bs3CpuInstr3_psrld_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8455 { bs3CpuInstr3_psrld_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8456 { bs3CpuInstr3_psrld_MM1_021h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8457 { bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8458 { bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8459 { bs3CpuInstr3_psrld_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8460 { bs3CpuInstr3_psrld_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8461 { bs3CpuInstr3_psrld_XMM1_021h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8462 { bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8463 { bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8464 { bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8465 { bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8466 { bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8467 { bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8468 { bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8469 { bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8470 { bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8471 { bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8472 8473 { bs3CpuInstr3_psrlq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},8474 { bs3CpuInstr3_psrlq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8475 { bs3CpuInstr3_psrlq_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8476 { bs3CpuInstr3_psrlq_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8477 { bs3CpuInstr3_psrlq_MM1_045h_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8478 { bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},8479 { bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8480 { bs3CpuInstr3_psrlq_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8481 { bs3CpuInstr3_psrlq_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8482 { bs3CpuInstr3_psrlq_XMM1_045h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8483 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8484 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8485 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8486 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8487 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8488 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8489 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8490 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8491 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8492 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8429 { bs3CpuInstr3_psrlw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 8430 { bs3CpuInstr3_psrlw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8431 { bs3CpuInstr3_psrlw_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8432 { bs3CpuInstr3_psrlw_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8433 { bs3CpuInstr3_psrlw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 8434 { bs3CpuInstr3_psrlw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8435 { bs3CpuInstr3_psrlw_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8436 { bs3CpuInstr3_psrlw_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8437 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8438 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8439 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8440 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8441 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8442 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8443 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8444 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8445 8446 { bs3CpuInstr3_psrld_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 8447 { bs3CpuInstr3_psrld_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8448 { bs3CpuInstr3_psrld_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8449 { bs3CpuInstr3_psrld_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8450 { bs3CpuInstr3_psrld_MM1_021h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8451 { bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 8452 { bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8453 { bs3CpuInstr3_psrld_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8454 { bs3CpuInstr3_psrld_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8455 { bs3CpuInstr3_psrld_XMM1_021h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8456 { bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8457 { bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8458 { bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8459 { bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8460 { bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8461 { bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8462 { bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8463 { bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8464 { bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8465 { bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8466 8467 { bs3CpuInstr3_psrlq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 8468 { bs3CpuInstr3_psrlq_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8469 { bs3CpuInstr3_psrlq_MM1_001h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 8470 { bs3CpuInstr3_psrlq_MM1_012h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 8471 { bs3CpuInstr3_psrlq_MM1_045h_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 8472 { bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 8473 { bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8474 { bs3CpuInstr3_psrlq_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 8475 { bs3CpuInstr3_psrlq_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 8476 { bs3CpuInstr3_psrlq_XMM1_045h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 8477 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8478 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8479 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 8480 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 8481 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 8482 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8483 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8484 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 8485 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 8486 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 8493 8487 }; 8494 8488 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8495 8489 { 8496 { bs3CpuInstr3_psrlw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8497 { bs3CpuInstr3_psrlw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8498 { bs3CpuInstr3_psrlw_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8499 { bs3CpuInstr3_psrlw_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8500 { bs3CpuInstr3_psrlw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16},8501 { bs3CpuInstr3_psrlw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8502 { bs3CpuInstr3_psrlw_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8503 { bs3CpuInstr3_psrlw_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8504 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8505 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8506 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8507 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8508 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16},8509 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8510 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8511 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8512 { bs3CpuInstr3_vpsrlw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},8513 { bs3CpuInstr3_vpsrlw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8514 { bs3CpuInstr3_vpsrlw_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8515 { bs3CpuInstr3_vpsrlw_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8516 { bs3CpuInstr3_vpsrlw_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16},8517 { bs3CpuInstr3_vpsrlw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16},8518 { bs3CpuInstr3_vpsrlw_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues16_01), s_aValues16_01},8519 { bs3CpuInstr3_vpsrlw_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues16_12), s_aValues16_12},8520 8521 { bs3CpuInstr3_psrld_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8522 { bs3CpuInstr3_psrld_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8523 { bs3CpuInstr3_psrld_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8524 { bs3CpuInstr3_psrld_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8525 { bs3CpuInstr3_psrld_MM1_021h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8526 { bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32), s_aValues32},8527 { bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8528 { bs3CpuInstr3_psrld_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8529 { bs3CpuInstr3_psrld_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8530 { bs3CpuInstr3_psrld_XMM1_021h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8531 { bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8532 { bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8533 { bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8534 { bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8535 { bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8536 { bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8537 { bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8538 { bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8539 { bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8540 { bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8541 { bs3CpuInstr3_vpsrld_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8542 { bs3CpuInstr3_vpsrld_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8543 { bs3CpuInstr3_vpsrld_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8544 { bs3CpuInstr3_vpsrld_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8545 { bs3CpuInstr3_vpsrld_XMM8_XMM9_021h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8546 { bs3CpuInstr3_vpsrld_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8547 { bs3CpuInstr3_vpsrld_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8548 { bs3CpuInstr3_vpsrld_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_01), s_aValues32_01},8549 { bs3CpuInstr3_vpsrld_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_12), s_aValues32_12},8550 { bs3CpuInstr3_vpsrld_YMM8_YMM9_021h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues32_big), s_aValues32_big},8551 8552 { bs3CpuInstr3_psrlq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},8553 { bs3CpuInstr3_psrlq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8554 { bs3CpuInstr3_psrlq_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8555 { bs3CpuInstr3_psrlq_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8556 { bs3CpuInstr3_psrlq_MM1_045h_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8557 { bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64), s_aValues64},8558 { bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8559 { bs3CpuInstr3_psrlq_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8560 { bs3CpuInstr3_psrlq_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8561 { bs3CpuInstr3_psrlq_XMM1_045h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8562 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8563 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8564 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8565 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8566 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8567 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8568 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8569 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8570 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8571 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8572 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues64), s_aValues64},8573 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8574 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8575 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8576 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_045h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8577 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues64), s_aValues64},8578 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8579 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues64_01), s_aValues64_01},8580 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues64_12), s_aValues64_12},8581 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_045h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 1, RT_ELEMENTS(s_aValues64_big), s_aValues64_big},8490 { bs3CpuInstr3_psrlw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues16) }, 8491 { bs3CpuInstr3_psrlw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8492 { bs3CpuInstr3_psrlw_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8493 { bs3CpuInstr3_psrlw_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8494 { bs3CpuInstr3_psrlw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 8495 { bs3CpuInstr3_psrlw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8496 { bs3CpuInstr3_psrlw_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_01) }, 8497 { bs3CpuInstr3_psrlw_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues16_12) }, 8498 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8499 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8500 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8501 { bs3CpuInstr3_vpsrlw_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8502 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues16) }, 8503 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8504 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_01) }, 8505 { bs3CpuInstr3_vpsrlw_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues16_12) }, 8506 { bs3CpuInstr3_vpsrlw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 8507 { bs3CpuInstr3_vpsrlw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8508 { bs3CpuInstr3_vpsrlw_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues16_01) }, 8509 { bs3CpuInstr3_vpsrlw_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues16_12) }, 8510 { bs3CpuInstr3_vpsrlw_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues16) }, 8511 { bs3CpuInstr3_vpsrlw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 8512 { bs3CpuInstr3_vpsrlw_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues16_01) }, 8513 { bs3CpuInstr3_vpsrlw_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues16_12) }, 8514 8515 { bs3CpuInstr3_psrld_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues32) }, 8516 { bs3CpuInstr3_psrld_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8517 { bs3CpuInstr3_psrld_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8518 { bs3CpuInstr3_psrld_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8519 { bs3CpuInstr3_psrld_MM1_021h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8520 { bs3CpuInstr3_psrld_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 8521 { bs3CpuInstr3_psrld_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8522 { bs3CpuInstr3_psrld_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_01) }, 8523 { bs3CpuInstr3_psrld_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_12) }, 8524 { bs3CpuInstr3_psrld_XMM1_021h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues32_big) }, 8525 { bs3CpuInstr3_vpsrld_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8526 { bs3CpuInstr3_vpsrld_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8527 { bs3CpuInstr3_vpsrld_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8528 { bs3CpuInstr3_vpsrld_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8529 { bs3CpuInstr3_vpsrld_XMM1_XMM2_021h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8530 { bs3CpuInstr3_vpsrld_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8531 { bs3CpuInstr3_vpsrld_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8532 { bs3CpuInstr3_vpsrld_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_01) }, 8533 { bs3CpuInstr3_vpsrld_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_12) }, 8534 { bs3CpuInstr3_vpsrld_YMM1_YMM2_021h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues32_big) }, 8535 { bs3CpuInstr3_vpsrld_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 8536 { bs3CpuInstr3_vpsrld_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8537 { bs3CpuInstr3_vpsrld_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_01) }, 8538 { bs3CpuInstr3_vpsrld_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_12) }, 8539 { bs3CpuInstr3_vpsrld_XMM8_XMM9_021h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues32_big) }, 8540 { bs3CpuInstr3_vpsrld_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 8541 { bs3CpuInstr3_vpsrld_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8542 { bs3CpuInstr3_vpsrld_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_01) }, 8543 { bs3CpuInstr3_vpsrld_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_12) }, 8544 { bs3CpuInstr3_vpsrld_YMM8_YMM9_021h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues32_big) }, 8545 8546 { bs3CpuInstr3_psrlq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64) }, 8547 { bs3CpuInstr3_psrlq_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8548 { bs3CpuInstr3_psrlq_MM1_001h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 8549 { bs3CpuInstr3_psrlq_MM1_012h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 8550 { bs3CpuInstr3_psrlq_MM1_045h_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 8551 { bs3CpuInstr3_psrlq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 8552 { bs3CpuInstr3_psrlq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8553 { bs3CpuInstr3_psrlq_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_01) }, 8554 { bs3CpuInstr3_psrlq_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_12) }, 8555 { bs3CpuInstr3_psrlq_XMM1_045h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, 2, PASS_ELEMENTS(s_aValues64_big) }, 8556 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8557 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8558 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 8559 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 8560 { bs3CpuInstr3_vpsrlq_XMM1_XMM2_045h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 8561 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8562 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8563 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_01) }, 8564 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_12) }, 8565 { bs3CpuInstr3_vpsrlq_YMM1_YMM2_045h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, 1, PASS_ELEMENTS(s_aValues64_big) }, 8566 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues64) }, 8567 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8568 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_001h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues64_01) }, 8569 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues64_12) }, 8570 { bs3CpuInstr3_vpsrlq_XMM8_XMM9_045h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 1, PASS_ELEMENTS(s_aValues64_big) }, 8571 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, XMM10, PASS_ELEMENTS(s_aValues64) }, 8572 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8573 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues64_01) }, 8574 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues64_12) }, 8575 { bs3CpuInstr3_vpsrlq_YMM8_YMM9_045h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, 1, PASS_ELEMENTS(s_aValues64_big) }, 8582 8576 }; 8583 8577 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 8631 8625 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8632 8626 { 8633 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8634 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8635 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8636 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8637 8638 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8639 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8640 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8641 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8627 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8628 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8629 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8630 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8631 8632 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8633 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8634 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues64) }, 8635 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8642 8636 }; 8643 8637 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8644 8638 { 8645 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8646 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8647 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8648 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8649 8650 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8651 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8652 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8653 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8639 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8640 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8641 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8642 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8643 8644 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8645 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8646 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues64) }, 8647 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8654 8648 }; 8655 8649 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8656 8650 { 8657 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8658 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8659 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8660 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8661 { bs3CpuInstr3_vpsllvd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8662 { bs3CpuInstr3_vpsllvd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8663 { bs3CpuInstr3_vpsllvd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8664 { bs3CpuInstr3_vpsllvd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8665 8666 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8667 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8668 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8669 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8670 { bs3CpuInstr3_vpsllvq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues64), s_aValues64},8671 { bs3CpuInstr3_vpsllvq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8672 { bs3CpuInstr3_vpsllvq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues64), s_aValues64},8673 { bs3CpuInstr3_vpsllvq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8651 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8652 { bs3CpuInstr3_vpsllvd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8653 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8654 { bs3CpuInstr3_vpsllvd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8655 { bs3CpuInstr3_vpsllvd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 8656 { bs3CpuInstr3_vpsllvd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8657 { bs3CpuInstr3_vpsllvd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues32) }, 8658 { bs3CpuInstr3_vpsllvd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8659 8660 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8661 { bs3CpuInstr3_vpsllvq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8662 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues64) }, 8663 { bs3CpuInstr3_vpsllvq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8664 { bs3CpuInstr3_vpsllvq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues64) }, 8665 { bs3CpuInstr3_vpsllvq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8666 { bs3CpuInstr3_vpsllvq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues64) }, 8667 { bs3CpuInstr3_vpsllvq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8674 8668 }; 8675 8669 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 8705 8699 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8706 8700 { 8707 { bs3CpuInstr3_vpsravd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8708 { bs3CpuInstr3_vpsravd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8709 { bs3CpuInstr3_vpsravd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8710 { bs3CpuInstr3_vpsravd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8701 { bs3CpuInstr3_vpsravd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8702 { bs3CpuInstr3_vpsravd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8703 { bs3CpuInstr3_vpsravd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8704 { bs3CpuInstr3_vpsravd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8711 8705 }; 8712 8706 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8713 8707 { 8714 { bs3CpuInstr3_vpsravd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8715 { bs3CpuInstr3_vpsravd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8716 { bs3CpuInstr3_vpsravd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8717 { bs3CpuInstr3_vpsravd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8708 { bs3CpuInstr3_vpsravd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8709 { bs3CpuInstr3_vpsravd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8710 { bs3CpuInstr3_vpsravd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8711 { bs3CpuInstr3_vpsravd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8718 8712 }; 8719 8713 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8720 8714 { 8721 { bs3CpuInstr3_vpsravd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8722 { bs3CpuInstr3_vpsravd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8723 { bs3CpuInstr3_vpsravd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8724 { bs3CpuInstr3_vpsravd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8725 { bs3CpuInstr3_vpsravd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8726 { bs3CpuInstr3_vpsravd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8727 { bs3CpuInstr3_vpsravd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8728 { bs3CpuInstr3_vpsravd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8715 { bs3CpuInstr3_vpsravd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8716 { bs3CpuInstr3_vpsravd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8717 { bs3CpuInstr3_vpsravd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8718 { bs3CpuInstr3_vpsravd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8719 { bs3CpuInstr3_vpsravd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 8720 { bs3CpuInstr3_vpsravd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8721 { bs3CpuInstr3_vpsravd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues32) }, 8722 { bs3CpuInstr3_vpsravd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8729 8723 }; 8730 8724 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 8778 8772 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8779 8773 { 8780 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8781 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8782 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8783 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8784 8785 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8786 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8787 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8788 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8774 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8775 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8776 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8777 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8778 8779 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8780 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8781 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues64) }, 8782 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8789 8783 }; 8790 8784 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8791 8785 { 8792 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8793 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8794 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8795 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8796 8797 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8798 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8799 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8800 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8786 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8787 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8788 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8789 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8790 8791 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8792 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8793 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues64) }, 8794 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8801 8795 }; 8802 8796 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8803 8797 { 8804 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8805 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8806 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues32), s_aValues32},8807 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8808 { bs3CpuInstr3_vpsrlvd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8809 { bs3CpuInstr3_vpsrlvd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8810 { bs3CpuInstr3_vpsrlvd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues32), s_aValues32},8811 { bs3CpuInstr3_vpsrlvd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues32), s_aValues32},8812 8813 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8814 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8815 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues64), s_aValues64},8816 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8817 { bs3CpuInstr3_vpsrlvq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues64), s_aValues64},8818 { bs3CpuInstr3_vpsrlvq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8819 { bs3CpuInstr3_vpsrlvq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues64), s_aValues64},8820 { bs3CpuInstr3_vpsrlvq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues64), s_aValues64},8798 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues32) }, 8799 { bs3CpuInstr3_vpsrlvd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8800 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues32) }, 8801 { bs3CpuInstr3_vpsrlvd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8802 { bs3CpuInstr3_vpsrlvd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues32) }, 8803 { bs3CpuInstr3_vpsrlvd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8804 { bs3CpuInstr3_vpsrlvd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues32) }, 8805 { bs3CpuInstr3_vpsrlvd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 8806 8807 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues64) }, 8808 { bs3CpuInstr3_vpsrlvq_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8809 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues64) }, 8810 { bs3CpuInstr3_vpsrlvq_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8811 { bs3CpuInstr3_vpsrlvq_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues64) }, 8812 { bs3CpuInstr3_vpsrlvq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8813 { bs3CpuInstr3_vpsrlvq_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues64) }, 8814 { bs3CpuInstr3_vpsrlvq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 8821 8815 }; 8822 8816 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 8870 8864 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8871 8865 { 8872 { bs3CpuInstr3_pslldq_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8873 { bs3CpuInstr3_pslldq_XMM1_005h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8874 { bs3CpuInstr3_pslldq_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8875 { bs3CpuInstr3_vpslldq_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8876 { bs3CpuInstr3_vpslldq_XMM1_XMM2_005h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8877 { bs3CpuInstr3_vpslldq_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8878 { bs3CpuInstr3_vpslldq_YMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8879 { bs3CpuInstr3_vpslldq_YMM1_YMM2_005h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8880 { bs3CpuInstr3_vpslldq_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8881 8882 { bs3CpuInstr3_psrldq_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8883 { bs3CpuInstr3_psrldq_XMM1_005h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8884 { bs3CpuInstr3_psrldq_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8885 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8886 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_005h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8887 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8888 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8889 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_005h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8890 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8866 { bs3CpuInstr3_pslldq_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8867 { bs3CpuInstr3_pslldq_XMM1_005h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8868 { bs3CpuInstr3_pslldq_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8869 { bs3CpuInstr3_vpslldq_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8870 { bs3CpuInstr3_vpslldq_XMM1_XMM2_005h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8871 { bs3CpuInstr3_vpslldq_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8872 { bs3CpuInstr3_vpslldq_YMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8873 { bs3CpuInstr3_vpslldq_YMM1_YMM2_005h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8874 { bs3CpuInstr3_vpslldq_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8875 8876 { bs3CpuInstr3_psrldq_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8877 { bs3CpuInstr3_psrldq_XMM1_005h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8878 { bs3CpuInstr3_psrldq_XMM1_012h_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8879 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8880 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_005h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8881 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_012h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8882 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8883 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_005h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8884 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_012h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8891 8885 }; 8892 8886 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8893 8887 { 8894 { bs3CpuInstr3_pslldq_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8895 { bs3CpuInstr3_pslldq_XMM1_005h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8896 { bs3CpuInstr3_pslldq_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8897 { bs3CpuInstr3_vpslldq_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8898 { bs3CpuInstr3_vpslldq_XMM1_XMM2_005h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8899 { bs3CpuInstr3_vpslldq_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8900 { bs3CpuInstr3_vpslldq_YMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8901 { bs3CpuInstr3_vpslldq_YMM1_YMM2_005h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8902 { bs3CpuInstr3_vpslldq_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8903 8904 { bs3CpuInstr3_psrldq_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8905 { bs3CpuInstr3_psrldq_XMM1_005h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8906 { bs3CpuInstr3_psrldq_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8907 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8908 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_005h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8909 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8910 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8911 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_005h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8912 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8888 { bs3CpuInstr3_pslldq_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8889 { bs3CpuInstr3_pslldq_XMM1_005h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8890 { bs3CpuInstr3_pslldq_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8891 { bs3CpuInstr3_vpslldq_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8892 { bs3CpuInstr3_vpslldq_XMM1_XMM2_005h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8893 { bs3CpuInstr3_vpslldq_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8894 { bs3CpuInstr3_vpslldq_YMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8895 { bs3CpuInstr3_vpslldq_YMM1_YMM2_005h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8896 { bs3CpuInstr3_vpslldq_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8897 8898 { bs3CpuInstr3_psrldq_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8899 { bs3CpuInstr3_psrldq_XMM1_005h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8900 { bs3CpuInstr3_psrldq_XMM1_012h_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8901 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8902 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_005h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8903 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_012h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8904 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8905 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_005h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8906 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_012h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8913 8907 }; 8914 8908 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8915 8909 { 8916 { bs3CpuInstr3_pslldq_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8917 { bs3CpuInstr3_pslldq_XMM1_005h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8918 { bs3CpuInstr3_pslldq_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8919 { bs3CpuInstr3_vpslldq_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8920 { bs3CpuInstr3_vpslldq_XMM1_XMM2_005h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8921 { bs3CpuInstr3_vpslldq_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8922 { bs3CpuInstr3_vpslldq_YMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8923 { bs3CpuInstr3_vpslldq_YMM1_YMM2_005h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8924 { bs3CpuInstr3_vpslldq_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8925 8926 { bs3CpuInstr3_psrldq_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8927 { bs3CpuInstr3_psrldq_XMM1_005h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8928 { bs3CpuInstr3_psrldq_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8929 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8930 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_005h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8931 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8932 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8933 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_005h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8934 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 1, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8935 8936 { bs3CpuInstr3_pslldq_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8937 { bs3CpuInstr3_pslldq_XMM8_005h_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8938 { bs3CpuInstr3_pslldq_XMM8_012h_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8939 { bs3CpuInstr3_vpslldq_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 8, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8940 { bs3CpuInstr3_vpslldq_XMM8_XMM9_005h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 8, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8941 { bs3CpuInstr3_vpslldq_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 8, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8942 { bs3CpuInstr3_vpslldq_YMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 8, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8943 { bs3CpuInstr3_vpslldq_YMM8_YMM9_005h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 8, RT_ELEMENTS(s_aValuesL05), s_aValuesL05},8944 { bs3CpuInstr3_vpslldq_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 8, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8945 8946 { bs3CpuInstr3_psrldq_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8947 { bs3CpuInstr3_psrldq_XMM8_005h_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8948 { bs3CpuInstr3_psrldq_XMM8_012h_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8949 { bs3CpuInstr3_vpsrldq_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 8, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8950 { bs3CpuInstr3_vpsrldq_XMM8_XMM9_005h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 8, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8951 { bs3CpuInstr3_vpsrldq_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 8, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8952 { bs3CpuInstr3_vpsrldq_YMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 8, RT_ELEMENTS(s_aValuesX00), s_aValuesX00},8953 { bs3CpuInstr3_vpsrldq_YMM8_YMM9_005h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 8, RT_ELEMENTS(s_aValuesR05), s_aValuesR05},8954 { bs3CpuInstr3_vpsrldq_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 8, RT_ELEMENTS(s_aValuesX12), s_aValuesX12},8910 { bs3CpuInstr3_pslldq_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8911 { bs3CpuInstr3_pslldq_XMM1_005h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8912 { bs3CpuInstr3_pslldq_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8913 { bs3CpuInstr3_vpslldq_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8914 { bs3CpuInstr3_vpslldq_XMM1_XMM2_005h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8915 { bs3CpuInstr3_vpslldq_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8916 { bs3CpuInstr3_vpslldq_YMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8917 { bs3CpuInstr3_vpslldq_YMM1_YMM2_005h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8918 { bs3CpuInstr3_vpslldq_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8919 8920 { bs3CpuInstr3_psrldq_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8921 { bs3CpuInstr3_psrldq_XMM1_005h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8922 { bs3CpuInstr3_psrldq_XMM1_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8923 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8924 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_005h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8925 { bs3CpuInstr3_vpsrldq_XMM1_XMM2_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8926 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8927 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_005h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8928 { bs3CpuInstr3_vpsrldq_YMM1_YMM2_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8929 8930 { bs3CpuInstr3_pslldq_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8931 { bs3CpuInstr3_pslldq_XMM8_005h_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8932 { bs3CpuInstr3_pslldq_XMM8_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8933 { bs3CpuInstr3_vpslldq_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8934 { bs3CpuInstr3_vpslldq_XMM8_XMM9_005h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8935 { bs3CpuInstr3_vpslldq_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8936 { bs3CpuInstr3_vpslldq_YMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8937 { bs3CpuInstr3_vpslldq_YMM8_YMM9_005h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValuesL05) }, 8938 { bs3CpuInstr3_vpslldq_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8939 8940 { bs3CpuInstr3_psrldq_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8941 { bs3CpuInstr3_psrldq_XMM8_005h_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8942 { bs3CpuInstr3_psrldq_XMM8_012h_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8943 { bs3CpuInstr3_vpsrldq_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8944 { bs3CpuInstr3_vpsrldq_XMM8_XMM9_005h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8945 { bs3CpuInstr3_vpsrldq_XMM8_XMM9_012h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8946 { bs3CpuInstr3_vpsrldq_YMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValuesX00) }, 8947 { bs3CpuInstr3_vpsrldq_YMM8_YMM9_005h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValuesR05) }, 8948 { bs3CpuInstr3_vpsrldq_YMM8_YMM9_012h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValuesX12) }, 8955 8949 }; 8956 8950 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 9029 9023 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 9030 9024 { 9031 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},9032 { 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},9033 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},9034 { 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},9035 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues01), s_aValues01},9036 { 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},9037 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues02), s_aValues02},9038 { 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},9039 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues03), s_aValues03},9040 { 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},9041 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues08), s_aValues08},9042 { 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},9043 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues10), s_aValues10},9044 { 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},9045 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues20), s_aValues20},9046 { 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},9047 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues30), s_aValues30},9048 { 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},9049 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues80), s_aValues80},9050 { 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},9051 9052 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},9053 { 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},9054 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},9055 { 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},9056 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues01), s_aValues01},9057 { 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},9058 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues02), s_aValues02},9059 { 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},9060 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues03), s_aValues03},9061 { 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},9062 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues08), s_aValues08},9063 { 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},9064 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues10), s_aValues10},9065 { 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},9066 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues20), s_aValues20},9067 { 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},9068 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues30), s_aValues30},9069 { 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},9070 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues80), s_aValues80},9071 { 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},9025 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 9026 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 9027 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 9028 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 9029 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues01) }, 9030 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_001h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues01) }, 9031 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues02) }, 9032 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_002h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues02) }, 9033 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues03) }, 9034 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_003h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues03) }, 9035 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues08) }, 9036 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_008h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues08) }, 9037 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues10) }, 9038 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_010h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues10) }, 9039 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues20) }, 9040 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_020h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues20) }, 9041 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues30) }, 9042 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_030h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues30) }, 9043 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues80) }, 9044 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_080h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues80) }, 9045 9046 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 9047 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 9048 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 9049 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 9050 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues01) }, 9051 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_001h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues01) }, 9052 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues02) }, 9053 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_002h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues02) }, 9054 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues03) }, 9055 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_003h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues03) }, 9056 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues08) }, 9057 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_008h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues08) }, 9058 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues10) }, 9059 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_010h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues10) }, 9060 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues20) }, 9061 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_020h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues20) }, 9062 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues30) }, 9063 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_030h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues30) }, 9064 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues80) }, 9065 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_080h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues80) }, 9072 9066 }; 9073 9067 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 9074 9068 { 9075 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},9076 { 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},9077 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},9078 { 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},9079 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues01), s_aValues01},9080 { 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},9081 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues02), s_aValues02},9082 { 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},9083 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues03), s_aValues03},9084 { 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},9085 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues08), s_aValues08},9086 { 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},9087 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues10), s_aValues10},9088 { 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},9089 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues20), s_aValues20},9090 { 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},9091 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues30), s_aValues30},9092 { 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},9093 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues80), s_aValues80},9094 { 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},9095 9096 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},9097 { 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},9098 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},9099 { 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},9100 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues01), s_aValues01},9101 { 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},9102 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues02), s_aValues02},9103 { 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},9104 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues03), s_aValues03},9105 { 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},9106 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues08), s_aValues08},9107 { 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},9108 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues10), s_aValues10},9109 { 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},9110 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues20), s_aValues20},9111 { 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},9112 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues30), s_aValues30},9113 { 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},9114 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues80), s_aValues80},9115 { 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},9069 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 9070 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 9071 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 9072 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 9073 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues01) }, 9074 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_001h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues01) }, 9075 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues02) }, 9076 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_002h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues02) }, 9077 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues03) }, 9078 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_003h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues03) }, 9079 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues08) }, 9080 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_008h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues08) }, 9081 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues10) }, 9082 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_010h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues10) }, 9083 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues20) }, 9084 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_020h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues20) }, 9085 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues30) }, 9086 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_030h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues30) }, 9087 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues80) }, 9088 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_080h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues80) }, 9089 9090 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 9091 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 9092 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 9093 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 9094 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues01) }, 9095 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_001h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues01) }, 9096 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues02) }, 9097 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_002h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues02) }, 9098 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues03) }, 9099 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_003h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues03) }, 9100 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues08) }, 9101 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_008h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues08) }, 9102 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues10) }, 9103 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_010h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues10) }, 9104 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues20) }, 9105 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_020h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues20) }, 9106 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues30) }, 9107 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_030h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues30) }, 9108 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues80) }, 9109 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_080h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues80) }, 9116 9110 }; 9117 9111 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 9118 9112 { 9119 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},9120 { 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},9121 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},9122 { 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},9123 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},9124 { 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},9125 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},9126 { 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},9127 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues01), s_aValues01},9128 { 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},9129 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_001h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues01), s_aValues01},9130 { 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},9131 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues02), s_aValues02},9132 { 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},9133 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_002h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues02), s_aValues02},9134 { 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},9135 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues03), s_aValues03},9136 { 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},9137 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_003h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues03), s_aValues03},9138 { 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},9139 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues08), s_aValues08},9140 { 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},9141 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_008h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues08), s_aValues08},9142 { 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},9143 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues10), s_aValues10},9144 { 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},9145 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_010h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues10), s_aValues10},9146 { 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},9147 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues20), s_aValues20},9148 { 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},9149 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_020h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues20), s_aValues20},9150 { 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},9151 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues30), s_aValues30},9152 { 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},9153 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_030h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues30), s_aValues30},9154 { 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},9155 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues80), s_aValues80},9156 { 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},9157 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_080h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues80), s_aValues80},9158 { 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},9159 9160 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},9161 { 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},9162 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},9163 { 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},9164 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00},9165 { 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},9166 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00},9167 { 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},9168 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c64, 255, RM_REG, T_AVX 2_256, 1, 2, 3, RT_ELEMENTS(s_aValues01), s_aValues01},9169 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 1, 2, 255, RT_ELEMENTS(s_aValues01), s_aValues01},9170 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_001h_icebp_c64, 255, RM_REG, T_AVX 2_256, 8, 9, 10, RT_ELEMENTS(s_aValues01), s_aValues01},9171 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 8, 9, 255, RT_ELEMENTS(s_aValues01), s_aValues01},9172 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c64, 255, RM_REG, T_AVX 2_256, 1, 2, 3, RT_ELEMENTS(s_aValues02), s_aValues02},9173 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 1, 2, 255, RT_ELEMENTS(s_aValues02), s_aValues02},9174 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_002h_icebp_c64, 255, RM_REG, T_AVX 2_256, 8, 9, 10, RT_ELEMENTS(s_aValues02), s_aValues02},9175 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 8, 9, 255, RT_ELEMENTS(s_aValues02), s_aValues02},9176 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c64, 255, RM_REG, T_AVX 2_256, 1, 2, 3, RT_ELEMENTS(s_aValues03), s_aValues03},9177 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 1, 2, 255, RT_ELEMENTS(s_aValues03), s_aValues03},9178 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_003h_icebp_c64, 255, RM_REG, T_AVX 2_256, 8, 9, 10, RT_ELEMENTS(s_aValues03), s_aValues03},9179 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 8, 9, 255, RT_ELEMENTS(s_aValues03), s_aValues03},9180 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c64, 255, RM_REG, T_AVX 2_256, 1, 2, 3, RT_ELEMENTS(s_aValues08), s_aValues08},9181 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 1, 2, 255, RT_ELEMENTS(s_aValues08), s_aValues08},9182 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_008h_icebp_c64, 255, RM_REG, T_AVX 2_256, 8, 9, 10, RT_ELEMENTS(s_aValues08), s_aValues08},9183 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 8, 9, 255, RT_ELEMENTS(s_aValues08), s_aValues08},9184 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c64, 255, RM_REG, T_AVX 2_256, 1, 2, 3, RT_ELEMENTS(s_aValues10), s_aValues10},9185 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 1, 2, 255, RT_ELEMENTS(s_aValues10), s_aValues10},9186 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_010h_icebp_c64, 255, RM_REG, T_AVX 2_256, 8, 9, 10, RT_ELEMENTS(s_aValues10), s_aValues10},9187 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 8, 9, 255, RT_ELEMENTS(s_aValues10), s_aValues10},9188 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c64, 255, RM_REG, T_AVX 2_256, 1, 2, 3, RT_ELEMENTS(s_aValues20), s_aValues20},9189 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 1, 2, 255, RT_ELEMENTS(s_aValues20), s_aValues20},9190 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_020h_icebp_c64, 255, RM_REG, T_AVX 2_256, 8, 9, 10, RT_ELEMENTS(s_aValues20), s_aValues20},9191 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 8, 9, 255, RT_ELEMENTS(s_aValues20), s_aValues20},9192 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c64, 255, RM_REG, T_AVX 2_256, 1, 2, 3, RT_ELEMENTS(s_aValues30), s_aValues30},9193 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 1, 2, 255, RT_ELEMENTS(s_aValues30), s_aValues30},9194 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_030h_icebp_c64, 255, RM_REG, T_AVX 2_256, 8, 9, 10, RT_ELEMENTS(s_aValues30), s_aValues30},9195 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 8, 9, 255, RT_ELEMENTS(s_aValues30), s_aValues30},9196 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c64, 255, RM_REG, T_AVX 2_256, 1, 2, 3, RT_ELEMENTS(s_aValues80), s_aValues80},9197 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 1, 2, 255, RT_ELEMENTS(s_aValues80), s_aValues80},9198 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_080h_icebp_c64, 255, RM_REG, T_AVX 2_256, 8, 9, 10, RT_ELEMENTS(s_aValues80), s_aValues80},9199 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX 2_256, 8, 9, 255, RT_ELEMENTS(s_aValues80), s_aValues80},9113 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 9114 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 9115 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 9116 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 9117 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 9118 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 9119 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 9120 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 9121 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues01) }, 9122 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues01) }, 9123 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_001h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues01) }, 9124 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues01) }, 9125 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_002h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues02) }, 9126 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues02) }, 9127 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_002h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues02) }, 9128 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues02) }, 9129 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_003h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues03) }, 9130 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues03) }, 9131 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_003h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues03) }, 9132 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues03) }, 9133 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_008h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues08) }, 9134 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues08) }, 9135 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_008h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues08) }, 9136 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues08) }, 9137 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_010h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues10) }, 9138 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues10) }, 9139 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_010h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues10) }, 9140 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues10) }, 9141 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_020h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues20) }, 9142 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues20) }, 9143 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_020h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues20) }, 9144 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues20) }, 9145 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_030h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues30) }, 9146 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues30) }, 9147 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_030h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues30) }, 9148 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues30) }, 9149 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_YMM3_080h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues80) }, 9150 { bs3CpuInstr3_vperm2i128_YMM1_YMM2_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues80) }, 9151 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_YMM10_080h_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues80) }, 9152 { bs3CpuInstr3_vperm2i128_YMM8_YMM9_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues80) }, 9153 9154 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesFF) }, 9155 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 9156 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesFF) }, 9157 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 9158 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues00) }, 9159 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues00) }, 9160 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues00) }, 9161 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues00) }, 9162 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_001h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues01) }, 9163 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues01) }, 9164 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_001h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues01) }, 9165 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_001h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues01) }, 9166 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_002h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues02) }, 9167 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues02) }, 9168 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_002h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues02) }, 9169 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_002h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues02) }, 9170 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_003h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues03) }, 9171 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues03) }, 9172 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_003h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues03) }, 9173 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_003h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues03) }, 9174 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_008h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues08) }, 9175 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues08) }, 9176 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_008h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues08) }, 9177 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_008h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues08) }, 9178 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_010h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues10) }, 9179 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues10) }, 9180 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_010h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues10) }, 9181 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_010h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues10) }, 9182 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_020h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues20) }, 9183 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues20) }, 9184 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_020h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues20) }, 9185 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_020h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues20) }, 9186 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_030h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues30) }, 9187 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues30) }, 9188 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_030h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues30) }, 9189 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_030h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues30) }, 9190 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_YMM3_080h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues80) }, 9191 { bs3CpuInstr3_vperm2f128_YMM1_YMM2_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues80) }, 9192 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_YMM10_080h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues80) }, 9193 { bs3CpuInstr3_vperm2f128_YMM8_YMM9_FSxBX_080h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues80) }, 9200 9194 }; 9201 9195 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 9257 9251 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 9258 9252 { 9259 { bs3CpuInstr3_vpermilps_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9260 { bs3CpuInstr3_vpermilps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9261 { bs3CpuInstr3_vpermilps_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9262 { bs3CpuInstr3_vpermilps_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9263 { bs3CpuInstr3_vpermilps_XMM1_XMM2_0E4h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9264 { bs3CpuInstr3_vpermilps_XMM1_XMM2_03Dh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9265 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9266 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9267 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_0E4h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9268 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_03Dh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9269 { bs3CpuInstr3_vpermilps_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9270 { bs3CpuInstr3_vpermilps_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9271 { bs3CpuInstr3_vpermilps_YMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9272 { bs3CpuInstr3_vpermilps_YMM1_YMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9273 { bs3CpuInstr3_vpermilps_YMM1_YMM2_0E4h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9274 { bs3CpuInstr3_vpermilps_YMM1_YMM2_03Dh_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9275 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9276 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9277 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_0E4h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9278 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_03Dh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9253 { bs3CpuInstr3_vpermilps_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesAll) }, 9254 { bs3CpuInstr3_vpermilps_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9255 { bs3CpuInstr3_vpermilps_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues00) }, 9256 { bs3CpuInstr3_vpermilps_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues1B) }, 9257 { bs3CpuInstr3_vpermilps_XMM1_XMM2_0E4h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValuesE4) }, 9258 { bs3CpuInstr3_vpermilps_XMM1_XMM2_03Dh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues3D) }, 9259 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues00) }, 9260 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues1B) }, 9261 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_0E4h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValuesE4) }, 9262 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_03Dh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues3D) }, 9263 { bs3CpuInstr3_vpermilps_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesAll) }, 9264 { bs3CpuInstr3_vpermilps_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9265 { bs3CpuInstr3_vpermilps_YMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues00) }, 9266 { bs3CpuInstr3_vpermilps_YMM1_YMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues1B) }, 9267 { bs3CpuInstr3_vpermilps_YMM1_YMM2_0E4h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValuesE4) }, 9268 { bs3CpuInstr3_vpermilps_YMM1_YMM2_03Dh_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues3D) }, 9269 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues00) }, 9270 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues1B) }, 9271 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_0E4h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValuesE4) }, 9272 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_03Dh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues3D) }, 9279 9273 }; 9280 9274 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 9281 9275 { 9282 { bs3CpuInstr3_vpermilps_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9283 { bs3CpuInstr3_vpermilps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9284 { bs3CpuInstr3_vpermilps_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9285 { bs3CpuInstr3_vpermilps_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9286 { bs3CpuInstr3_vpermilps_XMM1_XMM2_0E4h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9287 { bs3CpuInstr3_vpermilps_XMM1_XMM2_03Dh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9288 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9289 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9290 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_0E4h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9291 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_03Dh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9292 { bs3CpuInstr3_vpermilps_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9293 { bs3CpuInstr3_vpermilps_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9294 { bs3CpuInstr3_vpermilps_YMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9295 { bs3CpuInstr3_vpermilps_YMM1_YMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9296 { bs3CpuInstr3_vpermilps_YMM1_YMM2_0E4h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9297 { bs3CpuInstr3_vpermilps_YMM1_YMM2_03Dh_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9298 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9299 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9300 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_0E4h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9301 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_03Dh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9276 { bs3CpuInstr3_vpermilps_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesAll) }, 9277 { bs3CpuInstr3_vpermilps_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9278 { bs3CpuInstr3_vpermilps_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues00) }, 9279 { bs3CpuInstr3_vpermilps_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues1B) }, 9280 { bs3CpuInstr3_vpermilps_XMM1_XMM2_0E4h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValuesE4) }, 9281 { bs3CpuInstr3_vpermilps_XMM1_XMM2_03Dh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues3D) }, 9282 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues00) }, 9283 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues1B) }, 9284 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_0E4h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValuesE4) }, 9285 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_03Dh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues3D) }, 9286 { bs3CpuInstr3_vpermilps_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesAll) }, 9287 { bs3CpuInstr3_vpermilps_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9288 { bs3CpuInstr3_vpermilps_YMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues00) }, 9289 { bs3CpuInstr3_vpermilps_YMM1_YMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues1B) }, 9290 { bs3CpuInstr3_vpermilps_YMM1_YMM2_0E4h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValuesE4) }, 9291 { bs3CpuInstr3_vpermilps_YMM1_YMM2_03Dh_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues3D) }, 9292 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues00) }, 9293 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues1B) }, 9294 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_0E4h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValuesE4) }, 9295 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_03Dh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues3D) }, 9302 9296 }; 9303 9297 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 9304 9298 { 9305 { bs3CpuInstr3_vpermilps_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9306 { bs3CpuInstr3_vpermilps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9307 { bs3CpuInstr3_vpermilps_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9308 { bs3CpuInstr3_vpermilps_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9309 { bs3CpuInstr3_vpermilps_XMM1_XMM2_0E4h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9310 { bs3CpuInstr3_vpermilps_XMM1_XMM2_03Dh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9311 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9312 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9313 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_0E4h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9314 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_03Dh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9315 { bs3CpuInstr3_vpermilps_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9316 { bs3CpuInstr3_vpermilps_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9317 { bs3CpuInstr3_vpermilps_YMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9318 { bs3CpuInstr3_vpermilps_YMM1_YMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9319 { bs3CpuInstr3_vpermilps_YMM1_YMM2_0E4h_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9320 { bs3CpuInstr3_vpermilps_YMM1_YMM2_03Dh_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9321 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9322 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9323 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_0E4h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9324 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_03Dh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9325 { bs3CpuInstr3_vpermilps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9326 { bs3CpuInstr3_vpermilps_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9327 { bs3CpuInstr3_vpermilps_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9328 { bs3CpuInstr3_vpermilps_XMM8_XMM9_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9329 { bs3CpuInstr3_vpermilps_XMM8_XMM9_0E4h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9330 { bs3CpuInstr3_vpermilps_XMM8_XMM9_03Dh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9331 { bs3CpuInstr3_vpermilps_XMM8_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9332 { bs3CpuInstr3_vpermilps_XMM8_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 255, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9333 { bs3CpuInstr3_vpermilps_XMM8_FSxBX_0E4h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 255, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9334 { bs3CpuInstr3_vpermilps_XMM8_FSxBX_03Dh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 255, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9335 { bs3CpuInstr3_vpermilps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9336 { bs3CpuInstr3_vpermilps_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 9, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9337 { bs3CpuInstr3_vpermilps_YMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9338 { bs3CpuInstr3_vpermilps_YMM8_YMM9_01Bh_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9339 { bs3CpuInstr3_vpermilps_YMM8_YMM9_0E4h_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9340 { bs3CpuInstr3_vpermilps_YMM8_YMM9_03Dh_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9341 { bs3CpuInstr3_vpermilps_YMM8_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9342 { bs3CpuInstr3_vpermilps_YMM8_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 255, 0, RT_ELEMENTS(s_aValues1B), s_aValues1B},9343 { bs3CpuInstr3_vpermilps_YMM8_FSxBX_0E4h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 255, 0, RT_ELEMENTS(s_aValuesE4), s_aValuesE4},9344 { bs3CpuInstr3_vpermilps_YMM8_FSxBX_03Dh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 255, 0, RT_ELEMENTS(s_aValues3D), s_aValues3D},9299 { bs3CpuInstr3_vpermilps_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesAll) }, 9300 { bs3CpuInstr3_vpermilps_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9301 { bs3CpuInstr3_vpermilps_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues00) }, 9302 { bs3CpuInstr3_vpermilps_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues1B) }, 9303 { bs3CpuInstr3_vpermilps_XMM1_XMM2_0E4h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValuesE4) }, 9304 { bs3CpuInstr3_vpermilps_XMM1_XMM2_03Dh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, 0, PASS_ELEMENTS(s_aValues3D) }, 9305 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues00) }, 9306 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues1B) }, 9307 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_0E4h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValuesE4) }, 9308 { bs3CpuInstr3_vpermilps_XMM1_FSxBX_03Dh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues3D) }, 9309 { bs3CpuInstr3_vpermilps_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesAll) }, 9310 { bs3CpuInstr3_vpermilps_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9311 { bs3CpuInstr3_vpermilps_YMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues00) }, 9312 { bs3CpuInstr3_vpermilps_YMM1_YMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues1B) }, 9313 { bs3CpuInstr3_vpermilps_YMM1_YMM2_0E4h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValuesE4) }, 9314 { bs3CpuInstr3_vpermilps_YMM1_YMM2_03Dh_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, 0, PASS_ELEMENTS(s_aValues3D) }, 9315 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues00) }, 9316 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues1B) }, 9317 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_0E4h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValuesE4) }, 9318 { bs3CpuInstr3_vpermilps_YMM1_FSxBX_03Dh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, 0, PASS_ELEMENTS(s_aValues3D) }, 9319 { bs3CpuInstr3_vpermilps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesAll) }, 9320 { bs3CpuInstr3_vpermilps_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9321 { bs3CpuInstr3_vpermilps_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 0, PASS_ELEMENTS(s_aValues00) }, 9322 { bs3CpuInstr3_vpermilps_XMM8_XMM9_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 0, PASS_ELEMENTS(s_aValues1B) }, 9323 { bs3CpuInstr3_vpermilps_XMM8_XMM9_0E4h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 0, PASS_ELEMENTS(s_aValuesE4) }, 9324 { bs3CpuInstr3_vpermilps_XMM8_XMM9_03Dh_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, 0, PASS_ELEMENTS(s_aValues3D) }, 9325 { bs3CpuInstr3_vpermilps_XMM8_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, FSxBX, 0, PASS_ELEMENTS(s_aValues00) }, 9326 { bs3CpuInstr3_vpermilps_XMM8_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, FSxBX, 0, PASS_ELEMENTS(s_aValues1B) }, 9327 { bs3CpuInstr3_vpermilps_XMM8_FSxBX_0E4h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, FSxBX, 0, PASS_ELEMENTS(s_aValuesE4) }, 9328 { bs3CpuInstr3_vpermilps_XMM8_FSxBX_03Dh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, FSxBX, 0, PASS_ELEMENTS(s_aValues3D) }, 9329 { bs3CpuInstr3_vpermilps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesAll) }, 9330 { bs3CpuInstr3_vpermilps_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9331 { bs3CpuInstr3_vpermilps_YMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, 0, PASS_ELEMENTS(s_aValues00) }, 9332 { bs3CpuInstr3_vpermilps_YMM8_YMM9_01Bh_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, 0, PASS_ELEMENTS(s_aValues1B) }, 9333 { bs3CpuInstr3_vpermilps_YMM8_YMM9_0E4h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, 0, PASS_ELEMENTS(s_aValuesE4) }, 9334 { bs3CpuInstr3_vpermilps_YMM8_YMM9_03Dh_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, 0, PASS_ELEMENTS(s_aValues3D) }, 9335 { bs3CpuInstr3_vpermilps_YMM8_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, FSxBX, 0, PASS_ELEMENTS(s_aValues00) }, 9336 { bs3CpuInstr3_vpermilps_YMM8_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, FSxBX, 0, PASS_ELEMENTS(s_aValues1B) }, 9337 { bs3CpuInstr3_vpermilps_YMM8_FSxBX_0E4h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, FSxBX, 0, PASS_ELEMENTS(s_aValuesE4) }, 9338 { bs3CpuInstr3_vpermilps_YMM8_FSxBX_03Dh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, FSxBX, 0, PASS_ELEMENTS(s_aValues3D) }, 9345 9339 }; 9346 9340 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 9390 9384 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 9391 9385 { 9392 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9393 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9394 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9395 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_0E7h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9396 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_091h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9397 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9398 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_0E7h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9399 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_091h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9400 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9401 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9402 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9403 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_0E7h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9404 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_091h_icebp_c16, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9405 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9406 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_0E7h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9407 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_091h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9386 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesAll) }, 9387 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9388 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValues00) }, 9389 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_0E7h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9390 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_091h_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValues91) }, 9391 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues00) }, 9392 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_0E7h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9393 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_091h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues91) }, 9394 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesAll) }, 9395 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9396 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValues00) }, 9397 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_0E7h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9398 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_091h_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValues91) }, 9399 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues00) }, 9400 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_0E7h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9401 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_091h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues91) }, 9408 9402 }; 9409 9403 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 9410 9404 { 9411 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9412 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9413 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9414 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_0E7h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9415 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_091h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9416 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9417 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_0E7h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9418 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_091h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9419 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9420 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9421 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9422 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_0E7h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9423 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_091h_icebp_c32, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9424 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9425 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_0E7h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9426 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_091h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9405 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesAll) }, 9406 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9407 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValues00) }, 9408 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_0E7h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9409 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_091h_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValues91) }, 9410 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues00) }, 9411 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_0E7h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9412 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_091h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues91) }, 9413 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesAll) }, 9414 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9415 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValues00) }, 9416 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_0E7h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9417 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_091h_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValues91) }, 9418 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues00) }, 9419 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_0E7h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9420 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_091h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues91) }, 9427 9421 }; 9428 9422 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 9429 9423 { 9430 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9431 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9432 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9433 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_0E7h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9434 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_091h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9435 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9436 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_0E7h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9437 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_091h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9438 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 3, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9439 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 2, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9440 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9441 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_0E7h_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9442 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_091h_icebp_c64, 255, RM_REG, T_AVX_256, 1, 2, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9443 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9444 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_0E7h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9445 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_091h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9446 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9447 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9448 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9449 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_0E7h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9450 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_091h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9451 { bs3CpuInstr3_vpermilpd_XMM8_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9452 { bs3CpuInstr3_vpermilpd_XMM8_FSxBX_0E7h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 255, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9453 { bs3CpuInstr3_vpermilpd_XMM8_FSxBX_091h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 255, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9454 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9455 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 9, 255, RT_ELEMENTS(s_aValuesAll), s_aValuesAll},9456 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9457 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_0E7h_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9458 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_091h_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9459 { bs3CpuInstr3_vpermilpd_YMM8_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 255, 0, RT_ELEMENTS(s_aValues00), s_aValues00},9460 { bs3CpuInstr3_vpermilpd_YMM8_FSxBX_0E7h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 255, 0, RT_ELEMENTS(s_aValuesE7), s_aValuesE7},9461 { bs3CpuInstr3_vpermilpd_YMM8_FSxBX_091h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 8, 255, 0, RT_ELEMENTS(s_aValues91), s_aValues91},9424 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValuesAll) }, 9425 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9426 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValues00) }, 9427 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_0E7h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9428 { bs3CpuInstr3_vpermilpd_XMM1_XMM2_091h_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, NOREG, PASS_ELEMENTS(s_aValues91) }, 9429 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues00) }, 9430 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_0E7h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9431 { bs3CpuInstr3_vpermilpd_XMM1_FSxBX_091h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues91) }, 9432 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValuesAll) }, 9433 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9434 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValues00) }, 9435 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_0E7h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9436 { bs3CpuInstr3_vpermilpd_YMM1_YMM2_091h_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, NOREG, PASS_ELEMENTS(s_aValues91) }, 9437 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues00) }, 9438 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_0E7h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9439 { bs3CpuInstr3_vpermilpd_YMM1_FSxBX_091h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, NOREG, PASS_ELEMENTS(s_aValues91) }, 9440 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValuesAll) }, 9441 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9442 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValues00) }, 9443 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_0E7h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9444 { bs3CpuInstr3_vpermilpd_XMM8_XMM9_091h_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, NOREG, PASS_ELEMENTS(s_aValues91) }, 9445 { bs3CpuInstr3_vpermilpd_XMM8_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, FSxBX, NOREG, PASS_ELEMENTS(s_aValues00) }, 9446 { bs3CpuInstr3_vpermilpd_XMM8_FSxBX_0E7h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, FSxBX, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9447 { bs3CpuInstr3_vpermilpd_XMM8_FSxBX_091h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, FSxBX, NOREG, PASS_ELEMENTS(s_aValues91) }, 9448 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValuesAll) }, 9449 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesAll) }, 9450 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValues00) }, 9451 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_0E7h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9452 { bs3CpuInstr3_vpermilpd_YMM8_YMM9_091h_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, NOREG, PASS_ELEMENTS(s_aValues91) }, 9453 { bs3CpuInstr3_vpermilpd_YMM8_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, FSxBX, NOREG, PASS_ELEMENTS(s_aValues00) }, 9454 { bs3CpuInstr3_vpermilpd_YMM8_FSxBX_0E7h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, FSxBX, NOREG, PASS_ELEMENTS(s_aValuesE7) }, 9455 { bs3CpuInstr3_vpermilpd_YMM8_FSxBX_091h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, FSxBX, NOREG, PASS_ELEMENTS(s_aValues91) }, 9462 9456 }; 9463 9457 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 9488 9482 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 9489 9483 { 9490 { bs3CpuInstr3_maskmovq_MM0_MM1_icebp_c16, 255, RM_MEM_DI, T_MMX_SSE, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9491 { bs3CpuInstr3_maskmovdqu_XMM0_XMM1_icebp_c16, 255, RM_MEM_DI, T_SSE2, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9492 { bs3CpuInstr3_vmaskmovdqu_XMM0_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM_DI, T_AVX_128, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9484 { bs3CpuInstr3_maskmovq_MM0_MM1_icebp_c16, 255, RM_MEM_DI, T_MMX_SSE, 255, MM0, MM1, PASS_ELEMENTS(s_aValues) }, 9485 { bs3CpuInstr3_maskmovdqu_XMM0_XMM1_icebp_c16, 255, RM_MEM_DI, T_SSE2, 255, XMM0, XMM1, PASS_ELEMENTS(s_aValues) }, 9486 { bs3CpuInstr3_vmaskmovdqu_XMM0_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM_DI, T_AVX_128, 255, XMM0, XMM1, PASS_ELEMENTS(s_aValues) }, 9493 9487 }; 9494 9488 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 9495 9489 { 9496 { bs3CpuInstr3_maskmovq_MM0_MM1_icebp_c32, 255, RM_MEM_DI, T_MMX_SSE, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9497 { bs3CpuInstr3_maskmovdqu_XMM0_XMM1_icebp_c32, 255, RM_MEM_DI, T_SSE2, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9498 { bs3CpuInstr3_vmaskmovdqu_XMM0_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM_DI, T_AVX_128, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9490 { bs3CpuInstr3_maskmovq_MM0_MM1_icebp_c32, 255, RM_MEM_DI, T_MMX_SSE, 255, MM0, MM1, PASS_ELEMENTS(s_aValues) }, 9491 { bs3CpuInstr3_maskmovdqu_XMM0_XMM1_icebp_c32, 255, RM_MEM_DI, T_SSE2, 255, XMM0, XMM1, PASS_ELEMENTS(s_aValues) }, 9492 { bs3CpuInstr3_vmaskmovdqu_XMM0_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM_DI, T_AVX_128, 255, XMM0, XMM1, PASS_ELEMENTS(s_aValues) }, 9499 9493 }; 9500 9494 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 9501 9495 { 9502 { bs3CpuInstr3_maskmovq_MM0_MM1_icebp_c64, 255, RM_MEM_DI, T_MMX_SSE, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9503 { bs3CpuInstr3_maskmovdqu_XMM0_XMM1_icebp_c64, 255, RM_MEM_DI, T_SSE2, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9504 { bs3CpuInstr3_vmaskmovdqu_XMM0_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM_DI, T_AVX_128, 255, 0, 1, RT_ELEMENTS(s_aValues), s_aValues},9505 9506 { bs3CpuInstr3_maskmovdqu_XMM8_XMM9_icebp_c64, 255, RM_MEM_DI, T_SSE2, 255, 8, 9, RT_ELEMENTS(s_aValues), s_aValues},9507 { bs3CpuInstr3_vmaskmovdqu_XMM8_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM_DI, T_AVX_128, 255, 8, 9, RT_ELEMENTS(s_aValues), s_aValues},9496 { bs3CpuInstr3_maskmovq_MM0_MM1_icebp_c64, 255, RM_MEM_DI, T_MMX_SSE, 255, MM0, MM1, PASS_ELEMENTS(s_aValues) }, 9497 { bs3CpuInstr3_maskmovdqu_XMM0_XMM1_icebp_c64, 255, RM_MEM_DI, T_SSE2, 255, XMM0, XMM1, PASS_ELEMENTS(s_aValues) }, 9498 { bs3CpuInstr3_vmaskmovdqu_XMM0_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM_DI, T_AVX_128, 255, XMM0, XMM1, PASS_ELEMENTS(s_aValues) }, 9499 9500 { bs3CpuInstr3_maskmovdqu_XMM8_XMM9_icebp_c64, 255, RM_MEM_DI, T_SSE2, 255, XMM8, XMM9, PASS_ELEMENTS(s_aValues) }, 9501 { bs3CpuInstr3_vmaskmovdqu_XMM8_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM_DI, T_AVX_128, 255, XMM8, XMM9, PASS_ELEMENTS(s_aValues) }, 9508 9502 }; 9509 9503 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 9511 9505 return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 9512 9506 g_aXcptConfig5, RT_ELEMENTS(g_aXcptConfig5)); 9507 } 9508 9509 9510 /* 9511 * [V]PMADDWD - Multiply and add packed signed word integers. 9512 */ 9513 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmaddwd(uint8_t bMode) 9514 { 9515 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64W[] = 9516 { 9517 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 9518 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 9519 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 9520 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 9521 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 9522 /* => */ RTUINT256_INIT_C( 1, 2, 3, 0x3c0b6394364ffde4) }, 9523 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 9524 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 9525 /* => */ RTUINT256_INIT_C( 5, 6, 7, 0xebcf52b41ad4c573) }, 9526 }; 9527 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues128W[] = 9528 { 9529 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 9530 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 9531 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 9532 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 9533 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 9534 /* => */ RTUINT256_INIT_C( 9, 10, 0x26a0ce5421e769a4, 0x3c0b6394364ffde4) }, 9535 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 9536 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 9537 /* => */ RTUINT256_INIT_C( 13, 14, 0x1f5960b8c391d7d2, 0xebcf52b41ad4c573) }, 9538 }; 9539 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues256W[] = 9540 { 9541 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 9542 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 9543 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 9544 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 9545 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 9546 /* => */ RTUINT256_INIT_C(0x07e3afd4052e4d24, 0x153e3d141186d964, 0x26a0ce5421e769a4, 0x3c0b6394364ffde4) }, 9547 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c880008000, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 9548 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec80008000, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 9549 /* => */ RTUINT256_INIT_C(0x0b692cfd1ae06638, 0xf3dcd01080000000, 0x1f5960b8c391d7d2, 0xebcf52b41ad4c573) }, 9550 }; 9551 9552 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 9553 { 9554 { bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 9555 { bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 9556 { bs3CpuInstr3_pmaddwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 9557 { bs3CpuInstr3_pmaddwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 9558 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 9559 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 9560 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 9561 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 9562 }; 9563 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 9564 { 9565 { bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 9566 { bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 9567 { bs3CpuInstr3_pmaddwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 9568 { bs3CpuInstr3_pmaddwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 9569 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 9570 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 9571 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 9572 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 9573 }; 9574 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 9575 { 9576 { bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, MM1, MM1, MM2, PASS_ELEMENTS(s_aValues64W) }, 9577 { bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues64W) }, 9578 { bs3CpuInstr3_pmaddwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM1, XMM2, PASS_ELEMENTS(s_aValues128W) }, 9579 { bs3CpuInstr3_pmaddwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 9580 { bs3CpuInstr3_pmaddwd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, XMM8, XMM8, XMM9, PASS_ELEMENTS(s_aValues128W) }, 9581 { bs3CpuInstr3_pmaddwd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 9582 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, PASS_ELEMENTS(s_aValues128W) }, 9583 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 9584 { bs3CpuInstr3_vpmaddwd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, PASS_ELEMENTS(s_aValues128W) }, 9585 { bs3CpuInstr3_vpmaddwd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues128W) }, 9586 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, YMM3, PASS_ELEMENTS(s_aValues256W) }, 9587 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 9588 { bs3CpuInstr3_vpmaddwd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ELEMENTS(s_aValues256W) }, 9589 { bs3CpuInstr3_vpmaddwd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues256W) }, 9590 }; 9591 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 9592 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); 9593 return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 9594 g_aXcptConfig4, RT_ELEMENTS(g_aXcptConfig4)); 9513 9595 } 9514 9596 … … 9564 9646 PBS3EXTCTX pExtCtxOut; 9565 9647 PBS3EXTCTX pExtCtx = bs3CpuInstr3AllocExtCtxs(&pExtCtxOut); 9566 BS3SETREGCTX pSetRegCtx;9648 BS3SETREGCTX SetRegCtx; 9567 9649 if (!pExtCtx) 9568 9650 return 0; … … 9579 9661 bs3CpuInstr3SetupSseAndAvx(&Ctx, pExtCtx); 9580 9662 9581 pSetRegCtx.pExtCtx = pExtCtx; 9582 pSetRegCtx.pCtx = &Ctx; 9583 pSetRegCtx.bMode = bMode; 9663 bs3CpuInstrXGetRegisterInit(&SetRegCtx, pExtCtx, &Ctx, bMode); 9584 9664 9585 9665 /* … … 9666 9746 * Set up the context and some expectations. 9667 9747 */ 9748 SetRegCtx.enmTop = BS3EXTCTXTOPMM_ZERO; 9749 9668 9750 Bs3MemCpy(&uDstVal, &paValues[iVal].uDstOut, paTests[iTest].cbGpr); 9669 9751 … … 9685 9767 } 9686 9768 else 9687 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegSrc, &paValues[iVal].uSrc);9769 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc, &paValues[iVal].uSrc); 9688 9770 9689 9771 /* Memory pointer. */ … … 9708 9790 } 9709 9791 9792 SetRegCtx.enmTop = BS3EXTCTXTOPMM_SET; 9710 9793 if (bXcptExpect == X86_XCPT_DB && !BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst)) 9711 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegDst, &uDstVal);9794 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegDst, &uDstVal); 9712 9795 9713 9796 Bs3TestCheckExtCtx(pExtCtxOut, pExtCtx, 0 /*fFlags*/, pszMode, idTestStep); … … 9773 9856 9774 9857 /* 9775 * PMOVMSKB, VPMOVMSKB.9858 * [V]PMOVMSKB. 9776 9859 */ 9777 9860 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmovmskb(uint8_t bMode) … … 9789 9872 static BS3CPUINSTR3_TEST2_T const s_aTests16[] = 9790 9873 { 9791 { bs3CpuInstr3_pmovmskb_EAX_MM2_icebp_c16, 255, RM_REG, T_AXMMX_OR_SSE, 4, AL, MM2, RT_ELEMENTS(s_aValues), s_aValues},9792 { bs3CpuInstr3_pmovmskb_EAX_qword_FSxBX_icebp_c16, BS3_XCPT_UD, RM_MEM, T_AXMMX_OR_SSE, 4, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9793 { bs3CpuInstr3_pmovmskb_EAX_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 4, AX, XMM2, RT_ELEMENTS(s_aValues), s_aValues},9794 { bs3CpuInstr3_pmovmskb_EAX_dqword_FSxBX_icebp_c16, BS3_XCPT_UD, RM_MEM, T_SSE2, 4, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9795 { bs3CpuInstr3_vpmovmskb_EAX_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 4, AX, XMM2, RT_ELEMENTS(s_aValues), s_aValues},9796 { bs3CpuInstr3_vpmovmskb_EAX_dqword_FSxBX_icebp_c16, BS3_XCPT_UD, RM_MEM, T_AVX_128, 4, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9797 { bs3CpuInstr3_vpmovmskb_EAX_YMM2_icebp_c16, 255, RM_REG, T_AVX2_256, 4, EAX, YMM2, RT_ELEMENTS(s_aValues), s_aValues},9798 { bs3CpuInstr3_vpmovmskb_EAX_qqword_FSxBX_icebp_c16, BS3_XCPT_UD, RM_MEM, T_AVX2_256, 4, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9874 { bs3CpuInstr3_pmovmskb_EAX_MM2_icebp_c16, 255, RM_REG, T_AXMMX_OR_SSE, 4, AL, MM2, PASS_ELEMENTS(s_aValues) }, 9875 { bs3CpuInstr3_pmovmskb_EAX_qword_FSxBX_icebp_c16, BS3_XCPT_UD, RM_MEM, T_AXMMX_OR_SSE, 4, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9876 { bs3CpuInstr3_pmovmskb_EAX_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 4, AX, XMM2, PASS_ELEMENTS(s_aValues) }, 9877 { bs3CpuInstr3_pmovmskb_EAX_dqword_FSxBX_icebp_c16, BS3_XCPT_UD, RM_MEM, T_SSE2, 4, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9878 { bs3CpuInstr3_vpmovmskb_EAX_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 4, AX, XMM2, PASS_ELEMENTS(s_aValues) }, 9879 { bs3CpuInstr3_vpmovmskb_EAX_dqword_FSxBX_icebp_c16, BS3_XCPT_UD, RM_MEM, T_AVX_128, 4, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9880 { bs3CpuInstr3_vpmovmskb_EAX_YMM2_icebp_c16, 255, RM_REG, T_AVX2_256, 4, EAX, YMM2, PASS_ELEMENTS(s_aValues) }, 9881 { bs3CpuInstr3_vpmovmskb_EAX_qqword_FSxBX_icebp_c16, BS3_XCPT_UD, RM_MEM, T_AVX2_256, 4, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9799 9882 }; 9800 9883 static BS3CPUINSTR3_TEST2_T const s_aTests32[] = 9801 9884 { 9802 { bs3CpuInstr3_pmovmskb_EAX_MM2_icebp_c32, 255, RM_REG, T_AXMMX_OR_SSE, 4, AL, MM2, RT_ELEMENTS(s_aValues), s_aValues},9803 { bs3CpuInstr3_pmovmskb_EAX_qword_FSxBX_icebp_c32, BS3_XCPT_UD, RM_MEM, T_AXMMX_OR_SSE, 4, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9804 { bs3CpuInstr3_pmovmskb_EAX_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 4, AX, XMM2, RT_ELEMENTS(s_aValues), s_aValues},9805 { bs3CpuInstr3_pmovmskb_EAX_dqword_FSxBX_icebp_c32, BS3_XCPT_UD, RM_MEM, T_SSE2, 4, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9806 { bs3CpuInstr3_vpmovmskb_EAX_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 4, AX, XMM2, RT_ELEMENTS(s_aValues), s_aValues},9807 { bs3CpuInstr3_vpmovmskb_EAX_dqword_FSxBX_icebp_c32, BS3_XCPT_UD, RM_MEM, T_AVX_128, 4, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9808 { bs3CpuInstr3_vpmovmskb_EAX_YMM2_icebp_c32, 255, RM_REG, T_AVX2_256, 4, EAX, YMM2, RT_ELEMENTS(s_aValues), s_aValues},9809 { bs3CpuInstr3_vpmovmskb_EAX_qqword_FSxBX_icebp_c32, BS3_XCPT_UD, RM_MEM, T_AVX2_256, 4, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9885 { bs3CpuInstr3_pmovmskb_EAX_MM2_icebp_c32, 255, RM_REG, T_AXMMX_OR_SSE, 4, AL, MM2, PASS_ELEMENTS(s_aValues) }, 9886 { bs3CpuInstr3_pmovmskb_EAX_qword_FSxBX_icebp_c32, BS3_XCPT_UD, RM_MEM, T_AXMMX_OR_SSE, 4, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9887 { bs3CpuInstr3_pmovmskb_EAX_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 4, AX, XMM2, PASS_ELEMENTS(s_aValues) }, 9888 { bs3CpuInstr3_pmovmskb_EAX_dqword_FSxBX_icebp_c32, BS3_XCPT_UD, RM_MEM, T_SSE2, 4, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9889 { bs3CpuInstr3_vpmovmskb_EAX_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 4, AX, XMM2, PASS_ELEMENTS(s_aValues) }, 9890 { bs3CpuInstr3_vpmovmskb_EAX_dqword_FSxBX_icebp_c32, BS3_XCPT_UD, RM_MEM, T_AVX_128, 4, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9891 { bs3CpuInstr3_vpmovmskb_EAX_YMM2_icebp_c32, 255, RM_REG, T_AVX2_256, 4, EAX, YMM2, PASS_ELEMENTS(s_aValues) }, 9892 { bs3CpuInstr3_vpmovmskb_EAX_qqword_FSxBX_icebp_c32, BS3_XCPT_UD, RM_MEM, T_AVX2_256, 4, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9810 9893 }; 9811 9894 static BS3CPUINSTR3_TEST2_T const s_aTests64[] = 9812 9895 { 9813 { bs3CpuInstr3_pmovmskb_EAX_MM2_icebp_c64, 255, RM_REG, T_AXMMX_OR_SSE, 8, AL, MM2, RT_ELEMENTS(s_aValues), s_aValues},9814 { bs3CpuInstr3_pmovmskb_EAX_qword_FSxBX_icebp_c64, BS3_XCPT_UD, RM_MEM, T_AXMMX_OR_SSE, 8, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9815 { bs3CpuInstr3_pmovmskb_EAX_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 8, AX, XMM2, RT_ELEMENTS(s_aValues), s_aValues},9816 { bs3CpuInstr3_pmovmskb_EAX_dqword_FSxBX_icebp_c64, BS3_XCPT_UD, RM_MEM, T_SSE2, 8, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9817 { bs3CpuInstr3_vpmovmskb_EAX_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 8, AX, XMM2, RT_ELEMENTS(s_aValues), s_aValues},9818 { bs3CpuInstr3_vpmovmskb_EAX_dqword_FSxBX_icebp_c64, BS3_XCPT_UD, RM_MEM, T_AVX_128, 8, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9819 { bs3CpuInstr3_vpmovmskb_EAX_YMM2_icebp_c64, 255, RM_REG, T_AVX2_256, 8, EAX, YMM2, RT_ELEMENTS(s_aValues), s_aValues},9820 { bs3CpuInstr3_vpmovmskb_EAX_qqword_FSxBX_icebp_c64, BS3_XCPT_UD, RM_MEM, T_AVX2_256, 8, EAX, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},9821 { bs3CpuInstr3_vpmovmskb_RAX_YMM9_icebp_c64, 255, RM_REG, T_AVX2_256, 8, RAX, YMM9, RT_ELEMENTS(s_aValues), s_aValues},9896 { bs3CpuInstr3_pmovmskb_EAX_MM2_icebp_c64, 255, RM_REG, T_AXMMX_OR_SSE, 8, AL, MM2, PASS_ELEMENTS(s_aValues) }, 9897 { bs3CpuInstr3_pmovmskb_EAX_qword_FSxBX_icebp_c64, BS3_XCPT_UD, RM_MEM, T_AXMMX_OR_SSE, 8, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9898 { bs3CpuInstr3_pmovmskb_EAX_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 8, AX, XMM2, PASS_ELEMENTS(s_aValues) }, 9899 { bs3CpuInstr3_pmovmskb_EAX_dqword_FSxBX_icebp_c64, BS3_XCPT_UD, RM_MEM, T_SSE2, 8, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9900 { bs3CpuInstr3_vpmovmskb_EAX_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 8, AX, XMM2, PASS_ELEMENTS(s_aValues) }, 9901 { bs3CpuInstr3_vpmovmskb_EAX_dqword_FSxBX_icebp_c64, BS3_XCPT_UD, RM_MEM, T_AVX_128, 8, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9902 { bs3CpuInstr3_vpmovmskb_EAX_YMM2_icebp_c64, 255, RM_REG, T_AVX2_256, 8, EAX, YMM2, PASS_ELEMENTS(s_aValues) }, 9903 { bs3CpuInstr3_vpmovmskb_EAX_qqword_FSxBX_icebp_c64, BS3_XCPT_UD, RM_MEM, T_AVX2_256, 8, EAX, FSxBX, PASS_ELEMENTS(s_aValues) }, 9904 { bs3CpuInstr3_vpmovmskb_RAX_YMM9_icebp_c64, 255, RM_REG, T_AVX2_256, 8, RAX, YMM9, PASS_ELEMENTS(s_aValues) }, 9822 9905 }; 9823 9906 static BS3CPUINSTR3_TEST2_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST2_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 9865 9948 static BS3CPUINSTR3_TEST2_T const s_aTests16[] = 9866 9949 { 9867 { bs3CpuInstr3_movd_MM1_EDX_icebp_c16, 255, RM_REG, T_MMX, 4, MM1, EDX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9868 { bs3CpuInstr3_movd_MM1_FSxBX_icebp_c16, 255, RM_MEM32, T_MMX, 4, MM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9869 { bs3CpuInstr3_movd_EAX_MM1_icebp_c16, 255, RM_REG, T_MMX, 4, EAX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9870 { bs3CpuInstr3_movd_FSxBX_MM1_icebp_c16, 255, RM_MEM32, T_MMX, 4, FSxBX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9871 9872 { bs3CpuInstr3_movd_XMM1_EAX_icebp_c16, 255, RM_REG, T_SSE2, 4, XMM1, EAX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9873 { bs3CpuInstr3_movd_XMM1_FSxBX_icebp_c16, 255, RM_MEM32, T_SSE2, 4, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9874 { bs3CpuInstr3_movd_EAX_XMM1_icebp_c16, 255, RM_REG, T_SSE2, 4, EAX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9875 { bs3CpuInstr3_movd_FSxBX_XMM1_icebp_c16, 255, RM_MEM32, T_SSE2, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9876 9877 { bs3CpuInstr3_vmovd_XMM1_EAX_icebp_c16, 255, RM_REG, T_AVX_128, 4, XMM1, EAX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9878 { bs3CpuInstr3_vmovd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9879 { bs3CpuInstr3_vmovd_EDX_XMM1_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9880 { bs3CpuInstr3_vmovd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9881 9882 { bs3CpuInstr3_movq_MM1_FSxBX_icebp_c16, 255, RM_MEM64, T_MMX, 8, MM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9883 { bs3CpuInstr3_movq_FSxBX_MM1_icebp_c16, 255, RM_MEM64, T_MMX, 8, FSxBX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9884 { bs3CpuInstr3_movq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 8, MM1, MM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9885 { bs3CpuInstr3_movq_XMM1_FSxBX_icebp_c16, 255, RM_MEM64, T_SSE2, 8, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9886 { bs3CpuInstr3_movq_FSxBX_XMM1_icebp_c16, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9887 { bs3CpuInstr3_movq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 8, XMM1, XMM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9888 9889 { bs3CpuInstr3_vmovq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9890 { bs3CpuInstr3_06e_vmovq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD}, /* VEX.W! */9891 { bs3CpuInstr3_vmovq_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9892 { bs3CpuInstr3_07e_vmovq_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm}, /* VEX.W! */9893 { bs3CpuInstr3_vmovq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9950 { bs3CpuInstr3_movd_MM1_EDX_icebp_c16, 255, RM_REG, T_MMX, 4, MM1, EDX, PASS_ELEMENTS(s_aValuesMediaD) }, 9951 { bs3CpuInstr3_movd_MM1_FSxBX_icebp_c16, 255, RM_MEM32, T_MMX, 4, MM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 9952 { bs3CpuInstr3_movd_EAX_MM1_icebp_c16, 255, RM_REG, T_MMX, 4, EAX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 9953 { bs3CpuInstr3_movd_FSxBX_MM1_icebp_c16, 255, RM_MEM32, T_MMX, 4, FSxBX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 9954 9955 { bs3CpuInstr3_movd_XMM1_EAX_icebp_c16, 255, RM_REG, T_SSE2, 4, XMM1, EAX, PASS_ELEMENTS(s_aValuesMediaD) }, 9956 { bs3CpuInstr3_movd_XMM1_FSxBX_icebp_c16, 255, RM_MEM32, T_SSE2, 4, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 9957 { bs3CpuInstr3_movd_EAX_XMM1_icebp_c16, 255, RM_REG, T_SSE2, 4, EAX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9958 { bs3CpuInstr3_movd_FSxBX_XMM1_icebp_c16, 255, RM_MEM32, T_SSE2, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9959 9960 { bs3CpuInstr3_vmovd_XMM1_EAX_icebp_c16, 255, RM_REG, T_AVX_128, 4, XMM1, EAX, PASS_ELEMENTS(s_aValuesMediaD) }, 9961 { bs3CpuInstr3_vmovd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 9962 { bs3CpuInstr3_vmovd_EDX_XMM1_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9963 { bs3CpuInstr3_vmovd_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9964 9965 { bs3CpuInstr3_movq_MM1_FSxBX_icebp_c16, 255, RM_MEM64, T_MMX, 8, MM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 9966 { bs3CpuInstr3_movq_FSxBX_MM1_icebp_c16, 255, RM_MEM64, T_MMX, 8, FSxBX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 9967 { bs3CpuInstr3_movq_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 8, MM1, MM2, PASS_ELEMENTS(s_aValuesRm) }, 9968 { bs3CpuInstr3_movq_XMM1_FSxBX_icebp_c16, 255, RM_MEM64, T_SSE2, 8, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 9969 { bs3CpuInstr3_movq_FSxBX_XMM1_icebp_c16, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9970 { bs3CpuInstr3_movq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 8, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRm) }, 9971 9972 { bs3CpuInstr3_vmovq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 9973 { bs3CpuInstr3_06e_vmovq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, /* VEX.W! */ 9974 { bs3CpuInstr3_vmovq_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9975 { bs3CpuInstr3_07e_vmovq_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, /* VEX.W! */ 9976 { bs3CpuInstr3_vmovq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRm) }, 9894 9977 }; 9895 9978 static BS3CPUINSTR3_TEST2_T const s_aTests32[] = 9896 9979 { 9897 { bs3CpuInstr3_movd_MM1_EDX_icebp_c32, 255, RM_REG, T_MMX, 4, MM1, EDX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9898 { bs3CpuInstr3_movd_MM1_FSxBX_icebp_c32, 255, RM_MEM32, T_MMX, 4, MM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9899 { bs3CpuInstr3_movd_EAX_MM1_icebp_c32, 255, RM_REG, T_MMX, 4, EAX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9900 { bs3CpuInstr3_movd_FSxBX_MM1_icebp_c32, 255, RM_MEM32, T_MMX, 4, FSxBX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9901 9902 { bs3CpuInstr3_movd_XMM1_EAX_icebp_c32, 255, RM_REG, T_SSE2, 4, XMM1, EAX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9903 { bs3CpuInstr3_movd_XMM1_FSxBX_icebp_c32, 255, RM_MEM32, T_SSE2, 4, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9904 { bs3CpuInstr3_movd_EAX_XMM1_icebp_c32, 255, RM_REG, T_SSE2, 4, EAX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9905 { bs3CpuInstr3_movd_FSxBX_XMM1_icebp_c32, 255, RM_MEM32, T_SSE2, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9906 9907 { bs3CpuInstr3_vmovd_XMM1_EAX_icebp_c32, 255, RM_REG, T_AVX_128, 4, XMM1, EAX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9908 { bs3CpuInstr3_vmovd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9909 { bs3CpuInstr3_vmovd_EDX_XMM1_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9910 { bs3CpuInstr3_vmovd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9911 9912 { bs3CpuInstr3_movq_MM1_FSxBX_icebp_c32, 255, RM_MEM64, T_MMX, 8, MM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9913 { bs3CpuInstr3_movq_FSxBX_MM1_icebp_c32, 255, RM_MEM64, T_MMX, 8, FSxBX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9914 { bs3CpuInstr3_movq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 8, MM1, MM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9915 9916 { bs3CpuInstr3_movq_XMM1_FSxBX_icebp_c32, 255, RM_MEM64, T_SSE2, 8, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9917 { bs3CpuInstr3_movq_FSxBX_XMM1_icebp_c32, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9918 { bs3CpuInstr3_movq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 8, XMM1, XMM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9919 9920 { bs3CpuInstr3_vmovq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9921 { bs3CpuInstr3_06e_vmovq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD}, /* VEX.W! */9922 { bs3CpuInstr3_vmovq_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9923 { bs3CpuInstr3_07e_vmovq_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm}, /* VEX.W! */9924 { bs3CpuInstr3_vmovq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9980 { bs3CpuInstr3_movd_MM1_EDX_icebp_c32, 255, RM_REG, T_MMX, 4, MM1, EDX, PASS_ELEMENTS(s_aValuesMediaD) }, 9981 { bs3CpuInstr3_movd_MM1_FSxBX_icebp_c32, 255, RM_MEM32, T_MMX, 4, MM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 9982 { bs3CpuInstr3_movd_EAX_MM1_icebp_c32, 255, RM_REG, T_MMX, 4, EAX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 9983 { bs3CpuInstr3_movd_FSxBX_MM1_icebp_c32, 255, RM_MEM32, T_MMX, 4, FSxBX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 9984 9985 { bs3CpuInstr3_movd_XMM1_EAX_icebp_c32, 255, RM_REG, T_SSE2, 4, XMM1, EAX, PASS_ELEMENTS(s_aValuesMediaD) }, 9986 { bs3CpuInstr3_movd_XMM1_FSxBX_icebp_c32, 255, RM_MEM32, T_SSE2, 4, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 9987 { bs3CpuInstr3_movd_EAX_XMM1_icebp_c32, 255, RM_REG, T_SSE2, 4, EAX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9988 { bs3CpuInstr3_movd_FSxBX_XMM1_icebp_c32, 255, RM_MEM32, T_SSE2, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9989 9990 { bs3CpuInstr3_vmovd_XMM1_EAX_icebp_c32, 255, RM_REG, T_AVX_128, 4, XMM1, EAX, PASS_ELEMENTS(s_aValuesMediaD) }, 9991 { bs3CpuInstr3_vmovd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 9992 { bs3CpuInstr3_vmovd_EDX_XMM1_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9993 { bs3CpuInstr3_vmovd_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 9994 9995 { bs3CpuInstr3_movq_MM1_FSxBX_icebp_c32, 255, RM_MEM64, T_MMX, 8, MM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 9996 { bs3CpuInstr3_movq_FSxBX_MM1_icebp_c32, 255, RM_MEM64, T_MMX, 8, FSxBX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 9997 { bs3CpuInstr3_movq_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 8, MM1, MM2, PASS_ELEMENTS(s_aValuesRm) }, 9998 9999 { bs3CpuInstr3_movq_XMM1_FSxBX_icebp_c32, 255, RM_MEM64, T_SSE2, 8, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10000 { bs3CpuInstr3_movq_FSxBX_XMM1_icebp_c32, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10001 { bs3CpuInstr3_movq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 8, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRm) }, 10002 10003 { bs3CpuInstr3_vmovq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10004 { bs3CpuInstr3_06e_vmovq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, /* VEX.W! */ 10005 { bs3CpuInstr3_vmovq_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10006 { bs3CpuInstr3_07e_vmovq_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, /* VEX.W! */ 10007 { bs3CpuInstr3_vmovq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRm) }, 9925 10008 }; 9926 10009 static BS3CPUINSTR3_TEST2_T const s_aTests64[] = 9927 10010 { 9928 { bs3CpuInstr3_movd_MM1_EDX_icebp_c64, 255, RM_REG, T_MMX, 4, MM1, EDX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9929 { bs3CpuInstr3_movd_MM1_R9D_icebp_c64, 255, RM_REG, T_MMX, 4, MM1, R9D, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9930 { bs3CpuInstr3_movd_MM1_FSxBX_icebp_c64, 255, RM_MEM32, T_MMX, 4, MM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9931 { bs3CpuInstr3_movd_EAX_MM1_icebp_c64, 255, RM_REG, T_MMX, 4, EAX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9932 { bs3CpuInstr3_movd_R10D_MM0_icebp_c64, 255, RM_REG, T_MMX, 4, R10D, MM0, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9933 { bs3CpuInstr3_movd_FSxBX_MM1_icebp_c64, 255, RM_MEM32, T_MMX, 4, FSxBX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9934 9935 { bs3CpuInstr3_movd_XMM1_EAX_icebp_c64, 255, RM_REG, T_SSE2, 4, XMM1, EAX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9936 { bs3CpuInstr3_movd_XMM9_R8D_icebp_c64, 255, RM_REG, T_SSE2, 4, XMM9, R8D, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9937 { bs3CpuInstr3_movd_XMM1_FSxBX_icebp_c64, 255, RM_MEM32, T_SSE2, 4, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9938 { bs3CpuInstr3_movd_XMM9_FSxBX_icebp_c64, 255, RM_MEM32, T_SSE2, 4, XMM9, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9939 { bs3CpuInstr3_movd_EAX_XMM1_icebp_c64, 255, RM_REG, T_SSE2, 4, EAX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9940 { bs3CpuInstr3_movd_R8D_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 4, R8D, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9941 { bs3CpuInstr3_movd_FSxBX_XMM1_icebp_c64, 255, RM_MEM32, T_SSE2, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9942 { bs3CpuInstr3_movd_FSxBX_XMM9_icebp_c64, 255, RM_MEM32, T_SSE2, 4, FSxBX, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9943 9944 { bs3CpuInstr3_vmovd_XMM1_EAX_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM1, EAX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9945 { bs3CpuInstr3_vmovd_XMM9_R9D_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM9, R9D, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9946 { bs3CpuInstr3_vmovd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9947 { bs3CpuInstr3_vmovd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM9, FSxBX, RT_ELEMENTS(s_aValuesMediaD), s_aValuesMediaD},9948 { bs3CpuInstr3_vmovd_EDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9949 { bs3CpuInstr3_vmovd_R8D_XMM9_icebp_c64, 255, RM_REG, T_AVX_128, 4, R8D, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9950 { bs3CpuInstr3_vmovd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9951 { bs3CpuInstr3_vmovd_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9952 9953 { bs3CpuInstr3_movq_MM1_R9_icebp_c64, 255, RM_REG, T_MMX, 8, MM1, R9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9954 { bs3CpuInstr3_movq_MM1_FSxBX_icebp_c64, 255, RM_MEM64, T_MMX, 8, MM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9955 { bs3CpuInstr3_06e_movq_MM1_FSxBX_icebp_c64, 255, RM_MEM64, T_MMX, 8, MM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9956 { bs3CpuInstr3_movq_R9_MM1_icebp_c64, 255, RM_REG, T_MMX, 8, R9, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9957 { bs3CpuInstr3_movq_FSxBX_MM1_icebp_c64, 255, RM_MEM64, T_MMX, 8, FSxBX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9958 { bs3CpuInstr3_07e_movq_FSxBX_MM1_icebp_c64, 255, RM_MEM64, T_MMX, 8, FSxBX, MM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9959 { bs3CpuInstr3_movq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 8, MM1, MM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9960 9961 { bs3CpuInstr3_movq_XMM9_R8_icebp_c64, 255, RM_REG, T_SSE2, 8, XMM9, R8, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9962 { bs3CpuInstr3_movq_XMM1_FSxBX_icebp_c64, 255, RM_MEM64, T_SSE2, 8, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9963 { bs3CpuInstr3_06e_movq_XMM1_FSxBX_icebp_c64, 255, RM_MEM64, T_SSE2, 8, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9964 { bs3CpuInstr3_movq_XMM9_FSxBX_icebp_c64, 255, RM_MEM64, T_SSE2, 8, XMM9, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9965 { bs3CpuInstr3_06e_movq_XMM9_FSxBX_icebp_c64, 255, RM_MEM64, T_SSE2, 8, XMM9, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9966 { bs3CpuInstr3_movq_R8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, R8, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9967 { bs3CpuInstr3_movq_FSxBX_XMM1_icebp_c64, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9968 { bs3CpuInstr3_07e_movq_FSxBX_XMM1_icebp_c64, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9969 { bs3CpuInstr3_movq_FSxBX_XMM9_icebp_c64, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9970 { bs3CpuInstr3_07e_movq_FSxBX_XMM9_icebp_c64, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9971 { bs3CpuInstr3_movq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 8, XMM1, XMM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9972 9973 { bs3CpuInstr3_vmovq_XMM9_R8_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM9, R8, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9974 { bs3CpuInstr3_vmovq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9975 { bs3CpuInstr3_06e_vmovq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9976 { bs3CpuInstr3_vmovq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM9, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9977 { bs3CpuInstr3_06e_vmovq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM9, FSxBX, RT_ELEMENTS(s_aValuesMediaQ), s_aValuesMediaQ},9978 { bs3CpuInstr3_vmovq_R8_XMM9_icebp_c64, 255, RM_REG, T_AVX_128, 8, R8, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9979 { bs3CpuInstr3_vmovq_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9980 { bs3CpuInstr3_07e_vmovq_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM1, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9981 { bs3CpuInstr3_vmovq_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9982 { bs3CpuInstr3_07e_vmovq_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM9, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},9983 { bs3CpuInstr3_vmovq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, RT_ELEMENTS(s_aValuesRm), s_aValuesRm},10011 { bs3CpuInstr3_movd_MM1_EDX_icebp_c64, 255, RM_REG, T_MMX, 4, MM1, EDX, PASS_ELEMENTS(s_aValuesMediaD) }, 10012 { bs3CpuInstr3_movd_MM1_R9D_icebp_c64, 255, RM_REG, T_MMX, 4, MM1, R9D, PASS_ELEMENTS(s_aValuesMediaD) }, 10013 { bs3CpuInstr3_movd_MM1_FSxBX_icebp_c64, 255, RM_MEM32, T_MMX, 4, MM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 10014 { bs3CpuInstr3_movd_EAX_MM1_icebp_c64, 255, RM_REG, T_MMX, 4, EAX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 10015 { bs3CpuInstr3_movd_R10D_MM0_icebp_c64, 255, RM_REG, T_MMX, 4, R10D, MM0, PASS_ELEMENTS(s_aValuesRm) }, 10016 { bs3CpuInstr3_movd_FSxBX_MM1_icebp_c64, 255, RM_MEM32, T_MMX, 4, FSxBX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 10017 10018 { bs3CpuInstr3_movd_XMM1_EAX_icebp_c64, 255, RM_REG, T_SSE2, 4, XMM1, EAX, PASS_ELEMENTS(s_aValuesMediaD) }, 10019 { bs3CpuInstr3_movd_XMM9_R8D_icebp_c64, 255, RM_REG, T_SSE2, 4, XMM9, R8D, PASS_ELEMENTS(s_aValuesMediaD) }, 10020 { bs3CpuInstr3_movd_XMM1_FSxBX_icebp_c64, 255, RM_MEM32, T_SSE2, 4, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 10021 { bs3CpuInstr3_movd_XMM9_FSxBX_icebp_c64, 255, RM_MEM32, T_SSE2, 4, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 10022 { bs3CpuInstr3_movd_EAX_XMM1_icebp_c64, 255, RM_REG, T_SSE2, 4, EAX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10023 { bs3CpuInstr3_movd_R8D_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 4, R8D, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10024 { bs3CpuInstr3_movd_FSxBX_XMM1_icebp_c64, 255, RM_MEM32, T_SSE2, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10025 { bs3CpuInstr3_movd_FSxBX_XMM9_icebp_c64, 255, RM_MEM32, T_SSE2, 4, FSxBX, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10026 10027 { bs3CpuInstr3_vmovd_XMM1_EAX_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM1, EAX, PASS_ELEMENTS(s_aValuesMediaD) }, 10028 { bs3CpuInstr3_vmovd_XMM9_R9D_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM9, R9D, PASS_ELEMENTS(s_aValuesMediaD) }, 10029 { bs3CpuInstr3_vmovd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 10030 { bs3CpuInstr3_vmovd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesMediaD) }, 10031 { bs3CpuInstr3_vmovd_EDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10032 { bs3CpuInstr3_vmovd_R8D_XMM9_icebp_c64, 255, RM_REG, T_AVX_128, 4, R8D, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10033 { bs3CpuInstr3_vmovd_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10034 { bs3CpuInstr3_vmovd_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10035 10036 { bs3CpuInstr3_movq_MM1_R9_icebp_c64, 255, RM_REG, T_MMX, 8, MM1, R9, PASS_ELEMENTS(s_aValuesRm) }, 10037 { bs3CpuInstr3_movq_MM1_FSxBX_icebp_c64, 255, RM_MEM64, T_MMX, 8, MM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10038 { bs3CpuInstr3_06e_movq_MM1_FSxBX_icebp_c64, 255, RM_MEM64, T_MMX, 8, MM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10039 { bs3CpuInstr3_movq_R9_MM1_icebp_c64, 255, RM_REG, T_MMX, 8, R9, MM1, PASS_ELEMENTS(s_aValuesRm) }, 10040 { bs3CpuInstr3_movq_FSxBX_MM1_icebp_c64, 255, RM_MEM64, T_MMX, 8, FSxBX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 10041 { bs3CpuInstr3_07e_movq_FSxBX_MM1_icebp_c64, 255, RM_MEM64, T_MMX, 8, FSxBX, MM1, PASS_ELEMENTS(s_aValuesRm) }, 10042 { bs3CpuInstr3_movq_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 8, MM1, MM2, PASS_ELEMENTS(s_aValuesRm) }, 10043 10044 { bs3CpuInstr3_movq_XMM9_R8_icebp_c64, 255, RM_REG, T_SSE2, 8, XMM9, R8, PASS_ELEMENTS(s_aValuesMediaQ) }, 10045 { bs3CpuInstr3_movq_XMM1_FSxBX_icebp_c64, 255, RM_MEM64, T_SSE2, 8, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10046 { bs3CpuInstr3_06e_movq_XMM1_FSxBX_icebp_c64, 255, RM_MEM64, T_SSE2, 8, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10047 { bs3CpuInstr3_movq_XMM9_FSxBX_icebp_c64, 255, RM_MEM64, T_SSE2, 8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10048 { bs3CpuInstr3_06e_movq_XMM9_FSxBX_icebp_c64, 255, RM_MEM64, T_SSE2, 8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10049 { bs3CpuInstr3_movq_R8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, R8, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10050 { bs3CpuInstr3_movq_FSxBX_XMM1_icebp_c64, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10051 { bs3CpuInstr3_07e_movq_FSxBX_XMM1_icebp_c64, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10052 { bs3CpuInstr3_movq_FSxBX_XMM9_icebp_c64, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10053 { bs3CpuInstr3_07e_movq_FSxBX_XMM9_icebp_c64, 255, RM_MEM64, T_SSE2, 8, FSxBX, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10054 { bs3CpuInstr3_movq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 8, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRm) }, 10055 10056 { bs3CpuInstr3_vmovq_XMM9_R8_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM9, R8, PASS_ELEMENTS(s_aValuesMediaQ) }, 10057 { bs3CpuInstr3_vmovq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10058 { bs3CpuInstr3_06e_vmovq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10059 { bs3CpuInstr3_vmovq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10060 { bs3CpuInstr3_06e_vmovq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesMediaQ) }, 10061 { bs3CpuInstr3_vmovq_R8_XMM9_icebp_c64, 255, RM_REG, T_AVX_128, 8, R8, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10062 { bs3CpuInstr3_vmovq_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10063 { bs3CpuInstr3_07e_vmovq_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesRm) }, 10064 { bs3CpuInstr3_vmovq_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10065 { bs3CpuInstr3_07e_vmovq_FSxBX_XMM9_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM9, PASS_ELEMENTS(s_aValuesRm) }, 10066 { bs3CpuInstr3_vmovq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, PASS_ELEMENTS(s_aValuesRm) }, 9984 10067 }; 9985 10068 static BS3CPUINSTR3_TEST2_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST2_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 10079 10162 static BS3CPUINSTR3_TEST2_T const s_aTests16[] = 10080 10163 { 10081 { bs3CpuInstr3_pextrb_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10082 { bs3CpuInstr3_pextrb_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10083 { bs3CpuInstr3_pextrb_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10084 { bs3CpuInstr3_pextrb_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10085 { bs3CpuInstr3_vpextrb_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10086 { bs3CpuInstr3_vpextrb_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10087 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10088 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10089 { bs3CpuInstr3_vpextrb_w0b0_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b}, /* EDX despite forced VEX.B; VEX.W ignored */10090 { bs3CpuInstr3_vpextrb_w1b0_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b}, /* EDX despite forced VEX.B; VEX.W ignored */10091 { bs3CpuInstr3_vpextrb_l1_EDX_XMM1_0FFh_icebp_c16, BS3_XCPT_UD, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10092 10093 { bs3CpuInstr3_pextrw_EDX_MM1_000h_icebp_c16, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10094 { bs3CpuInstr3_pextrw_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10095 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10096 { bs3CpuInstr3_pextrw_FSxBX_XMM1_000h_icebp_c16, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10097 { bs3CpuInstr3_vpextrw_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10098 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10099 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10100 10101 { bs3CpuInstr3_pextrw_EDX_MM1_0FFh_icebp_c16, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},10102 { bs3CpuInstr3_pextrw_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10103 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10104 { bs3CpuInstr3_pextrw_FSxBX_XMM1_0FFh_icebp_c16, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10105 { bs3CpuInstr3_vpextrw_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10106 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10107 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10108 10109 { bs3CpuInstr3_pextrd_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10110 { bs3CpuInstr3_pextrd_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10111 { bs3CpuInstr3_pextrd_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10112 { bs3CpuInstr3_pextrd_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10113 { bs3CpuInstr3_vpextrd_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10114 { bs3CpuInstr3_vpextrd_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10115 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10116 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10164 { bs3CpuInstr3_pextrb_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10165 { bs3CpuInstr3_pextrb_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10166 { bs3CpuInstr3_pextrb_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10167 { bs3CpuInstr3_pextrb_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10168 { bs3CpuInstr3_vpextrb_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10169 { bs3CpuInstr3_vpextrb_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10170 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10171 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10172 { bs3CpuInstr3_vpextrb_w0b0_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, /* EDX despite forced VEX.B; VEX.W ignored */ 10173 { bs3CpuInstr3_vpextrb_w1b0_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, /* EDX despite forced VEX.B; VEX.W ignored */ 10174 { bs3CpuInstr3_vpextrb_l1_EDX_XMM1_0FFh_icebp_c16, BS3_XCPT_UD, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10175 10176 { bs3CpuInstr3_pextrw_EDX_MM1_000h_icebp_c16, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, PASS_ELEMENTS(s_aValues00_w) }, 10177 { bs3CpuInstr3_pextrw_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10178 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10179 { bs3CpuInstr3_pextrw_FSxBX_XMM1_000h_icebp_c16, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10180 { bs3CpuInstr3_vpextrw_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10181 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10182 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10183 10184 { bs3CpuInstr3_pextrw_EDX_MM1_0FFh_icebp_c16, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, PASS_ELEMENTS(s_aValuesFF_w_64) }, 10185 { bs3CpuInstr3_pextrw_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10186 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10187 { bs3CpuInstr3_pextrw_FSxBX_XMM1_0FFh_icebp_c16, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10188 { bs3CpuInstr3_vpextrw_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10189 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10190 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10191 10192 { bs3CpuInstr3_pextrd_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10193 { bs3CpuInstr3_pextrd_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10194 { bs3CpuInstr3_pextrd_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10195 { bs3CpuInstr3_pextrd_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10196 { bs3CpuInstr3_vpextrd_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10197 { bs3CpuInstr3_vpextrd_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10198 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10199 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10117 10200 }; 10118 10201 static BS3CPUINSTR3_TEST2_T const s_aTests32[] = 10119 10202 { 10120 { bs3CpuInstr3_pextrb_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10121 { bs3CpuInstr3_pextrb_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10122 { bs3CpuInstr3_pextrb_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10123 { bs3CpuInstr3_pextrb_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10124 { bs3CpuInstr3_vpextrb_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10125 { bs3CpuInstr3_vpextrb_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10126 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10127 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10128 { bs3CpuInstr3_vpextrb_w0b0_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b}, /* EDX despite forced VEX.B; VEX.W ignored */10129 { bs3CpuInstr3_vpextrb_w1b0_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b}, /* EDX despite forced VEX.B; VEX.W ignored */10130 { bs3CpuInstr3_vpextrb_l1_EDX_XMM1_0FFh_icebp_c32, BS3_XCPT_UD, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10131 10132 { bs3CpuInstr3_pextrw_EDX_MM1_000h_icebp_c32, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10133 { bs3CpuInstr3_pextrw_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10134 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10135 { bs3CpuInstr3_pextrw_FSxBX_XMM1_000h_icebp_c32, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10136 { bs3CpuInstr3_vpextrw_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10137 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10138 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10139 10140 { bs3CpuInstr3_pextrw_EDX_MM1_0FFh_icebp_c32, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},10141 { bs3CpuInstr3_pextrw_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10142 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10143 { bs3CpuInstr3_pextrw_FSxBX_XMM1_0FFh_icebp_c32, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10144 { bs3CpuInstr3_vpextrw_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10145 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10146 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10147 10148 { bs3CpuInstr3_pextrd_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10149 { bs3CpuInstr3_pextrd_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10150 { bs3CpuInstr3_pextrd_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10151 { bs3CpuInstr3_pextrd_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10152 { bs3CpuInstr3_vpextrd_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10153 { bs3CpuInstr3_vpextrd_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10154 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10155 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10203 { bs3CpuInstr3_pextrb_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10204 { bs3CpuInstr3_pextrb_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10205 { bs3CpuInstr3_pextrb_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10206 { bs3CpuInstr3_pextrb_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10207 { bs3CpuInstr3_vpextrb_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10208 { bs3CpuInstr3_vpextrb_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10209 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10210 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10211 { bs3CpuInstr3_vpextrb_w0b0_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, /* EDX despite forced VEX.B; VEX.W ignored */ 10212 { bs3CpuInstr3_vpextrb_w1b0_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, /* EDX despite forced VEX.B; VEX.W ignored */ 10213 { bs3CpuInstr3_vpextrb_l1_EDX_XMM1_0FFh_icebp_c32, BS3_XCPT_UD, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10214 10215 { bs3CpuInstr3_pextrw_EDX_MM1_000h_icebp_c32, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, PASS_ELEMENTS(s_aValues00_w) }, 10216 { bs3CpuInstr3_pextrw_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10217 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10218 { bs3CpuInstr3_pextrw_FSxBX_XMM1_000h_icebp_c32, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10219 { bs3CpuInstr3_vpextrw_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10220 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10221 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10222 10223 { bs3CpuInstr3_pextrw_EDX_MM1_0FFh_icebp_c32, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, PASS_ELEMENTS(s_aValuesFF_w_64) }, 10224 { bs3CpuInstr3_pextrw_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10225 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10226 { bs3CpuInstr3_pextrw_FSxBX_XMM1_0FFh_icebp_c32, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10227 { bs3CpuInstr3_vpextrw_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10228 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10229 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10230 10231 { bs3CpuInstr3_pextrd_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10232 { bs3CpuInstr3_pextrd_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10233 { bs3CpuInstr3_pextrd_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10234 { bs3CpuInstr3_pextrd_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10235 { bs3CpuInstr3_vpextrd_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10236 { bs3CpuInstr3_vpextrd_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10237 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10238 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10156 10239 }; 10157 10240 static BS3CPUINSTR3_TEST2_T const s_aTests64[] = 10158 10241 { 10159 { bs3CpuInstr3_pextrb_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10160 { bs3CpuInstr3_pextrb_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10161 { bs3CpuInstr3_pextrb_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10162 { bs3CpuInstr3_pextrb_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10163 { bs3CpuInstr3_pextrb_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10164 { bs3CpuInstr3_pextrb_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10165 { bs3CpuInstr3_pextrb_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM8, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10166 { bs3CpuInstr3_pextrb_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM8, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10167 { bs3CpuInstr3_vpextrb_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10168 { bs3CpuInstr3_vpextrb_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10169 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10170 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10171 { bs3CpuInstr3_vpextrb_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10172 { bs3CpuInstr3_vpextrb_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10173 { bs3CpuInstr3_vpextrb_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM8, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10174 { bs3CpuInstr3_vpextrb_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM8, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},10175 { bs3CpuInstr3_vpextrb_w0b0_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R10D, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b}, /* VEX.B forces EDX to R10D; VEX.W ignored */10176 { bs3CpuInstr3_vpextrb_w1b0_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R10D, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b}, /* VEX.B forces EDX to R10D; VEX.W ignored */10177 { bs3CpuInstr3_vpextrb_l1_EDX_XMM1_0FFh_icebp_c64, BS3_XCPT_UD, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},10178 10179 { bs3CpuInstr3_pextrw_EDX_MM1_000h_icebp_c64, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10180 { bs3CpuInstr3_pextrw_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10181 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10182 { bs3CpuInstr3_pextrw_FSxBX_XMM1_000h_icebp_c64, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10183 { bs3CpuInstr3_vpextrw_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10184 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10185 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10186 10187 { bs3CpuInstr3_pextrw_EDX_MM1_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},10188 { bs3CpuInstr3_pextrw_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10189 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10190 { bs3CpuInstr3_pextrw_FSxBX_XMM1_0FFh_icebp_c64, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10191 { bs3CpuInstr3_vpextrw_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10192 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10193 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10194 10195 { bs3CpuInstr3_pextrw_R9D_MM1_000h_icebp_c64, 255, RM_REG, T_MMX_SSE, 4, R9D, MM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10196 { bs3CpuInstr3_pextrw_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE2, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10197 { bs3CpuInstr3_pextrw_alt_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10198 { bs3CpuInstr3_pextrw_FSxBX_XMM8_000h_icebp_c64, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM8, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10199 { bs3CpuInstr3_vpextrw_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10200 { bs3CpuInstr3_vpextrw_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM8, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10201 10202 { bs3CpuInstr3_pextrw_R9D_MM1_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSE, 4, R9D, MM1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},10203 { bs3CpuInstr3_pextrw_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10204 { bs3CpuInstr3_pextrw_alt_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10205 { bs3CpuInstr3_pextrw_FSxBX_XMM8_0FFh_icebp_c64, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM8, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10206 { bs3CpuInstr3_vpextrw_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10207 { bs3CpuInstr3_vpextrw_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM8, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10208 10209 { bs3CpuInstr3_pextrw_R9_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE2, 8, R9, XMM8, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10210 { bs3CpuInstr3_pextrw_alt_RDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, RDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10211 { bs3CpuInstr3_pextrw_alt_R9_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, R9, XMM8, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10212 { bs3CpuInstr3_vpextrw_RDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},10213 10214 { bs3CpuInstr3_pextrw_R9_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 8, R9, XMM8, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10215 { bs3CpuInstr3_pextrw_alt_RDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, RDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10216 { bs3CpuInstr3_pextrw_alt_R9_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, R9, XMM8, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10217 { bs3CpuInstr3_vpextrw_RDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},10218 10219 { bs3CpuInstr3_pextrd_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10220 { bs3CpuInstr3_pextrd_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10221 { bs3CpuInstr3_pextrd_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10222 { bs3CpuInstr3_pextrd_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10223 { bs3CpuInstr3_pextrd_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10224 { bs3CpuInstr3_pextrd_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10225 { bs3CpuInstr3_pextrd_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10226 { bs3CpuInstr3_pextrd_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10227 { bs3CpuInstr3_vpextrd_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10228 { bs3CpuInstr3_vpextrd_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10229 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10230 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10231 { bs3CpuInstr3_vpextrd_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10232 { bs3CpuInstr3_vpextrd_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10233 { bs3CpuInstr3_vpextrd_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},10234 { bs3CpuInstr3_vpextrd_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},10235 10236 { bs3CpuInstr3_pextrq_RDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, RDX, XMM1, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},10237 { bs3CpuInstr3_pextrq_RDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, RDX, XMM1, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},10238 { bs3CpuInstr3_pextrq_R9_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, R9, XMM8, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},10239 { bs3CpuInstr3_pextrq_R9_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, R9, XMM8, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},10240 { bs3CpuInstr3_pextrq_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE4_1, 8, FSxBX, XMM8, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},10241 { bs3CpuInstr3_pextrq_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE4_1, 8, FSxBX, XMM8, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},10242 { bs3CpuInstr3_vpextrq_RDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},10243 { bs3CpuInstr3_vpextrq_RDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},10244 { bs3CpuInstr3_vpextrq_R9_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, R9, XMM8, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},10245 { bs3CpuInstr3_vpextrq_R9_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, R9, XMM8, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},10246 { bs3CpuInstr3_vpextrq_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM8, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},10247 { bs3CpuInstr3_vpextrq_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM8, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},10242 { bs3CpuInstr3_pextrb_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10243 { bs3CpuInstr3_pextrb_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10244 { bs3CpuInstr3_pextrb_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10245 { bs3CpuInstr3_pextrb_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10246 { bs3CpuInstr3_pextrb_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesFF_b) }, 10247 { bs3CpuInstr3_pextrb_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00_b) }, 10248 { bs3CpuInstr3_pextrb_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM8, PASS_ELEMENTS(s_aValuesFF_b) }, 10249 { bs3CpuInstr3_pextrb_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_DB, RM_MEM8, T_SSE4_1, 1, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00_b) }, 10250 { bs3CpuInstr3_vpextrb_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10251 { bs3CpuInstr3_vpextrb_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10252 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10253 { bs3CpuInstr3_vpextrb_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_b) }, 10254 { bs3CpuInstr3_vpextrb_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesFF_b) }, 10255 { bs3CpuInstr3_vpextrb_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00_b) }, 10256 { bs3CpuInstr3_vpextrb_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM8, PASS_ELEMENTS(s_aValuesFF_b) }, 10257 { bs3CpuInstr3_vpextrb_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_DB, RM_MEM8, T_AVX_128, 1, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00_b) }, 10258 { bs3CpuInstr3_vpextrb_w0b0_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R10D, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, /* VEX.B forces EDX to R10D; VEX.W ignored */ 10259 { bs3CpuInstr3_vpextrb_w1b0_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R10D, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, /* VEX.B forces EDX to R10D; VEX.W ignored */ 10260 { bs3CpuInstr3_vpextrb_l1_EDX_XMM1_0FFh_icebp_c64, BS3_XCPT_UD, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_b) }, 10261 10262 { bs3CpuInstr3_pextrw_EDX_MM1_000h_icebp_c64, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, PASS_ELEMENTS(s_aValues00_w) }, 10263 { bs3CpuInstr3_pextrw_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10264 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10265 { bs3CpuInstr3_pextrw_FSxBX_XMM1_000h_icebp_c64, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10266 { bs3CpuInstr3_vpextrw_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10267 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10268 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10269 10270 { bs3CpuInstr3_pextrw_EDX_MM1_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSE, 4, EDX, MM1, PASS_ELEMENTS(s_aValuesFF_w_64) }, 10271 { bs3CpuInstr3_pextrw_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10272 { bs3CpuInstr3_pextrw_alt_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10273 { bs3CpuInstr3_pextrw_FSxBX_XMM1_0FFh_icebp_c64, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10274 { bs3CpuInstr3_vpextrw_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10275 { bs3CpuInstr3_vpextrw_alt_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10276 { bs3CpuInstr3_vpextrw_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10277 10278 { bs3CpuInstr3_pextrw_R9D_MM1_000h_icebp_c64, 255, RM_REG, T_MMX_SSE, 4, R9D, MM1, PASS_ELEMENTS(s_aValues00_w) }, 10279 { bs3CpuInstr3_pextrw_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE2, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00_w) }, 10280 { bs3CpuInstr3_pextrw_alt_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00_w) }, 10281 { bs3CpuInstr3_pextrw_FSxBX_XMM8_000h_icebp_c64, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00_w) }, 10282 { bs3CpuInstr3_vpextrw_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00_w) }, 10283 { bs3CpuInstr3_vpextrw_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00_w) }, 10284 10285 { bs3CpuInstr3_pextrw_R9D_MM1_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSE, 4, R9D, MM1, PASS_ELEMENTS(s_aValuesFF_w_64) }, 10286 { bs3CpuInstr3_pextrw_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesFF_w) }, 10287 { bs3CpuInstr3_pextrw_alt_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesFF_w) }, 10288 { bs3CpuInstr3_pextrw_FSxBX_XMM8_0FFh_icebp_c64, 255, RM_MEM16, T_SSE4_1, 2, FSxBX, XMM8, PASS_ELEMENTS(s_aValuesFF_w) }, 10289 { bs3CpuInstr3_vpextrw_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesFF_w) }, 10290 { bs3CpuInstr3_vpextrw_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM16, T_AVX_128, 2, FSxBX, XMM8, PASS_ELEMENTS(s_aValuesFF_w) }, 10291 10292 { bs3CpuInstr3_pextrw_R9_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE2, 8, R9, XMM8, PASS_ELEMENTS(s_aValues00_w) }, 10293 { bs3CpuInstr3_pextrw_alt_RDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, RDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10294 { bs3CpuInstr3_pextrw_alt_R9_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, R9, XMM8, PASS_ELEMENTS(s_aValues00_w) }, 10295 { bs3CpuInstr3_vpextrw_RDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, PASS_ELEMENTS(s_aValues00_w) }, 10296 10297 { bs3CpuInstr3_pextrw_R9_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE2, 8, R9, XMM8, PASS_ELEMENTS(s_aValuesFF_w) }, 10298 { bs3CpuInstr3_pextrw_alt_RDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, RDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10299 { bs3CpuInstr3_pextrw_alt_R9_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, R9, XMM8, PASS_ELEMENTS(s_aValuesFF_w) }, 10300 { bs3CpuInstr3_vpextrw_RDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, PASS_ELEMENTS(s_aValuesFF_w) }, 10301 10302 { bs3CpuInstr3_pextrd_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10303 { bs3CpuInstr3_pextrd_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10304 { bs3CpuInstr3_pextrd_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10305 { bs3CpuInstr3_pextrd_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10306 { bs3CpuInstr3_pextrd_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesFF_d) }, 10307 { bs3CpuInstr3_pextrd_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00_d) }, 10308 { bs3CpuInstr3_pextrd_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValuesFF_d) }, 10309 { bs3CpuInstr3_pextrd_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00_d) }, 10310 { bs3CpuInstr3_vpextrd_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10311 { bs3CpuInstr3_vpextrd_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10312 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValuesFF_d) }, 10313 { bs3CpuInstr3_vpextrd_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00_d) }, 10314 { bs3CpuInstr3_vpextrd_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesFF_d) }, 10315 { bs3CpuInstr3_vpextrd_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00_d) }, 10316 { bs3CpuInstr3_vpextrd_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValuesFF_d) }, 10317 { bs3CpuInstr3_vpextrd_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00_d) }, 10318 10319 { bs3CpuInstr3_pextrq_RDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, RDX, XMM1, PASS_ELEMENTS(s_aValuesFF_q) }, 10320 { bs3CpuInstr3_pextrq_RDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, RDX, XMM1, PASS_ELEMENTS(s_aValues00_q) }, 10321 { bs3CpuInstr3_pextrq_R9_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, R9, XMM8, PASS_ELEMENTS(s_aValuesFF_q) }, 10322 { bs3CpuInstr3_pextrq_R9_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, R9, XMM8, PASS_ELEMENTS(s_aValues00_q) }, 10323 { bs3CpuInstr3_pextrq_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE4_1, 8, FSxBX, XMM8, PASS_ELEMENTS(s_aValuesFF_q) }, 10324 { bs3CpuInstr3_pextrq_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_SSE4_1, 8, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00_q) }, 10325 { bs3CpuInstr3_vpextrq_RDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, PASS_ELEMENTS(s_aValuesFF_q) }, 10326 { bs3CpuInstr3_vpextrq_RDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, PASS_ELEMENTS(s_aValues00_q) }, 10327 { bs3CpuInstr3_vpextrq_R9_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, R9, XMM8, PASS_ELEMENTS(s_aValuesFF_q) }, 10328 { bs3CpuInstr3_vpextrq_R9_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, R9, XMM8, PASS_ELEMENTS(s_aValues00_q) }, 10329 { bs3CpuInstr3_vpextrq_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM8, PASS_ELEMENTS(s_aValuesFF_q) }, 10330 { bs3CpuInstr3_vpextrq_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00_q) }, 10248 10331 }; 10249 10332 static BS3CPUINSTR3_TEST2_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST2_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 10301 10384 static BS3CPUINSTR3_TEST2_T const s_aTests16[] = 10302 10385 { 10303 { bs3CpuInstr3_movmskps_EDX_XMM1_icebp_c16, 255, RM_REG, T_SSE, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10304 { bs3CpuInstr3_vmovmskps_EDX_XMM1_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10305 { bs3CpuInstr3_vmovmskps_EDX_YMM1_icebp_c16, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, RT_ELEMENTS(s_aValuesR32_256), s_aValuesR32_256},10306 10307 { bs3CpuInstr3_movmskpd_EDX_XMM1_icebp_c16, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10308 { bs3CpuInstr3_vmovmskpd_EDX_XMM1_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10309 { bs3CpuInstr3_vmovmskpd_EDX_YMM1_icebp_c16, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, RT_ELEMENTS(s_aValuesR64_256), s_aValuesR64_256},10386 { bs3CpuInstr3_movmskps_EDX_XMM1_icebp_c16, 255, RM_REG, T_SSE, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR32_128) }, 10387 { bs3CpuInstr3_vmovmskps_EDX_XMM1_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR32_128) }, 10388 { bs3CpuInstr3_vmovmskps_EDX_YMM1_icebp_c16, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, PASS_ELEMENTS(s_aValuesR32_256) }, 10389 10390 { bs3CpuInstr3_movmskpd_EDX_XMM1_icebp_c16, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR64_128) }, 10391 { bs3CpuInstr3_vmovmskpd_EDX_XMM1_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR64_128) }, 10392 { bs3CpuInstr3_vmovmskpd_EDX_YMM1_icebp_c16, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, PASS_ELEMENTS(s_aValuesR64_256) }, 10310 10393 }; 10311 10394 static BS3CPUINSTR3_TEST2_T const s_aTests32[] = 10312 10395 { 10313 { bs3CpuInstr3_movmskps_EDX_XMM1_icebp_c32, 255, RM_REG, T_SSE, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10314 { bs3CpuInstr3_vmovmskps_EDX_XMM1_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10315 { bs3CpuInstr3_vmovmskps_EDX_YMM1_icebp_c32, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, RT_ELEMENTS(s_aValuesR32_256), s_aValuesR32_256},10316 10317 { bs3CpuInstr3_movmskpd_EDX_XMM1_icebp_c32, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10318 { bs3CpuInstr3_vmovmskpd_EDX_XMM1_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10319 { bs3CpuInstr3_vmovmskpd_EDX_YMM1_icebp_c32, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, RT_ELEMENTS(s_aValuesR64_256), s_aValuesR64_256},10396 { bs3CpuInstr3_movmskps_EDX_XMM1_icebp_c32, 255, RM_REG, T_SSE, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR32_128) }, 10397 { bs3CpuInstr3_vmovmskps_EDX_XMM1_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR32_128) }, 10398 { bs3CpuInstr3_vmovmskps_EDX_YMM1_icebp_c32, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, PASS_ELEMENTS(s_aValuesR32_256) }, 10399 10400 { bs3CpuInstr3_movmskpd_EDX_XMM1_icebp_c32, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR64_128) }, 10401 { bs3CpuInstr3_vmovmskpd_EDX_XMM1_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR64_128) }, 10402 { bs3CpuInstr3_vmovmskpd_EDX_YMM1_icebp_c32, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, PASS_ELEMENTS(s_aValuesR64_256) }, 10320 10403 }; 10321 10404 static BS3CPUINSTR3_TEST2_T const s_aTests64[] = 10322 10405 { 10323 { bs3CpuInstr3_movmskps_EDX_XMM1_icebp_c64, 255, RM_REG, T_SSE, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10324 { bs3CpuInstr3_movmskps_R9D_XMM8_icebp_c64, 255, RM_REG, T_SSE, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10325 { bs3CpuInstr3_movmskps_RDX_XMM1_icebp_c64, 255, RM_REG, T_SSE, 8, RDX, XMM1, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10326 { bs3CpuInstr3_vmovmskps_EDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10327 { bs3CpuInstr3_vmovmskps_RDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10328 { bs3CpuInstr3_vmovmskps_R9D_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesR32_128), s_aValuesR32_128},10329 10330 { bs3CpuInstr3_vmovmskps_EDX_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, RT_ELEMENTS(s_aValuesR32_256), s_aValuesR32_256},10331 { bs3CpuInstr3_vmovmskps_RDX_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 8, RDX, YMM1, RT_ELEMENTS(s_aValuesR32_256), s_aValuesR32_256},10332 { bs3CpuInstr3_vmovmskps_R9D_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, 4, R9D, YMM8, RT_ELEMENTS(s_aValuesR32_256), s_aValuesR32_256},10333 10334 { bs3CpuInstr3_movmskpd_EDX_XMM1_icebp_c64, 255, RM_REG, T_SSE2, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10335 { bs3CpuInstr3_movmskpd_R9D_XMM8_icebp_c64, 255, RM_REG, T_SSE2, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10336 { bs3CpuInstr3_movmskpd_RDX_XMM1_icebp_c64, 255, RM_REG, T_SSE2, 8, RDX, XMM1, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10337 { bs3CpuInstr3_vmovmskpd_EDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10338 { bs3CpuInstr3_vmovmskpd_RDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10339 { bs3CpuInstr3_vmovmskpd_R9D_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValuesR64_128), s_aValuesR64_128},10340 10341 { bs3CpuInstr3_vmovmskpd_EDX_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, RT_ELEMENTS(s_aValuesR64_256), s_aValuesR64_256},10342 { bs3CpuInstr3_vmovmskpd_RDX_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 8, RDX, YMM1, RT_ELEMENTS(s_aValuesR64_256), s_aValuesR64_256},10343 { bs3CpuInstr3_vmovmskpd_R9D_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, 4, R9D, YMM8, RT_ELEMENTS(s_aValuesR64_256), s_aValuesR64_256},10406 { bs3CpuInstr3_movmskps_EDX_XMM1_icebp_c64, 255, RM_REG, T_SSE, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR32_128) }, 10407 { bs3CpuInstr3_movmskps_R9D_XMM8_icebp_c64, 255, RM_REG, T_SSE, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesR32_128) }, 10408 { bs3CpuInstr3_movmskps_RDX_XMM1_icebp_c64, 255, RM_REG, T_SSE, 8, RDX, XMM1, PASS_ELEMENTS(s_aValuesR32_128) }, 10409 { bs3CpuInstr3_vmovmskps_EDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR32_128) }, 10410 { bs3CpuInstr3_vmovmskps_RDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, PASS_ELEMENTS(s_aValuesR32_128) }, 10411 { bs3CpuInstr3_vmovmskps_R9D_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesR32_128) }, 10412 10413 { bs3CpuInstr3_vmovmskps_EDX_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, PASS_ELEMENTS(s_aValuesR32_256) }, 10414 { bs3CpuInstr3_vmovmskps_RDX_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 8, RDX, YMM1, PASS_ELEMENTS(s_aValuesR32_256) }, 10415 { bs3CpuInstr3_vmovmskps_R9D_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, 4, R9D, YMM8, PASS_ELEMENTS(s_aValuesR32_256) }, 10416 10417 { bs3CpuInstr3_movmskpd_EDX_XMM1_icebp_c64, 255, RM_REG, T_SSE2, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR64_128) }, 10418 { bs3CpuInstr3_movmskpd_R9D_XMM8_icebp_c64, 255, RM_REG, T_SSE2, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesR64_128) }, 10419 { bs3CpuInstr3_movmskpd_RDX_XMM1_icebp_c64, 255, RM_REG, T_SSE2, 8, RDX, XMM1, PASS_ELEMENTS(s_aValuesR64_128) }, 10420 { bs3CpuInstr3_vmovmskpd_EDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValuesR64_128) }, 10421 { bs3CpuInstr3_vmovmskpd_RDX_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 8, RDX, XMM1, PASS_ELEMENTS(s_aValuesR64_128) }, 10422 { bs3CpuInstr3_vmovmskpd_R9D_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValuesR64_128) }, 10423 10424 { bs3CpuInstr3_vmovmskpd_EDX_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 4, EDX, YMM1, PASS_ELEMENTS(s_aValuesR64_256) }, 10425 { bs3CpuInstr3_vmovmskpd_RDX_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 8, RDX, YMM1, PASS_ELEMENTS(s_aValuesR64_256) }, 10426 { bs3CpuInstr3_vmovmskpd_R9D_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, 4, R9D, YMM8, PASS_ELEMENTS(s_aValuesR64_256) }, 10344 10427 }; 10345 10428 static BS3CPUINSTR3_TEST2_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST2_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 10382 10465 static BS3CPUINSTR3_TEST2_T const s_aTests16[] = 10383 10466 { 10384 { bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10385 { bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10386 { bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10387 { bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10388 { bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10389 { bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10390 { bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10391 { bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10392 { bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10393 { bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10394 { bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10395 { bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10396 10397 { bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10398 { bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10399 { bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10400 { bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10401 { bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10402 { bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10403 { bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10404 { bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10405 { bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10406 { bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10407 { bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10408 { bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10467 { bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10468 { bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10469 { bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10470 { bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10471 { bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10472 { bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10473 { bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10474 { bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10475 { bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10476 { bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10477 { bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10478 { bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10479 10480 { bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10481 { bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10482 { bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10483 { bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10484 { bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10485 { bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10486 { bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10487 { bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10488 { bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10489 { bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10490 { bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10491 { bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10409 10492 }; 10410 10493 static BS3CPUINSTR3_TEST2_T const s_aTests32[] = 10411 10494 { 10412 { bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10413 { bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10414 { bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10415 { bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10416 { bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10417 { bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10418 { bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10419 { bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10420 { bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10421 { bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10422 { bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10423 { bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10424 10425 { bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10426 { bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10427 { bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10428 { bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10429 { bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10430 { bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10431 { bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10432 { bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10433 { bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10434 { bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10435 { bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10436 { bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10495 { bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10496 { bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10497 { bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10498 { bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10499 { bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10500 { bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10501 { bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10502 { bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10503 { bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10504 { bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10505 { bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10506 { bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10507 10508 { bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10509 { bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10510 { bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10511 { bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10512 { bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10513 { bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10514 { bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10515 { bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10516 { bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10517 { bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10518 { bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10519 { bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10437 10520 }; 10438 10521 static BS3CPUINSTR3_TEST2_T const s_aTests64[] = 10439 10522 { 10440 { bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10441 { bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10442 { bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10443 { bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10444 { bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10445 { bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10446 { bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10447 { bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10448 { bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10449 { bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10450 { bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10451 { bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10452 10453 { bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10454 { bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10455 { bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10456 { bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10457 { bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10458 { bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10459 { bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues00), s_aValues00},10460 { bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues01), s_aValues01},10461 { bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10462 { bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10463 { bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues02), s_aValues02},10464 { bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, RT_ELEMENTS(s_aValues03), s_aValues03},10465 10466 { bs3CpuInstr3_extractps_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00), s_aValues00},10467 { bs3CpuInstr3_extractps_R9D_XMM8_001h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues01), s_aValues01},10468 { bs3CpuInstr3_extractps_R9D_XMM8_002h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues02), s_aValues02},10469 { bs3CpuInstr3_extractps_R9D_XMM8_003h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues03), s_aValues03},10470 { bs3CpuInstr3_extractps_R9D_XMM8_032h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues02), s_aValues02},10471 { bs3CpuInstr3_extractps_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, RT_ELEMENTS(s_aValues03), s_aValues03},10472 { bs3CpuInstr3_extractps_FSxBX_XMM8_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues00), s_aValues00},10473 { bs3CpuInstr3_extractps_FSxBX_XMM8_001h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues01), s_aValues01},10474 { bs3CpuInstr3_extractps_FSxBX_XMM8_002h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues02), s_aValues02},10475 { bs3CpuInstr3_extractps_FSxBX_XMM8_003h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues03), s_aValues03},10476 { bs3CpuInstr3_extractps_FSxBX_XMM8_032h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues02), s_aValues02},10477 { bs3CpuInstr3_extractps_FSxBX_XMM8_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues03), s_aValues03},10478 10479 { bs3CpuInstr3_vextractps_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues00), s_aValues00},10480 { bs3CpuInstr3_vextractps_R9D_XMM8_001h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues01), s_aValues01},10481 { bs3CpuInstr3_vextractps_R9D_XMM8_002h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues02), s_aValues02},10482 { bs3CpuInstr3_vextractps_R9D_XMM8_003h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues03), s_aValues03},10483 { bs3CpuInstr3_vextractps_R9D_XMM8_032h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues02), s_aValues02},10484 { bs3CpuInstr3_vextractps_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, RT_ELEMENTS(s_aValues03), s_aValues03},10485 { bs3CpuInstr3_vextractps_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues00), s_aValues00},10486 { bs3CpuInstr3_vextractps_FSxBX_XMM8_001h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues01), s_aValues01},10487 { bs3CpuInstr3_vextractps_FSxBX_XMM8_002h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues02), s_aValues02},10488 { bs3CpuInstr3_vextractps_FSxBX_XMM8_003h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues03), s_aValues03},10489 { bs3CpuInstr3_vextractps_FSxBX_XMM8_032h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues02), s_aValues02},10490 { bs3CpuInstr3_vextractps_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, RT_ELEMENTS(s_aValues03), s_aValues03},10523 { bs3CpuInstr3_extractps_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10524 { bs3CpuInstr3_extractps_EDX_XMM1_001h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10525 { bs3CpuInstr3_extractps_EDX_XMM1_002h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10526 { bs3CpuInstr3_extractps_EDX_XMM1_003h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10527 { bs3CpuInstr3_extractps_EDX_XMM1_032h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10528 { bs3CpuInstr3_extractps_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10529 { bs3CpuInstr3_extractps_FSxBX_XMM1_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10530 { bs3CpuInstr3_extractps_FSxBX_XMM1_001h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10531 { bs3CpuInstr3_extractps_FSxBX_XMM1_002h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10532 { bs3CpuInstr3_extractps_FSxBX_XMM1_003h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10533 { bs3CpuInstr3_extractps_FSxBX_XMM1_032h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10534 { bs3CpuInstr3_extractps_FSxBX_XMM1_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10535 10536 { bs3CpuInstr3_vextractps_EDX_XMM1_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10537 { bs3CpuInstr3_vextractps_EDX_XMM1_001h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10538 { bs3CpuInstr3_vextractps_EDX_XMM1_002h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10539 { bs3CpuInstr3_vextractps_EDX_XMM1_003h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10540 { bs3CpuInstr3_vextractps_EDX_XMM1_032h_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10541 { bs3CpuInstr3_vextractps_EDX_XMM1_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, EDX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10542 { bs3CpuInstr3_vextractps_FSxBX_XMM1_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues00) }, 10543 { bs3CpuInstr3_vextractps_FSxBX_XMM1_001h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues01) }, 10544 { bs3CpuInstr3_vextractps_FSxBX_XMM1_002h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10545 { bs3CpuInstr3_vextractps_FSxBX_XMM1_003h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10546 { bs3CpuInstr3_vextractps_FSxBX_XMM1_032h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues02) }, 10547 { bs3CpuInstr3_vextractps_FSxBX_XMM1_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM1, PASS_ELEMENTS(s_aValues03) }, 10548 10549 { bs3CpuInstr3_extractps_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00) }, 10550 { bs3CpuInstr3_extractps_R9D_XMM8_001h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues01) }, 10551 { bs3CpuInstr3_extractps_R9D_XMM8_002h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues02) }, 10552 { bs3CpuInstr3_extractps_R9D_XMM8_003h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues03) }, 10553 { bs3CpuInstr3_extractps_R9D_XMM8_032h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues02) }, 10554 { bs3CpuInstr3_extractps_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues03) }, 10555 { bs3CpuInstr3_extractps_FSxBX_XMM8_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00) }, 10556 { bs3CpuInstr3_extractps_FSxBX_XMM8_001h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues01) }, 10557 { bs3CpuInstr3_extractps_FSxBX_XMM8_002h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues02) }, 10558 { bs3CpuInstr3_extractps_FSxBX_XMM8_003h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues03) }, 10559 { bs3CpuInstr3_extractps_FSxBX_XMM8_032h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues02) }, 10560 { bs3CpuInstr3_extractps_FSxBX_XMM8_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues03) }, 10561 10562 { bs3CpuInstr3_vextractps_R9D_XMM8_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues00) }, 10563 { bs3CpuInstr3_vextractps_R9D_XMM8_001h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues01) }, 10564 { bs3CpuInstr3_vextractps_R9D_XMM8_002h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues02) }, 10565 { bs3CpuInstr3_vextractps_R9D_XMM8_003h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues03) }, 10566 { bs3CpuInstr3_vextractps_R9D_XMM8_032h_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues02) }, 10567 { bs3CpuInstr3_vextractps_R9D_XMM8_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, R9D, XMM8, PASS_ELEMENTS(s_aValues03) }, 10568 { bs3CpuInstr3_vextractps_FSxBX_XMM8_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues00) }, 10569 { bs3CpuInstr3_vextractps_FSxBX_XMM8_001h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues01) }, 10570 { bs3CpuInstr3_vextractps_FSxBX_XMM8_002h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues02) }, 10571 { bs3CpuInstr3_vextractps_FSxBX_XMM8_003h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues03) }, 10572 { bs3CpuInstr3_vextractps_FSxBX_XMM8_032h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues02) }, 10573 { bs3CpuInstr3_vextractps_FSxBX_XMM8_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, FSxBX, XMM8, PASS_ELEMENTS(s_aValues03) }, 10491 10574 }; 10492 10575 static BS3CPUINSTR3_TEST2_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST2_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 10544 10627 PBS3EXTCTX pExtCtxOut; 10545 10628 PBS3EXTCTX pExtCtx = bs3CpuInstr3AllocExtCtxs(&pExtCtxOut); 10546 BS3SETREGCTX pSetRegCtx;10629 BS3SETREGCTX SetRegCtx; 10547 10630 if (!pExtCtx) 10548 10631 return 0; … … 10559 10642 pbBuf = bs3CpuInstr3BufSetup(pbBuf, &cbBuf, bMode); 10560 10643 10561 pSetRegCtx.pExtCtx = pExtCtx; 10562 pSetRegCtx.pCtx = &Ctx; 10563 pSetRegCtx.bMode = bMode; 10644 bs3CpuInstrXGetRegisterInit(&SetRegCtx, pExtCtx, &Ctx, bMode); 10564 10645 10565 10646 /* … … 10615 10696 BS3_ASSERT(!(BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst) && BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegSrc))); 10616 10697 10617 pSetRegCtx.fZeroYMMHi = fSseInstr;10698 SetRegCtx.fZeroYMMHi = fSseInstr; 10618 10699 10619 10700 /* #AC is only raised in ring-3.: */ … … 10646 10727 * Set up the context and some expectations. 10647 10728 */ 10729 SetRegCtx.enmTop = BS3EXTCTXTOPMM_ZERO; 10730 10648 10731 /* dest */ 10649 10732 if (BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst)) … … 10658 10741 { 10659 10742 uint64_t uInverted = ~paValues[iVal].uDstOut.QWords.qw0; 10660 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegSrc, (PCRTUINT256U)&uInverted);10743 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc, (PCRTUINT256U)&uInverted); 10661 10744 } 10662 10745 … … 10668 10751 } 10669 10752 else 10670 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegSrc, &paValues[iVal].uSrc);10753 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc, &paValues[iVal].uSrc); 10671 10754 10672 10755 /* Memory pointer. */ … … 10690 10773 Bs3ExtCtxSetAbridgedFtw(pExtCtx, 0xff); 10691 10774 } 10775 10776 SetRegCtx.enmTop = BS3EXTCTXTOPMM_SET; 10692 10777 if (bXcptExpect == X86_XCPT_DB && !BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst)) 10693 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegDst, &paValues[iVal].uDstOut);10778 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegDst, &paValues[iVal].uDstOut); 10694 10779 10695 10780 Bs3TestCheckExtCtx(pExtCtxOut, pExtCtx, 0 /*fFlags*/, pszMode, idTestStep); … … 10785 10870 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 10786 10871 { 10787 { bs3CpuInstr3_pshufw_MM1_MM2_0FFh_icebp_c16, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10788 { bs3CpuInstr3_pshufw_MM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10789 { bs3CpuInstr3_pshufw_MM1_MM2_01Bh_icebp_c16, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10790 { bs3CpuInstr3_pshufw_MM1_FSxBX_01Bh_icebp_c16, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10872 { bs3CpuInstr3_pshufw_MM1_MM2_0FFh_icebp_c16, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, PASS_ELEMENTS(s_aValuesFF) }, 10873 { bs3CpuInstr3_pshufw_MM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10874 { bs3CpuInstr3_pshufw_MM1_MM2_01Bh_icebp_c16, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, PASS_ELEMENTS(s_aValues1B) }, 10875 { bs3CpuInstr3_pshufw_MM1_FSxBX_01Bh_icebp_c16, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10791 10876 }; 10792 10877 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 10793 10878 { 10794 { bs3CpuInstr3_pshufw_MM1_MM2_0FFh_icebp_c32, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10795 { bs3CpuInstr3_pshufw_MM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10796 { bs3CpuInstr3_pshufw_MM1_MM2_01Bh_icebp_c32, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10797 { bs3CpuInstr3_pshufw_MM1_FSxBX_01Bh_icebp_c32, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10879 { bs3CpuInstr3_pshufw_MM1_MM2_0FFh_icebp_c32, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, PASS_ELEMENTS(s_aValuesFF) }, 10880 { bs3CpuInstr3_pshufw_MM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10881 { bs3CpuInstr3_pshufw_MM1_MM2_01Bh_icebp_c32, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, PASS_ELEMENTS(s_aValues1B) }, 10882 { bs3CpuInstr3_pshufw_MM1_FSxBX_01Bh_icebp_c32, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10798 10883 }; 10799 10884 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 10800 10885 { 10801 { bs3CpuInstr3_pshufw_MM1_MM2_0FFh_icebp_c64, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10802 { bs3CpuInstr3_pshufw_MM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10803 { bs3CpuInstr3_pshufw_MM1_MM2_01Bh_icebp_c64, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10804 { bs3CpuInstr3_pshufw_MM1_FSxBX_01Bh_icebp_c64, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10886 { bs3CpuInstr3_pshufw_MM1_MM2_0FFh_icebp_c64, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, PASS_ELEMENTS(s_aValuesFF) }, 10887 { bs3CpuInstr3_pshufw_MM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10888 { bs3CpuInstr3_pshufw_MM1_MM2_01Bh_icebp_c64, 255, RM_REG, T_AXMMX_OR_SSE, MM1, MM2, PASS_ELEMENTS(s_aValues1B) }, 10889 { bs3CpuInstr3_pshufw_MM1_FSxBX_01Bh_icebp_c64, 255, RM_MEM, T_AXMMX_OR_SSE, MM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10805 10890 }; 10806 10891 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 10842 10927 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 10843 10928 { 10844 { bs3CpuInstr3_pshufhw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10845 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10846 { bs3CpuInstr3_pshufhw_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10847 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_01Bh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10848 10849 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10850 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10851 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10852 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10853 10854 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10855 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10856 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10857 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10929 { bs3CpuInstr3_pshufhw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 10930 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10931 { bs3CpuInstr3_pshufhw_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 10932 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_01Bh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10933 10934 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 10935 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10936 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 10937 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10938 10939 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 10940 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10941 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 10942 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10858 10943 }; 10859 10944 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 10860 10945 { 10861 { bs3CpuInstr3_pshufhw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10862 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10863 { bs3CpuInstr3_pshufhw_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10864 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_01Bh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10865 10866 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10867 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10868 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10869 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10870 10871 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10872 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10873 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10874 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10946 { bs3CpuInstr3_pshufhw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 10947 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10948 { bs3CpuInstr3_pshufhw_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 10949 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_01Bh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10950 10951 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 10952 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10953 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 10954 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10955 10956 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 10957 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10958 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 10959 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10875 10960 }; 10876 10961 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 10877 10962 { 10878 { bs3CpuInstr3_pshufhw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10879 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10880 { bs3CpuInstr3_pshufhw_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10881 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_01Bh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10882 10883 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10884 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10885 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10886 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10887 10888 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10889 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10890 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10891 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10892 { bs3CpuInstr3_vpshufhw_YMM12_YMM7_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM12, YMM7, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10893 { bs3CpuInstr3_vpshufhw_YMM9_YMM12_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, YMM12, RT_ELEMENTS(s_aValues1B), s_aValues1B},10963 { bs3CpuInstr3_pshufhw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 10964 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10965 { bs3CpuInstr3_pshufhw_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 10966 { bs3CpuInstr3_pshufhw_XMM1_FSxBX_01Bh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10967 10968 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 10969 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10970 { bs3CpuInstr3_vpshufhw_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 10971 { bs3CpuInstr3_vpshufhw_XMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10972 10973 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 10974 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 10975 { bs3CpuInstr3_vpshufhw_YMM1_YMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 10976 { bs3CpuInstr3_vpshufhw_YMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10977 { bs3CpuInstr3_vpshufhw_YMM12_YMM7_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM12, YMM7, PASS_ELEMENTS(s_aValuesFF) }, 10978 { bs3CpuInstr3_vpshufhw_YMM9_YMM12_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, YMM12, PASS_ELEMENTS(s_aValues1B) }, 10894 10979 }; 10895 10980 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 10931 11016 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 10932 11017 { 10933 { bs3CpuInstr3_pshuflw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10934 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10935 { bs3CpuInstr3_pshuflw_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10936 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_01Bh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10937 10938 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10939 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10940 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10941 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10942 10943 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10944 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10945 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10946 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11018 { bs3CpuInstr3_pshuflw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11019 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11020 { bs3CpuInstr3_pshuflw_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11021 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_01Bh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11022 11023 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11024 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11025 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11026 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11027 11028 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 11029 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11030 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 11031 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10947 11032 }; 10948 11033 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 10949 11034 { 10950 { bs3CpuInstr3_pshuflw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10951 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10952 { bs3CpuInstr3_pshuflw_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10953 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_01Bh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10954 10955 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10956 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10957 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10958 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10959 10960 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10961 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10962 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10963 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11035 { bs3CpuInstr3_pshuflw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11036 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11037 { bs3CpuInstr3_pshuflw_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11038 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_01Bh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11039 11040 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11041 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11042 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11043 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11044 11045 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 11046 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11047 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 11048 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 10964 11049 }; 10965 11050 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 10966 11051 { 10967 { bs3CpuInstr3_pshuflw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10968 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10969 { bs3CpuInstr3_pshuflw_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10970 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_01Bh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10971 10972 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10973 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10974 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10975 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10976 10977 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10978 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10979 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},10980 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},10981 { bs3CpuInstr3_vpshuflw_YMM12_YMM7_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM12, YMM7, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},10982 { bs3CpuInstr3_vpshuflw_YMM9_YMM12_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, YMM12, RT_ELEMENTS(s_aValues1B), s_aValues1B},11052 { bs3CpuInstr3_pshuflw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11053 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11054 { bs3CpuInstr3_pshuflw_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11055 { bs3CpuInstr3_pshuflw_XMM1_FSxBX_01Bh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11056 11057 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11058 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11059 { bs3CpuInstr3_vpshuflw_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11060 { bs3CpuInstr3_vpshuflw_XMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11061 11062 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 11063 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11064 { bs3CpuInstr3_vpshuflw_YMM1_YMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 11065 { bs3CpuInstr3_vpshuflw_YMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11066 { bs3CpuInstr3_vpshuflw_YMM12_YMM7_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM12, YMM7, PASS_ELEMENTS(s_aValuesFF) }, 11067 { bs3CpuInstr3_vpshuflw_YMM9_YMM12_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, YMM12, PASS_ELEMENTS(s_aValues1B) }, 10983 11068 }; 10984 11069 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11020 11105 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11021 11106 { 11022 { bs3CpuInstr3_pshufd_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11023 { bs3CpuInstr3_pshufd_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11024 { bs3CpuInstr3_pshufd_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11025 { bs3CpuInstr3_pshufd_XMM1_FSxBX_01Bh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11026 11027 { bs3CpuInstr3_vpshufd_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11028 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11029 { bs3CpuInstr3_vpshufd_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11030 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11031 11032 { bs3CpuInstr3_vpshufd_YMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11033 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11034 { bs3CpuInstr3_vpshufd_YMM1_YMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11035 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11107 { bs3CpuInstr3_pshufd_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11108 { bs3CpuInstr3_pshufd_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11109 { bs3CpuInstr3_pshufd_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11110 { bs3CpuInstr3_pshufd_XMM1_FSxBX_01Bh_icebp_c16, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11111 11112 { bs3CpuInstr3_vpshufd_XMM1_XMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11113 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11114 { bs3CpuInstr3_vpshufd_XMM1_XMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11115 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11116 11117 { bs3CpuInstr3_vpshufd_YMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 11118 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11119 { bs3CpuInstr3_vpshufd_YMM1_YMM2_01Bh_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 11120 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_01Bh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11036 11121 }; 11037 11122 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11038 11123 { 11039 { bs3CpuInstr3_pshufd_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11040 { bs3CpuInstr3_pshufd_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11041 { bs3CpuInstr3_pshufd_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11042 { bs3CpuInstr3_pshufd_XMM1_FSxBX_01Bh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11043 11044 { bs3CpuInstr3_vpshufd_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11045 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11046 { bs3CpuInstr3_vpshufd_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11047 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11048 11049 { bs3CpuInstr3_vpshufd_YMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11050 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11051 { bs3CpuInstr3_vpshufd_YMM1_YMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11052 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11124 { bs3CpuInstr3_pshufd_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11125 { bs3CpuInstr3_pshufd_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11126 { bs3CpuInstr3_pshufd_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11127 { bs3CpuInstr3_pshufd_XMM1_FSxBX_01Bh_icebp_c32, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11128 11129 { bs3CpuInstr3_vpshufd_XMM1_XMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11130 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11131 { bs3CpuInstr3_vpshufd_XMM1_XMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11132 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11133 11134 { bs3CpuInstr3_vpshufd_YMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 11135 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11136 { bs3CpuInstr3_vpshufd_YMM1_YMM2_01Bh_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 11137 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_01Bh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11053 11138 }; 11054 11139 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11055 11140 { 11056 { bs3CpuInstr3_pshufd_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11057 { bs3CpuInstr3_pshufd_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11058 { bs3CpuInstr3_pshufd_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11059 { bs3CpuInstr3_pshufd_XMM1_FSxBX_01Bh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11060 11061 { bs3CpuInstr3_vpshufd_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11062 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11063 { bs3CpuInstr3_vpshufd_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11064 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11065 11066 { bs3CpuInstr3_vpshufd_YMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11067 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11068 { bs3CpuInstr3_vpshufd_YMM1_YMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, RT_ELEMENTS(s_aValues1B), s_aValues1B},11069 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues1B), s_aValues1B},11070 { bs3CpuInstr3_vpshufd_YMM12_YMM7_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM12, YMM7, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},11071 { bs3CpuInstr3_vpshufd_YMM9_YMM12_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, YMM12, RT_ELEMENTS(s_aValues1B), s_aValues1B},11141 { bs3CpuInstr3_pshufd_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11142 { bs3CpuInstr3_pshufd_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11143 { bs3CpuInstr3_pshufd_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_SSE2, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11144 { bs3CpuInstr3_pshufd_XMM1_FSxBX_01Bh_icebp_c64, 255, RM_MEM, T_SSE2, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11145 11146 { bs3CpuInstr3_vpshufd_XMM1_XMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesFF) }, 11147 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11148 { bs3CpuInstr3_vpshufd_XMM1_XMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues1B) }, 11149 { bs3CpuInstr3_vpshufd_XMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11150 11151 { bs3CpuInstr3_vpshufd_YMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 11152 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF) }, 11153 { bs3CpuInstr3_vpshufd_YMM1_YMM2_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues1B) }, 11154 { bs3CpuInstr3_vpshufd_YMM1_FSxBX_01Bh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues1B) }, 11155 { bs3CpuInstr3_vpshufd_YMM12_YMM7_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM12, YMM7, PASS_ELEMENTS(s_aValuesFF) }, 11156 { bs3CpuInstr3_vpshufd_YMM9_YMM12_01Bh_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, YMM12, PASS_ELEMENTS(s_aValues1B) }, 11072 11157 }; 11073 11158 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11101 11186 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11102 11187 { 11103 { bs3CpuInstr3_movntdqa_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11104 { bs3CpuInstr3_vmovntdqa_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11105 { bs3CpuInstr3_vmovntdqa_YMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11188 { bs3CpuInstr3_movntdqa_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11189 { bs3CpuInstr3_vmovntdqa_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11190 { bs3CpuInstr3_vmovntdqa_YMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11106 11191 }; 11107 11192 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11108 11193 { 11109 { bs3CpuInstr3_movntdqa_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11110 { bs3CpuInstr3_vmovntdqa_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11111 { bs3CpuInstr3_vmovntdqa_YMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11194 { bs3CpuInstr3_movntdqa_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11195 { bs3CpuInstr3_vmovntdqa_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11196 { bs3CpuInstr3_vmovntdqa_YMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11112 11197 }; 11113 11198 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11114 11199 { 11115 { bs3CpuInstr3_movntdqa_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11116 { bs3CpuInstr3_movntdqa_XMM10_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE4_1, XMM10, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11117 { bs3CpuInstr3_vmovntdqa_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11118 { bs3CpuInstr3_vmovntdqa_XMM11_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11119 { bs3CpuInstr3_vmovntdqa_YMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11120 { bs3CpuInstr3_vmovntdqa_YMM12_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX2_256, YMM12, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11200 { bs3CpuInstr3_movntdqa_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11201 { bs3CpuInstr3_movntdqa_XMM10_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE4_1, XMM10, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11202 { bs3CpuInstr3_vmovntdqa_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11203 { bs3CpuInstr3_vmovntdqa_XMM11_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11204 { bs3CpuInstr3_vmovntdqa_YMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11205 { bs3CpuInstr3_vmovntdqa_YMM12_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX2_256, YMM12, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11121 11206 }; 11122 11207 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11134 11219 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11135 11220 { 11136 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE2, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11137 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11138 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11221 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE2, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11222 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11223 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11139 11224 }; 11140 11225 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11141 11226 { 11142 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE2, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11143 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11144 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11227 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE2, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11228 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11229 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11145 11230 }; 11146 11231 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11147 11232 { 11148 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE2, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11149 { bs3CpuInstr3_movntdq_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE2, FSxBX, XMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11150 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11151 { bs3CpuInstr3_vmovntdq_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11152 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11153 { bs3CpuInstr3_vmovntdq_FSxBX_YMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11233 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE2, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11234 { bs3CpuInstr3_movntdq_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE2, FSxBX, XMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11235 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11236 { bs3CpuInstr3_vmovntdq_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11237 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11238 { bs3CpuInstr3_vmovntdq_FSxBX_YMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11154 11239 }; 11155 11240 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11168 11253 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11169 11254 { 11170 { bs3CpuInstr3_movntps_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11171 { bs3CpuInstr3_vmovntps_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11172 { bs3CpuInstr3_vmovntps_FSxBX_YMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11173 11174 { bs3CpuInstr3_movntpd_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11175 { bs3CpuInstr3_vmovntpd_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11176 { bs3CpuInstr3_vmovntpd_FSxBX_YMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11255 { bs3CpuInstr3_movntps_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11256 { bs3CpuInstr3_vmovntps_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11257 { bs3CpuInstr3_vmovntps_FSxBX_YMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11258 11259 { bs3CpuInstr3_movntpd_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11260 { bs3CpuInstr3_vmovntpd_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11261 { bs3CpuInstr3_vmovntpd_FSxBX_YMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11177 11262 }; 11178 11263 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11179 11264 { 11180 { bs3CpuInstr3_movntps_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11181 { bs3CpuInstr3_vmovntps_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11182 { bs3CpuInstr3_vmovntps_FSxBX_YMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11183 11184 { bs3CpuInstr3_movntpd_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11185 { bs3CpuInstr3_vmovntpd_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11186 { bs3CpuInstr3_vmovntpd_FSxBX_YMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11265 { bs3CpuInstr3_movntps_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11266 { bs3CpuInstr3_vmovntps_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11267 { bs3CpuInstr3_vmovntps_FSxBX_YMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11268 11269 { bs3CpuInstr3_movntpd_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11270 { bs3CpuInstr3_vmovntpd_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11271 { bs3CpuInstr3_vmovntpd_FSxBX_YMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11187 11272 }; 11188 11273 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11189 11274 { 11190 { bs3CpuInstr3_movntps_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11191 { bs3CpuInstr3_movntps_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11192 { bs3CpuInstr3_vmovntps_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11193 { bs3CpuInstr3_vmovntps_FSxBX_XMM11_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM11, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11194 { bs3CpuInstr3_vmovntps_FSxBX_YMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11195 { bs3CpuInstr3_vmovntps_FSxBX_YMM12_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11196 11197 { bs3CpuInstr3_movntpd_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11198 { bs3CpuInstr3_movntpd_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11199 { bs3CpuInstr3_vmovntpd_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11200 { bs3CpuInstr3_vmovntpd_FSxBX_XMM11_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM11, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11201 { bs3CpuInstr3_vmovntpd_FSxBX_YMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11202 { bs3CpuInstr3_vmovntpd_FSxBX_YMM12_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11275 { bs3CpuInstr3_movntps_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11276 { bs3CpuInstr3_movntps_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11277 { bs3CpuInstr3_vmovntps_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11278 { bs3CpuInstr3_vmovntps_FSxBX_XMM11_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM11, PASS_ELEMENTS(g_aMoveValues3) }, 11279 { bs3CpuInstr3_vmovntps_FSxBX_YMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11280 { bs3CpuInstr3_vmovntps_FSxBX_YMM12_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11281 11282 { bs3CpuInstr3_movntpd_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11283 { bs3CpuInstr3_movntpd_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, FSxBX, XMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11284 { bs3CpuInstr3_vmovntpd_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11285 { bs3CpuInstr3_vmovntpd_FSxBX_XMM11_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, FSxBX, XMM11, PASS_ELEMENTS(g_aMoveValues3) }, 11286 { bs3CpuInstr3_vmovntpd_FSxBX_YMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11287 { bs3CpuInstr3_vmovntpd_FSxBX_YMM12_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, FSxBX, YMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11203 11288 }; 11204 11289 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11219 11304 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11220 11305 { 11221 { bs3CpuInstr3_movups_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11222 { bs3CpuInstr3_movups_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11223 { bs3CpuInstr3_movups_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11224 11225 { bs3CpuInstr3_vmovups_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11226 { bs3CpuInstr3_vmovups_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11227 { bs3CpuInstr3_vmovups_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11228 11229 { bs3CpuInstr3_vmovups_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11230 { bs3CpuInstr3_vmovups_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11231 { bs3CpuInstr3_vmovups_FSxBX_YMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11306 { bs3CpuInstr3_movups_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11307 { bs3CpuInstr3_movups_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11308 { bs3CpuInstr3_movups_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11309 11310 { bs3CpuInstr3_vmovups_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11311 { bs3CpuInstr3_vmovups_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11312 { bs3CpuInstr3_vmovups_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11313 11314 { bs3CpuInstr3_vmovups_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11315 { bs3CpuInstr3_vmovups_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11316 { bs3CpuInstr3_vmovups_FSxBX_YMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11232 11317 }; 11233 11318 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11234 11319 { 11235 { bs3CpuInstr3_movups_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11236 { bs3CpuInstr3_movups_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11237 { bs3CpuInstr3_movups_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11238 11239 { bs3CpuInstr3_vmovups_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11240 { bs3CpuInstr3_vmovups_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11241 { bs3CpuInstr3_vmovups_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11242 11243 { bs3CpuInstr3_vmovups_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11244 { bs3CpuInstr3_vmovups_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11245 { bs3CpuInstr3_vmovups_FSxBX_YMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11320 { bs3CpuInstr3_movups_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11321 { bs3CpuInstr3_movups_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11322 { bs3CpuInstr3_movups_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11323 11324 { bs3CpuInstr3_vmovups_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11325 { bs3CpuInstr3_vmovups_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11326 { bs3CpuInstr3_vmovups_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11327 11328 { bs3CpuInstr3_vmovups_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11329 { bs3CpuInstr3_vmovups_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11330 { bs3CpuInstr3_vmovups_FSxBX_YMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11246 11331 }; 11247 11332 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11248 11333 { 11249 { bs3CpuInstr3_movups_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11250 { bs3CpuInstr3_movups_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11251 { bs3CpuInstr3_movups_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11252 { bs3CpuInstr3_movups_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM10, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11253 { bs3CpuInstr3_movups_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11254 { bs3CpuInstr3_movups_FSxBX_XMM10_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11255 11256 { bs3CpuInstr3_vmovups_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11257 { bs3CpuInstr3_vmovups_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11258 { bs3CpuInstr3_vmovups_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11259 { bs3CpuInstr3_vmovups_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11260 { bs3CpuInstr3_vmovups_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11261 { bs3CpuInstr3_vmovups_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM11, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11262 11263 { bs3CpuInstr3_vmovups_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11264 { bs3CpuInstr3_vmovups_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11265 { bs3CpuInstr3_vmovups_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11266 { bs3CpuInstr3_vmovups_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11267 { bs3CpuInstr3_vmovups_FSxBX_YMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11268 { bs3CpuInstr3_vmovups_FSxBX_YMM12_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11334 { bs3CpuInstr3_movups_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11335 { bs3CpuInstr3_movups_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11336 { bs3CpuInstr3_movups_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11337 { bs3CpuInstr3_movups_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM10, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11338 { bs3CpuInstr3_movups_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11339 { bs3CpuInstr3_movups_FSxBX_XMM10_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11340 11341 { bs3CpuInstr3_vmovups_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11342 { bs3CpuInstr3_vmovups_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, PASS_ELEMENTS(g_aMoveValues3) }, 11343 { bs3CpuInstr3_vmovups_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11344 { bs3CpuInstr3_vmovups_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11345 { bs3CpuInstr3_vmovups_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11346 { bs3CpuInstr3_vmovups_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM11, PASS_ELEMENTS(g_aMoveValues3) }, 11347 11348 { bs3CpuInstr3_vmovups_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11349 { bs3CpuInstr3_vmovups_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(g_aMoveValues3) }, 11350 { bs3CpuInstr3_vmovups_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11351 { bs3CpuInstr3_vmovups_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11352 { bs3CpuInstr3_vmovups_FSxBX_YMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11353 { bs3CpuInstr3_vmovups_FSxBX_YMM12_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11269 11354 }; 11270 11355 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11285 11370 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11286 11371 { 11287 { bs3CpuInstr3_movupd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11288 { bs3CpuInstr3_movupd_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11289 { bs3CpuInstr3_movupd_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11290 11291 { bs3CpuInstr3_vmovupd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11292 { bs3CpuInstr3_vmovupd_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11293 { bs3CpuInstr3_vmovupd_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11294 11295 { bs3CpuInstr3_vmovupd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11296 { bs3CpuInstr3_vmovupd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11297 { bs3CpuInstr3_vmovupd_FSxBX_YMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11372 { bs3CpuInstr3_movupd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11373 { bs3CpuInstr3_movupd_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11374 { bs3CpuInstr3_movupd_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11375 11376 { bs3CpuInstr3_vmovupd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11377 { bs3CpuInstr3_vmovupd_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11378 { bs3CpuInstr3_vmovupd_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11379 11380 { bs3CpuInstr3_vmovupd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11381 { bs3CpuInstr3_vmovupd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11382 { bs3CpuInstr3_vmovupd_FSxBX_YMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11298 11383 }; 11299 11384 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11300 11385 { 11301 { bs3CpuInstr3_movupd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11302 { bs3CpuInstr3_movupd_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11303 { bs3CpuInstr3_movupd_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11304 11305 { bs3CpuInstr3_vmovupd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11306 { bs3CpuInstr3_vmovupd_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11307 { bs3CpuInstr3_vmovupd_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11308 11309 { bs3CpuInstr3_vmovupd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11310 { bs3CpuInstr3_vmovupd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11311 { bs3CpuInstr3_vmovupd_FSxBX_YMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11386 { bs3CpuInstr3_movupd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11387 { bs3CpuInstr3_movupd_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11388 { bs3CpuInstr3_movupd_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11389 11390 { bs3CpuInstr3_vmovupd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11391 { bs3CpuInstr3_vmovupd_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11392 { bs3CpuInstr3_vmovupd_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11393 11394 { bs3CpuInstr3_vmovupd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11395 { bs3CpuInstr3_vmovupd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11396 { bs3CpuInstr3_vmovupd_FSxBX_YMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11312 11397 }; 11313 11398 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11314 11399 { 11315 { bs3CpuInstr3_movupd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11316 { bs3CpuInstr3_movupd_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11317 { bs3CpuInstr3_movupd_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11318 { bs3CpuInstr3_movupd_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM10, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11319 { bs3CpuInstr3_movupd_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11320 { bs3CpuInstr3_movupd_FSxBX_XMM10_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11321 11322 { bs3CpuInstr3_vmovupd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11323 { bs3CpuInstr3_vmovupd_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11324 { bs3CpuInstr3_vmovupd_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11325 { bs3CpuInstr3_vmovupd_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11326 { bs3CpuInstr3_vmovupd_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11327 { bs3CpuInstr3_vmovupd_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM11, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11328 11329 { bs3CpuInstr3_vmovupd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11330 { bs3CpuInstr3_vmovupd_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11331 { bs3CpuInstr3_vmovupd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11332 { bs3CpuInstr3_vmovupd_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11333 { bs3CpuInstr3_vmovupd_FSxBX_YMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11334 { bs3CpuInstr3_vmovupd_FSxBX_YMM12_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11400 { bs3CpuInstr3_movupd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11401 { bs3CpuInstr3_movupd_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11402 { bs3CpuInstr3_movupd_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11403 { bs3CpuInstr3_movupd_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM10, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11404 { bs3CpuInstr3_movupd_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11405 { bs3CpuInstr3_movupd_FSxBX_XMM10_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11406 11407 { bs3CpuInstr3_vmovupd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11408 { bs3CpuInstr3_vmovupd_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, PASS_ELEMENTS(g_aMoveValues3) }, 11409 { bs3CpuInstr3_vmovupd_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11410 { bs3CpuInstr3_vmovupd_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11411 { bs3CpuInstr3_vmovupd_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11412 { bs3CpuInstr3_vmovupd_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM11, PASS_ELEMENTS(g_aMoveValues3) }, 11413 11414 { bs3CpuInstr3_vmovupd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11415 { bs3CpuInstr3_vmovupd_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(g_aMoveValues3) }, 11416 { bs3CpuInstr3_vmovupd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11417 { bs3CpuInstr3_vmovupd_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11418 { bs3CpuInstr3_vmovupd_FSxBX_YMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11419 { bs3CpuInstr3_vmovupd_FSxBX_YMM12_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11335 11420 }; 11336 11421 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11360 11445 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11361 11446 { 11362 { bs3CpuInstr3_movsldup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11363 { bs3CpuInstr3_movsldup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11364 11365 { bs3CpuInstr3_vmovsldup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11366 { bs3CpuInstr3_vmovsldup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11367 11368 { bs3CpuInstr3_vmovsldup_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11369 { bs3CpuInstr3_vmovsldup_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11447 { bs3CpuInstr3_movsldup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11448 { bs3CpuInstr3_movsldup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11449 11450 { bs3CpuInstr3_vmovsldup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11451 { bs3CpuInstr3_vmovsldup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11452 11453 { bs3CpuInstr3_vmovsldup_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11454 { bs3CpuInstr3_vmovsldup_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11370 11455 }; 11371 11456 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11372 11457 { 11373 { bs3CpuInstr3_movsldup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11374 { bs3CpuInstr3_movsldup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11375 11376 { bs3CpuInstr3_vmovsldup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11377 { bs3CpuInstr3_vmovsldup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11378 11379 { bs3CpuInstr3_vmovsldup_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11380 { bs3CpuInstr3_vmovsldup_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11458 { bs3CpuInstr3_movsldup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11459 { bs3CpuInstr3_movsldup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11460 11461 { bs3CpuInstr3_vmovsldup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11462 { bs3CpuInstr3_vmovsldup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11463 11464 { bs3CpuInstr3_vmovsldup_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11465 { bs3CpuInstr3_vmovsldup_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11381 11466 }; 11382 11467 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11383 11468 { 11384 { bs3CpuInstr3_movsldup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11385 { bs3CpuInstr3_movsldup_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE3, XMM8, XMM12, RT_ELEMENTS(s_aValues), s_aValues},11386 { bs3CpuInstr3_movsldup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11387 { bs3CpuInstr3_movsldup_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM10, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11388 11389 { bs3CpuInstr3_vmovsldup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11390 { bs3CpuInstr3_vmovsldup_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, RT_ELEMENTS(s_aValues), s_aValues},11391 { bs3CpuInstr3_vmovsldup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11392 { bs3CpuInstr3_vmovsldup_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11393 11394 { bs3CpuInstr3_vmovsldup_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11395 { bs3CpuInstr3_vmovsldup_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(s_aValues), s_aValues},11396 { bs3CpuInstr3_vmovsldup_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11397 { bs3CpuInstr3_vmovsldup_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11469 { bs3CpuInstr3_movsldup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11470 { bs3CpuInstr3_movsldup_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE3, XMM8, XMM12, PASS_ELEMENTS(s_aValues) }, 11471 { bs3CpuInstr3_movsldup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11472 { bs3CpuInstr3_movsldup_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM10, FSxBX, PASS_ELEMENTS(s_aValues) }, 11473 11474 { bs3CpuInstr3_vmovsldup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11475 { bs3CpuInstr3_vmovsldup_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, PASS_ELEMENTS(s_aValues) }, 11476 { bs3CpuInstr3_vmovsldup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11477 { bs3CpuInstr3_vmovsldup_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(s_aValues) }, 11478 11479 { bs3CpuInstr3_vmovsldup_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11480 { bs3CpuInstr3_vmovsldup_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(s_aValues) }, 11481 { bs3CpuInstr3_vmovsldup_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11482 { bs3CpuInstr3_vmovsldup_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(s_aValues) }, 11398 11483 }; 11399 11484 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11423 11508 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11424 11509 { 11425 { bs3CpuInstr3_movshdup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11426 { bs3CpuInstr3_movshdup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11427 11428 { bs3CpuInstr3_vmovshdup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11429 { bs3CpuInstr3_vmovshdup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11430 11431 { bs3CpuInstr3_vmovshdup_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11432 { bs3CpuInstr3_vmovshdup_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11510 { bs3CpuInstr3_movshdup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11511 { bs3CpuInstr3_movshdup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11512 11513 { bs3CpuInstr3_vmovshdup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11514 { bs3CpuInstr3_vmovshdup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11515 11516 { bs3CpuInstr3_vmovshdup_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11517 { bs3CpuInstr3_vmovshdup_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11433 11518 }; 11434 11519 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11435 11520 { 11436 { bs3CpuInstr3_movshdup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11437 { bs3CpuInstr3_movshdup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11438 11439 { bs3CpuInstr3_vmovshdup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11440 { bs3CpuInstr3_vmovshdup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11441 11442 { bs3CpuInstr3_vmovshdup_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11443 { bs3CpuInstr3_vmovshdup_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11521 { bs3CpuInstr3_movshdup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11522 { bs3CpuInstr3_movshdup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11523 11524 { bs3CpuInstr3_vmovshdup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11525 { bs3CpuInstr3_vmovshdup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11526 11527 { bs3CpuInstr3_vmovshdup_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11528 { bs3CpuInstr3_vmovshdup_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11444 11529 }; 11445 11530 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11446 11531 { 11447 { bs3CpuInstr3_movshdup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11448 { bs3CpuInstr3_movshdup_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE3, XMM8, XMM12, RT_ELEMENTS(s_aValues), s_aValues},11449 { bs3CpuInstr3_movshdup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11450 { bs3CpuInstr3_movshdup_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM10, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11451 11452 { bs3CpuInstr3_vmovshdup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11453 { bs3CpuInstr3_vmovshdup_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, RT_ELEMENTS(s_aValues), s_aValues},11454 { bs3CpuInstr3_vmovshdup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11455 { bs3CpuInstr3_vmovshdup_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11456 11457 { bs3CpuInstr3_vmovshdup_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11458 { bs3CpuInstr3_vmovshdup_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(s_aValues), s_aValues},11459 { bs3CpuInstr3_vmovshdup_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11460 { bs3CpuInstr3_vmovshdup_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11532 { bs3CpuInstr3_movshdup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11533 { bs3CpuInstr3_movshdup_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE3, XMM8, XMM12, PASS_ELEMENTS(s_aValues) }, 11534 { bs3CpuInstr3_movshdup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11535 { bs3CpuInstr3_movshdup_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM10, FSxBX, PASS_ELEMENTS(s_aValues) }, 11536 11537 { bs3CpuInstr3_vmovshdup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11538 { bs3CpuInstr3_vmovshdup_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, PASS_ELEMENTS(s_aValues) }, 11539 { bs3CpuInstr3_vmovshdup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11540 { bs3CpuInstr3_vmovshdup_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(s_aValues) }, 11541 11542 { bs3CpuInstr3_vmovshdup_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11543 { bs3CpuInstr3_vmovshdup_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(s_aValues) }, 11544 { bs3CpuInstr3_vmovshdup_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11545 { bs3CpuInstr3_vmovshdup_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(s_aValues) }, 11461 11546 }; 11462 11547 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11489 11574 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11490 11575 { 11491 { bs3CpuInstr3_movddup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11492 { bs3CpuInstr3_movddup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11493 11494 { bs3CpuInstr3_vmovddup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11495 { bs3CpuInstr3_vmovddup_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11496 11497 { bs3CpuInstr3_vmovddup_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11498 { bs3CpuInstr3_vmovddup_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11576 { bs3CpuInstr3_movddup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11577 { bs3CpuInstr3_movddup_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11578 11579 { bs3CpuInstr3_vmovddup_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11580 { bs3CpuInstr3_vmovddup_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11581 11582 { bs3CpuInstr3_vmovddup_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11583 { bs3CpuInstr3_vmovddup_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11499 11584 }; 11500 11585 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11501 11586 { 11502 { bs3CpuInstr3_movddup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11503 { bs3CpuInstr3_movddup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11504 11505 { bs3CpuInstr3_vmovddup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11506 { bs3CpuInstr3_vmovddup_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11507 11508 { bs3CpuInstr3_vmovddup_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11509 { bs3CpuInstr3_vmovddup_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11587 { bs3CpuInstr3_movddup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11588 { bs3CpuInstr3_movddup_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11589 11590 { bs3CpuInstr3_vmovddup_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11591 { bs3CpuInstr3_vmovddup_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11592 11593 { bs3CpuInstr3_vmovddup_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11594 { bs3CpuInstr3_vmovddup_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11510 11595 }; 11511 11596 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11512 11597 { 11513 { bs3CpuInstr3_movddup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE3, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11514 { bs3CpuInstr3_movddup_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE3, XMM8, XMM12, RT_ELEMENTS(s_aValues), s_aValues},11515 { bs3CpuInstr3_movddup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11516 { bs3CpuInstr3_movddup_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM10, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11517 11518 { bs3CpuInstr3_vmovddup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},11519 { bs3CpuInstr3_vmovddup_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, RT_ELEMENTS(s_aValues), s_aValues},11520 { bs3CpuInstr3_vmovddup_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11521 { bs3CpuInstr3_vmovddup_XMM11_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11522 11523 { bs3CpuInstr3_vmovddup_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},11524 { bs3CpuInstr3_vmovddup_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(s_aValues), s_aValues},11525 { bs3CpuInstr3_vmovddup_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11526 { bs3CpuInstr3_vmovddup_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},11598 { bs3CpuInstr3_movddup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11599 { bs3CpuInstr3_movddup_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE3, XMM8, XMM12, PASS_ELEMENTS(s_aValues) }, 11600 { bs3CpuInstr3_movddup_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11601 { bs3CpuInstr3_movddup_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM10, FSxBX, PASS_ELEMENTS(s_aValues) }, 11602 11603 { bs3CpuInstr3_vmovddup_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 11604 { bs3CpuInstr3_vmovddup_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, PASS_ELEMENTS(s_aValues) }, 11605 { bs3CpuInstr3_vmovddup_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11606 { bs3CpuInstr3_vmovddup_XMM11_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(s_aValues) }, 11607 11608 { bs3CpuInstr3_vmovddup_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 11609 { bs3CpuInstr3_vmovddup_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(s_aValues) }, 11610 { bs3CpuInstr3_vmovddup_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 11611 { bs3CpuInstr3_vmovddup_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(s_aValues) }, 11527 11612 }; 11528 11613 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11541 11626 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11542 11627 { 11543 { bs3CpuInstr3_movaps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11544 { bs3CpuInstr3_movaps_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11545 { bs3CpuInstr3_movapd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11546 { bs3CpuInstr3_movapd_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11547 11548 { bs3CpuInstr3_vmovaps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11549 { bs3CpuInstr3_vmovaps_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11550 { bs3CpuInstr3_vmovapd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11551 { bs3CpuInstr3_vmovapd_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11552 11553 { bs3CpuInstr3_vmovaps_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11554 { bs3CpuInstr3_vmovaps_YMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11555 { bs3CpuInstr3_vmovapd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11556 { bs3CpuInstr3_vmovapd_YMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11628 { bs3CpuInstr3_movaps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11629 { bs3CpuInstr3_movaps_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11630 { bs3CpuInstr3_movapd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11631 { bs3CpuInstr3_movapd_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11632 11633 { bs3CpuInstr3_vmovaps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11634 { bs3CpuInstr3_vmovaps_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11635 { bs3CpuInstr3_vmovapd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11636 { bs3CpuInstr3_vmovapd_XMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11637 11638 { bs3CpuInstr3_vmovaps_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11639 { bs3CpuInstr3_vmovaps_YMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11640 { bs3CpuInstr3_vmovapd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11641 { bs3CpuInstr3_vmovapd_YMM1_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11557 11642 }; 11558 11643 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11559 11644 { 11560 { bs3CpuInstr3_movaps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11561 { bs3CpuInstr3_movaps_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11562 { bs3CpuInstr3_movapd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11563 { bs3CpuInstr3_movapd_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11564 11565 { bs3CpuInstr3_vmovaps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11566 { bs3CpuInstr3_vmovaps_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11567 { bs3CpuInstr3_vmovapd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11568 { bs3CpuInstr3_vmovapd_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11569 11570 { bs3CpuInstr3_vmovaps_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11571 { bs3CpuInstr3_vmovaps_YMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11572 { bs3CpuInstr3_vmovapd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11573 { bs3CpuInstr3_vmovapd_YMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11645 { bs3CpuInstr3_movaps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11646 { bs3CpuInstr3_movaps_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11647 { bs3CpuInstr3_movapd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11648 { bs3CpuInstr3_movapd_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11649 11650 { bs3CpuInstr3_vmovaps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11651 { bs3CpuInstr3_vmovaps_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11652 { bs3CpuInstr3_vmovapd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11653 { bs3CpuInstr3_vmovapd_XMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11654 11655 { bs3CpuInstr3_vmovaps_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11656 { bs3CpuInstr3_vmovaps_YMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11657 { bs3CpuInstr3_vmovapd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11658 { bs3CpuInstr3_vmovapd_YMM1_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11574 11659 }; 11575 11660 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11576 11661 { 11577 { bs3CpuInstr3_movaps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11578 { bs3CpuInstr3_movaps_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11579 { bs3CpuInstr3_movaps_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11580 { bs3CpuInstr3_movaps_XMM10_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, XMM10, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11581 { bs3CpuInstr3_movapd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11582 { bs3CpuInstr3_movapd_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11583 { bs3CpuInstr3_movapd_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11584 { bs3CpuInstr3_movapd_XMM10_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, XMM10, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11585 11586 { bs3CpuInstr3_vmovaps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11587 { bs3CpuInstr3_vmovaps_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11588 { bs3CpuInstr3_vmovaps_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11589 { bs3CpuInstr3_vmovaps_XMM11_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11590 { bs3CpuInstr3_vmovapd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11591 { bs3CpuInstr3_vmovapd_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11592 { bs3CpuInstr3_vmovapd_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11593 { bs3CpuInstr3_vmovapd_XMM11_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11594 11595 { bs3CpuInstr3_vmovaps_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11596 { bs3CpuInstr3_vmovaps_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11597 { bs3CpuInstr3_vmovaps_YMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11598 { bs3CpuInstr3_vmovaps_YMM12_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11599 { bs3CpuInstr3_vmovapd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11600 { bs3CpuInstr3_vmovapd_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11601 { bs3CpuInstr3_vmovapd_YMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11602 { bs3CpuInstr3_vmovapd_YMM12_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11662 { bs3CpuInstr3_movaps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11663 { bs3CpuInstr3_movaps_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11664 { bs3CpuInstr3_movaps_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11665 { bs3CpuInstr3_movaps_XMM10_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, XMM10, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11666 { bs3CpuInstr3_movapd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11667 { bs3CpuInstr3_movapd_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11668 { bs3CpuInstr3_movapd_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11669 { bs3CpuInstr3_movapd_XMM10_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE, XMM10, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11670 11671 { bs3CpuInstr3_vmovaps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11672 { bs3CpuInstr3_vmovaps_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, PASS_ELEMENTS(g_aMoveValues3) }, 11673 { bs3CpuInstr3_vmovaps_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11674 { bs3CpuInstr3_vmovaps_XMM11_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11675 { bs3CpuInstr3_vmovapd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11676 { bs3CpuInstr3_vmovapd_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, PASS_ELEMENTS(g_aMoveValues3) }, 11677 { bs3CpuInstr3_vmovapd_XMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11678 { bs3CpuInstr3_vmovapd_XMM11_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11679 11680 { bs3CpuInstr3_vmovaps_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11681 { bs3CpuInstr3_vmovaps_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(g_aMoveValues3) }, 11682 { bs3CpuInstr3_vmovaps_YMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11683 { bs3CpuInstr3_vmovaps_YMM12_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11684 { bs3CpuInstr3_vmovapd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11685 { bs3CpuInstr3_vmovapd_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(g_aMoveValues3) }, 11686 { bs3CpuInstr3_vmovapd_YMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11687 { bs3CpuInstr3_vmovapd_YMM12_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11603 11688 }; 11604 11689 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11616 11701 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11617 11702 { 11618 { bs3CpuInstr3_movdqu_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11619 { bs3CpuInstr3_07f_movdqu_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11620 { bs3CpuInstr3_movdqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11621 { bs3CpuInstr3_movdqu_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11622 11623 { bs3CpuInstr3_vmovdqu_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11624 { bs3CpuInstr3_07f_vmovdqu_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11625 { bs3CpuInstr3_vmovdqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11626 { bs3CpuInstr3_vmovdqu_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11627 11628 { bs3CpuInstr3_vmovdqu_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11629 { bs3CpuInstr3_07f_vmovdqu_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11630 { bs3CpuInstr3_vmovdqu_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11631 { bs3CpuInstr3_vmovdqu_FSxBX_YMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11703 { bs3CpuInstr3_movdqu_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11704 { bs3CpuInstr3_07f_movdqu_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11705 { bs3CpuInstr3_movdqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11706 { bs3CpuInstr3_movdqu_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11707 11708 { bs3CpuInstr3_vmovdqu_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11709 { bs3CpuInstr3_07f_vmovdqu_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11710 { bs3CpuInstr3_vmovdqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11711 { bs3CpuInstr3_vmovdqu_FSxBX_XMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11712 11713 { bs3CpuInstr3_vmovdqu_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11714 { bs3CpuInstr3_07f_vmovdqu_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11715 { bs3CpuInstr3_vmovdqu_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11716 { bs3CpuInstr3_vmovdqu_FSxBX_YMM1_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11632 11717 }; 11633 11718 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11634 11719 { 11635 { bs3CpuInstr3_movdqu_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11636 { bs3CpuInstr3_07f_movdqu_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11637 { bs3CpuInstr3_movdqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11638 { bs3CpuInstr3_movdqu_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11639 11640 { bs3CpuInstr3_vmovdqu_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11641 { bs3CpuInstr3_07f_vmovdqu_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11642 { bs3CpuInstr3_vmovdqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11643 { bs3CpuInstr3_vmovdqu_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11644 11645 { bs3CpuInstr3_vmovdqu_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11646 { bs3CpuInstr3_07f_vmovdqu_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11647 { bs3CpuInstr3_vmovdqu_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11648 { bs3CpuInstr3_vmovdqu_FSxBX_YMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11720 { bs3CpuInstr3_movdqu_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11721 { bs3CpuInstr3_07f_movdqu_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11722 { bs3CpuInstr3_movdqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11723 { bs3CpuInstr3_movdqu_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11724 11725 { bs3CpuInstr3_vmovdqu_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11726 { bs3CpuInstr3_07f_vmovdqu_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11727 { bs3CpuInstr3_vmovdqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11728 { bs3CpuInstr3_vmovdqu_FSxBX_XMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11729 11730 { bs3CpuInstr3_vmovdqu_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11731 { bs3CpuInstr3_07f_vmovdqu_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11732 { bs3CpuInstr3_vmovdqu_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11733 { bs3CpuInstr3_vmovdqu_FSxBX_YMM1_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11649 11734 }; 11650 11735 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11651 11736 { 11652 { bs3CpuInstr3_movdqu_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11653 { bs3CpuInstr3_07f_movdqu_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11654 { bs3CpuInstr3_movdqu_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11655 { bs3CpuInstr3_07f_movdqu_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11656 { bs3CpuInstr3_movdqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11657 { bs3CpuInstr3_movdqu_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM10, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11658 { bs3CpuInstr3_movdqu_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11659 { bs3CpuInstr3_movdqu_FSxBX_XMM10_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11660 11661 { bs3CpuInstr3_vmovdqu_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11662 { bs3CpuInstr3_07f_vmovdqu_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11663 { bs3CpuInstr3_vmovdqu_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11664 { bs3CpuInstr3_vmovdqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11665 { bs3CpuInstr3_vmovdqu_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11666 { bs3CpuInstr3_vmovdqu_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11667 { bs3CpuInstr3_vmovdqu_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM11, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11668 11669 { bs3CpuInstr3_vmovdqu_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11670 { bs3CpuInstr3_07f_vmovdqu_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11671 { bs3CpuInstr3_vmovdqu_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11672 { bs3CpuInstr3_vmovdqu_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11673 { bs3CpuInstr3_vmovdqu_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11674 { bs3CpuInstr3_vmovdqu_FSxBX_YMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11675 { bs3CpuInstr3_vmovdqu_FSxBX_YMM12_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11737 { bs3CpuInstr3_movdqu_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11738 { bs3CpuInstr3_07f_movdqu_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11739 { bs3CpuInstr3_movdqu_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11740 { bs3CpuInstr3_07f_movdqu_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11741 { bs3CpuInstr3_movdqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11742 { bs3CpuInstr3_movdqu_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, XMM10, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11743 { bs3CpuInstr3_movdqu_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11744 { bs3CpuInstr3_movdqu_FSxBX_XMM10_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE, FSxBX, XMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11745 11746 { bs3CpuInstr3_vmovdqu_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11747 { bs3CpuInstr3_07f_vmovdqu_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11748 { bs3CpuInstr3_vmovdqu_XMM7_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM7, XMM14, PASS_ELEMENTS(g_aMoveValues3) }, 11749 { bs3CpuInstr3_vmovdqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11750 { bs3CpuInstr3_vmovdqu_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11751 { bs3CpuInstr3_vmovdqu_FSxBX_XMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11752 { bs3CpuInstr3_vmovdqu_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, FSxBX, XMM11, PASS_ELEMENTS(g_aMoveValues3) }, 11753 11754 { bs3CpuInstr3_vmovdqu_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11755 { bs3CpuInstr3_07f_vmovdqu_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11756 { bs3CpuInstr3_vmovdqu_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(g_aMoveValues3) }, 11757 { bs3CpuInstr3_vmovdqu_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11758 { bs3CpuInstr3_vmovdqu_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11759 { bs3CpuInstr3_vmovdqu_FSxBX_YMM1_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11760 { bs3CpuInstr3_vmovdqu_FSxBX_YMM12_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, FSxBX, YMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11676 11761 }; 11677 11762 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11689 11774 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11690 11775 { 11691 { bs3CpuInstr3_movdqa_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11692 { bs3CpuInstr3_07f_movdqa_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11693 { bs3CpuInstr3_movdqa_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11694 { bs3CpuInstr3_movdqa_FSxBX_XMM1_icebp_c16, 255, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11695 11696 { bs3CpuInstr3_vmovdqa_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11697 { bs3CpuInstr3_07f_vmovdqa_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11698 { bs3CpuInstr3_vmovdqa_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11699 { bs3CpuInstr3_vmovdqa_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11700 11701 { bs3CpuInstr3_vmovdqa_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11702 { bs3CpuInstr3_07f_vmovdqa_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11703 { bs3CpuInstr3_vmovdqa_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11704 { bs3CpuInstr3_vmovdqa_FSxBX_YMM1_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11776 { bs3CpuInstr3_movdqa_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11777 { bs3CpuInstr3_07f_movdqa_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11778 { bs3CpuInstr3_movdqa_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11779 { bs3CpuInstr3_movdqa_FSxBX_XMM1_icebp_c16, 255, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11780 11781 { bs3CpuInstr3_vmovdqa_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11782 { bs3CpuInstr3_07f_vmovdqa_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11783 { bs3CpuInstr3_vmovdqa_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11784 { bs3CpuInstr3_vmovdqa_FSxBX_XMM1_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11785 11786 { bs3CpuInstr3_vmovdqa_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11787 { bs3CpuInstr3_07f_vmovdqa_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11788 { bs3CpuInstr3_vmovdqa_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11789 { bs3CpuInstr3_vmovdqa_FSxBX_YMM1_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11705 11790 }; 11706 11791 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11707 11792 { 11708 { bs3CpuInstr3_movdqa_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11709 { bs3CpuInstr3_07f_movdqa_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11710 { bs3CpuInstr3_movdqa_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11711 { bs3CpuInstr3_movdqa_FSxBX_XMM1_icebp_c32, 255, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11712 11713 { bs3CpuInstr3_vmovdqa_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11714 { bs3CpuInstr3_07f_vmovdqa_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11715 { bs3CpuInstr3_vmovdqa_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11716 { bs3CpuInstr3_vmovdqa_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11717 11718 { bs3CpuInstr3_vmovdqa_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11719 { bs3CpuInstr3_07f_vmovdqa_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11720 { bs3CpuInstr3_vmovdqa_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11721 { bs3CpuInstr3_vmovdqa_FSxBX_YMM1_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11793 { bs3CpuInstr3_movdqa_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11794 { bs3CpuInstr3_07f_movdqa_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11795 { bs3CpuInstr3_movdqa_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11796 { bs3CpuInstr3_movdqa_FSxBX_XMM1_icebp_c32, 255, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11797 11798 { bs3CpuInstr3_vmovdqa_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11799 { bs3CpuInstr3_07f_vmovdqa_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11800 { bs3CpuInstr3_vmovdqa_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11801 { bs3CpuInstr3_vmovdqa_FSxBX_XMM1_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11802 11803 { bs3CpuInstr3_vmovdqa_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11804 { bs3CpuInstr3_07f_vmovdqa_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11805 { bs3CpuInstr3_vmovdqa_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11806 { bs3CpuInstr3_vmovdqa_FSxBX_YMM1_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11722 11807 }; 11723 11808 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11724 11809 { 11725 { bs3CpuInstr3_movdqa_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11726 { bs3CpuInstr3_07f_movdqa_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11727 { bs3CpuInstr3_movdqa_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11728 { bs3CpuInstr3_07f_movdqa_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11729 { bs3CpuInstr3_movdqa_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11730 { bs3CpuInstr3_movdqa_XMM10_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM10, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11731 { bs3CpuInstr3_movdqa_FSxBX_XMM1_icebp_c64, 255, RM_MEM, T_SSE, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11732 { bs3CpuInstr3_movdqa_FSxBX_XMM10_icebp_c64, 255, RM_MEM, T_SSE, FSxBX, XMM10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11733 11734 { bs3CpuInstr3_vmovdqa_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11735 { bs3CpuInstr3_07f_vmovdqa_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11736 { bs3CpuInstr3_vmovdqa_XMM8_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM14, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11737 { bs3CpuInstr3_07f_vmovdqa_XMM8_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM14, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11738 { bs3CpuInstr3_vmovdqa_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11739 { bs3CpuInstr3_vmovdqa_XMM11_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11740 { bs3CpuInstr3_vmovdqa_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, FSxBX, XMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11741 { bs3CpuInstr3_vmovdqa_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, FSxBX, XMM11, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11742 11743 { bs3CpuInstr3_vmovdqa_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11744 { bs3CpuInstr3_07f_vmovdqa_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11745 { bs3CpuInstr3_vmovdqa_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11746 { bs3CpuInstr3_07f_vmovdqa_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11747 { bs3CpuInstr3_vmovdqa_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11748 { bs3CpuInstr3_vmovdqa_YMM12_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11749 { bs3CpuInstr3_vmovdqa_FSxBX_YMM1_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, FSxBX, YMM1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11750 { bs3CpuInstr3_vmovdqa_FSxBX_YMM12_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, FSxBX, YMM12, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},11810 { bs3CpuInstr3_movdqa_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11811 { bs3CpuInstr3_07f_movdqa_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11812 { bs3CpuInstr3_movdqa_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11813 { bs3CpuInstr3_07f_movdqa_XMM8_XMM12_icebp_c64, 255, RM_REG, T_SSE, XMM8, XMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11814 { bs3CpuInstr3_movdqa_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11815 { bs3CpuInstr3_movdqa_XMM10_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, XMM10, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11816 { bs3CpuInstr3_movdqa_FSxBX_XMM1_icebp_c64, 255, RM_MEM, T_SSE, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11817 { bs3CpuInstr3_movdqa_FSxBX_XMM10_icebp_c64, 255, RM_MEM, T_SSE, FSxBX, XMM10, PASS_ELEMENTS(g_aMoveValues3) }, 11818 11819 { bs3CpuInstr3_vmovdqa_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11820 { bs3CpuInstr3_07f_vmovdqa_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11821 { bs3CpuInstr3_vmovdqa_XMM8_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM14, PASS_ELEMENTS(g_aMoveValues3) }, 11822 { bs3CpuInstr3_07f_vmovdqa_XMM8_XMM14_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM14, PASS_ELEMENTS(g_aMoveValues3) }, 11823 { bs3CpuInstr3_vmovdqa_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11824 { bs3CpuInstr3_vmovdqa_XMM11_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11825 { bs3CpuInstr3_vmovdqa_FSxBX_XMM1_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, FSxBX, XMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11826 { bs3CpuInstr3_vmovdqa_FSxBX_XMM11_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, FSxBX, XMM11, PASS_ELEMENTS(g_aMoveValues3) }, 11827 11828 { bs3CpuInstr3_vmovdqa_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11829 { bs3CpuInstr3_07f_vmovdqa_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(g_aMoveValues3) }, 11830 { bs3CpuInstr3_vmovdqa_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(g_aMoveValues3) }, 11831 { bs3CpuInstr3_07f_vmovdqa_YMM12_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM12, YMM8, PASS_ELEMENTS(g_aMoveValues3) }, 11832 { bs3CpuInstr3_vmovdqa_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11833 { bs3CpuInstr3_vmovdqa_YMM12_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 11834 { bs3CpuInstr3_vmovdqa_FSxBX_YMM1_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, FSxBX, YMM1, PASS_ELEMENTS(g_aMoveValues3) }, 11835 { bs3CpuInstr3_vmovdqa_FSxBX_YMM12_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, FSxBX, YMM12, PASS_ELEMENTS(g_aMoveValues3) }, 11751 11836 }; 11752 11837 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11798 11883 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11799 11884 { 11800 { bs3CpuInstr3_pabsb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11801 { bs3CpuInstr3_pabsb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11802 { bs3CpuInstr3_pabsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11803 { bs3CpuInstr3_pabsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11804 { bs3CpuInstr3_vpabsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11805 { bs3CpuInstr3_vpabsb_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11806 { bs3CpuInstr3_vpabsb_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11807 { bs3CpuInstr3_vpabsb_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11808 11809 { bs3CpuInstr3_pabsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11810 { bs3CpuInstr3_pabsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11811 { bs3CpuInstr3_pabsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11812 { bs3CpuInstr3_pabsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11813 { bs3CpuInstr3_vpabsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11814 { bs3CpuInstr3_vpabsw_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11815 { bs3CpuInstr3_vpabsw_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11816 { bs3CpuInstr3_vpabsw_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11817 11818 { bs3CpuInstr3_pabsd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11819 { bs3CpuInstr3_pabsd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11820 { bs3CpuInstr3_pabsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11821 { bs3CpuInstr3_pabsd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11822 { bs3CpuInstr3_vpabsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11823 { bs3CpuInstr3_vpabsd_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11824 { bs3CpuInstr3_vpabsd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11825 { bs3CpuInstr3_vpabsd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11885 { bs3CpuInstr3_pabsb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 11886 { bs3CpuInstr3_pabsb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11887 { bs3CpuInstr3_pabsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 11888 { bs3CpuInstr3_pabsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11889 { bs3CpuInstr3_vpabsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 11890 { bs3CpuInstr3_vpabsb_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11891 { bs3CpuInstr3_vpabsb_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesB) }, 11892 { bs3CpuInstr3_vpabsb_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11893 11894 { bs3CpuInstr3_pabsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 11895 { bs3CpuInstr3_pabsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11896 { bs3CpuInstr3_pabsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 11897 { bs3CpuInstr3_pabsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11898 { bs3CpuInstr3_vpabsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 11899 { bs3CpuInstr3_vpabsw_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11900 { bs3CpuInstr3_vpabsw_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 11901 { bs3CpuInstr3_vpabsw_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11902 11903 { bs3CpuInstr3_pabsd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 11904 { bs3CpuInstr3_pabsd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11905 { bs3CpuInstr3_pabsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 11906 { bs3CpuInstr3_pabsd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11907 { bs3CpuInstr3_vpabsd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 11908 { bs3CpuInstr3_vpabsd_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11909 { bs3CpuInstr3_vpabsd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesD) }, 11910 { bs3CpuInstr3_vpabsd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11826 11911 }; 11827 11912 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 11828 11913 { 11829 { bs3CpuInstr3_pabsb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11830 { bs3CpuInstr3_pabsb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11831 { bs3CpuInstr3_pabsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11832 { bs3CpuInstr3_pabsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11833 { bs3CpuInstr3_vpabsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11834 { bs3CpuInstr3_vpabsb_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11835 { bs3CpuInstr3_vpabsb_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11836 { bs3CpuInstr3_vpabsb_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11837 11838 { bs3CpuInstr3_pabsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11839 { bs3CpuInstr3_pabsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11840 { bs3CpuInstr3_pabsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11841 { bs3CpuInstr3_pabsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11842 { bs3CpuInstr3_vpabsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11843 { bs3CpuInstr3_vpabsw_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11844 { bs3CpuInstr3_vpabsw_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11845 { bs3CpuInstr3_vpabsw_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11846 11847 { bs3CpuInstr3_pabsd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11848 { bs3CpuInstr3_pabsd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11849 { bs3CpuInstr3_pabsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11850 { bs3CpuInstr3_pabsd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11851 { bs3CpuInstr3_vpabsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11852 { bs3CpuInstr3_vpabsd_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11853 { bs3CpuInstr3_vpabsd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11854 { bs3CpuInstr3_vpabsd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11914 { bs3CpuInstr3_pabsb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 11915 { bs3CpuInstr3_pabsb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11916 { bs3CpuInstr3_pabsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 11917 { bs3CpuInstr3_pabsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11918 { bs3CpuInstr3_vpabsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 11919 { bs3CpuInstr3_vpabsb_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11920 { bs3CpuInstr3_vpabsb_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesB) }, 11921 { bs3CpuInstr3_vpabsb_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11922 11923 { bs3CpuInstr3_pabsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 11924 { bs3CpuInstr3_pabsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11925 { bs3CpuInstr3_pabsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 11926 { bs3CpuInstr3_pabsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11927 { bs3CpuInstr3_vpabsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 11928 { bs3CpuInstr3_vpabsw_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11929 { bs3CpuInstr3_vpabsw_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 11930 { bs3CpuInstr3_vpabsw_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11931 11932 { bs3CpuInstr3_pabsd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 11933 { bs3CpuInstr3_pabsd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11934 { bs3CpuInstr3_pabsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 11935 { bs3CpuInstr3_pabsd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11936 { bs3CpuInstr3_vpabsd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 11937 { bs3CpuInstr3_vpabsd_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11938 { bs3CpuInstr3_vpabsd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesD) }, 11939 { bs3CpuInstr3_vpabsd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11855 11940 }; 11856 11941 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 11857 11942 { 11858 { bs3CpuInstr3_pabsb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11859 { bs3CpuInstr3_pabsb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11860 { bs3CpuInstr3_pabsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11861 { bs3CpuInstr3_pabsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11862 { bs3CpuInstr3_pabsb_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSSE3, XMM9, XMM8, RT_ELEMENTS(s_aValuesB), s_aValuesB},11863 { bs3CpuInstr3_pabsb_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM9, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11864 { bs3CpuInstr3_vpabsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11865 { bs3CpuInstr3_vpabsb_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11866 { bs3CpuInstr3_vpabsb_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesB), s_aValuesB},11867 { bs3CpuInstr3_vpabsb_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11868 { bs3CpuInstr3_vpabsb_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesB), s_aValuesB},11869 { bs3CpuInstr3_vpabsb_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11870 { bs3CpuInstr3_vpabsb_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, RT_ELEMENTS(s_aValuesB), s_aValuesB},11871 { bs3CpuInstr3_vpabsb_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesB), s_aValuesB},11872 11873 { bs3CpuInstr3_pabsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11874 { bs3CpuInstr3_pabsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11875 { bs3CpuInstr3_pabsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11876 { bs3CpuInstr3_pabsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11877 { bs3CpuInstr3_pabsw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSSE3, XMM9, XMM8, RT_ELEMENTS(s_aValuesW), s_aValuesW},11878 { bs3CpuInstr3_pabsw_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM9, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11879 { bs3CpuInstr3_vpabsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11880 { bs3CpuInstr3_vpabsw_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11881 { bs3CpuInstr3_vpabsw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesW), s_aValuesW},11882 { bs3CpuInstr3_vpabsw_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11883 { bs3CpuInstr3_vpabsw_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesW), s_aValuesW},11884 { bs3CpuInstr3_vpabsw_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11885 { bs3CpuInstr3_vpabsw_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, RT_ELEMENTS(s_aValuesW), s_aValuesW},11886 { bs3CpuInstr3_vpabsw_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesW), s_aValuesW},11887 11888 { bs3CpuInstr3_pabsd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11889 { bs3CpuInstr3_pabsd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11890 { bs3CpuInstr3_pabsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11891 { bs3CpuInstr3_pabsd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11892 { bs3CpuInstr3_pabsd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSSE3, XMM9, XMM8, RT_ELEMENTS(s_aValuesD), s_aValuesD},11893 { bs3CpuInstr3_pabsd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM9, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11894 { bs3CpuInstr3_vpabsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11895 { bs3CpuInstr3_vpabsd_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11896 { bs3CpuInstr3_vpabsd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesD), s_aValuesD},11897 { bs3CpuInstr3_vpabsd_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11898 { bs3CpuInstr3_vpabsd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValuesD), s_aValuesD},11899 { bs3CpuInstr3_vpabsd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11900 { bs3CpuInstr3_vpabsd_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, RT_ELEMENTS(s_aValuesD), s_aValuesD},11901 { bs3CpuInstr3_vpabsd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesD), s_aValuesD},11943 { bs3CpuInstr3_pabsb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesB) }, 11944 { bs3CpuInstr3_pabsb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11945 { bs3CpuInstr3_pabsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 11946 { bs3CpuInstr3_pabsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11947 { bs3CpuInstr3_pabsb_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSSE3, XMM9, XMM8, PASS_ELEMENTS(s_aValuesB) }, 11948 { bs3CpuInstr3_pabsb_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11949 { bs3CpuInstr3_vpabsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesB) }, 11950 { bs3CpuInstr3_vpabsb_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11951 { bs3CpuInstr3_vpabsb_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesB) }, 11952 { bs3CpuInstr3_vpabsb_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11953 { bs3CpuInstr3_vpabsb_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesB) }, 11954 { bs3CpuInstr3_vpabsb_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11955 { bs3CpuInstr3_vpabsb_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, PASS_ELEMENTS(s_aValuesB) }, 11956 { bs3CpuInstr3_vpabsb_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesB) }, 11957 11958 { bs3CpuInstr3_pabsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesW) }, 11959 { bs3CpuInstr3_pabsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11960 { bs3CpuInstr3_pabsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 11961 { bs3CpuInstr3_pabsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11962 { bs3CpuInstr3_pabsw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSSE3, XMM9, XMM8, PASS_ELEMENTS(s_aValuesW) }, 11963 { bs3CpuInstr3_pabsw_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11964 { bs3CpuInstr3_vpabsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesW) }, 11965 { bs3CpuInstr3_vpabsw_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11966 { bs3CpuInstr3_vpabsw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesW) }, 11967 { bs3CpuInstr3_vpabsw_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11968 { bs3CpuInstr3_vpabsw_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesW) }, 11969 { bs3CpuInstr3_vpabsw_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11970 { bs3CpuInstr3_vpabsw_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, PASS_ELEMENTS(s_aValuesW) }, 11971 { bs3CpuInstr3_vpabsw_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesW) }, 11972 11973 { bs3CpuInstr3_pabsd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX_SSSE3, MM1, MM2, PASS_ELEMENTS(s_aValuesD) }, 11974 { bs3CpuInstr3_pabsd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX_SSSE3, MM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11975 { bs3CpuInstr3_pabsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSSE3, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 11976 { bs3CpuInstr3_pabsd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11977 { bs3CpuInstr3_pabsd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSSE3, XMM9, XMM8, PASS_ELEMENTS(s_aValuesD) }, 11978 { bs3CpuInstr3_pabsd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSSE3, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11979 { bs3CpuInstr3_vpabsd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesD) }, 11980 { bs3CpuInstr3_vpabsd_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11981 { bs3CpuInstr3_vpabsd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesD) }, 11982 { bs3CpuInstr3_vpabsd_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11983 { bs3CpuInstr3_vpabsd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValuesD) }, 11984 { bs3CpuInstr3_vpabsd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11985 { bs3CpuInstr3_vpabsd_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, PASS_ELEMENTS(s_aValuesD) }, 11986 { bs3CpuInstr3_vpabsd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesD) }, 11902 11987 }; 11903 11988 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 11982 12067 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 11983 12068 { 11984 { bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},11985 { bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},11986 { bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},11987 { bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},11988 { bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},11989 { bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},11990 11991 { bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},11992 { bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},11993 { bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},11994 { bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},11995 { bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},11996 { bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},11997 11998 { bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},11999 { bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12000 { bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12001 { bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12002 { bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12003 { bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12004 12005 { bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12006 { bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12007 { bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12008 { bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12009 { bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12010 { bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12011 12012 { bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12013 { bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12014 { bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12015 { bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12016 { bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12017 { bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12018 12019 { bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12020 { bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12021 { bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12022 { bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12023 { bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12024 { bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12069 { bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12070 { bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12071 { bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12072 { bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12073 { bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12074 { bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12075 12076 { bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12077 { bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12078 { bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12079 { bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12080 { bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12081 { bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12082 12083 { bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12084 { bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12085 { bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12086 { bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12087 { bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12088 { bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12089 12090 { bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12091 { bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12092 { bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12093 { bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12094 { bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12095 { bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12096 12097 { bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12098 { bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12099 { bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12100 { bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12101 { bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12102 { bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12103 12104 { bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12105 { bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12106 { bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12107 { bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12108 { bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12109 { bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12025 12110 }; 12026 12111 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 12027 12112 { 12028 { bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12029 { bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12030 { bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12031 { bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12032 { bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12033 { bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12034 12035 { bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12036 { bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12037 { bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12038 { bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12039 { bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12040 { bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12041 12042 { bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12043 { bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12044 { bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12045 { bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12046 { bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12047 { bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12048 12049 { bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12050 { bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12051 { bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12052 { bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12053 { bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12054 { bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12055 12056 { bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12057 { bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12058 { bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12059 { bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12060 { bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12061 { bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12062 12063 { bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12064 { bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12065 { bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12066 { bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12067 { bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12068 { bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12113 { bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12114 { bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12115 { bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12116 { bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12117 { bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12118 { bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12119 12120 { bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12121 { bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12122 { bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12123 { bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12124 { bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12125 { bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12126 12127 { bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12128 { bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12129 { bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12130 { bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12131 { bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12132 { bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12133 12134 { bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12135 { bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12136 { bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12137 { bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12138 { bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12139 { bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12140 12141 { bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12142 { bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12143 { bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12144 { bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12145 { bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12146 { bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12147 12148 { bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12149 { bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12150 { bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12151 { bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12152 { bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12153 { bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12069 12154 }; 12070 12155 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 12071 12156 { 12072 { bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12073 { bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12074 { bs3CpuInstr3_pmovsxbw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12075 { bs3CpuInstr3_pmovsxbw_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12076 { bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12077 { bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12078 { bs3CpuInstr3_vpmovsxbw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12079 { bs3CpuInstr3_vpmovsxbw_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12080 { bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12081 { bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12082 { bs3CpuInstr3_vpmovsxbw_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12083 { bs3CpuInstr3_vpmovsxbw_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12084 12085 { bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12086 { bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12087 { bs3CpuInstr3_pmovsxbd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12088 { bs3CpuInstr3_pmovsxbd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12089 { bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12090 { bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12091 { bs3CpuInstr3_vpmovsxbd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12092 { bs3CpuInstr3_vpmovsxbd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12093 { bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12094 { bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12095 { bs3CpuInstr3_vpmovsxbd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12096 { bs3CpuInstr3_vpmovsxbd_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12097 12098 { bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12099 { bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12100 { bs3CpuInstr3_pmovsxbq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12101 { bs3CpuInstr3_pmovsxbq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12102 { bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12103 { bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12104 { bs3CpuInstr3_vpmovsxbq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12105 { bs3CpuInstr3_vpmovsxbq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12106 { bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12107 { bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12108 { bs3CpuInstr3_vpmovsxbq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12109 { bs3CpuInstr3_vpmovsxbq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12110 12111 { bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12112 { bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12113 { bs3CpuInstr3_pmovsxwd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12114 { bs3CpuInstr3_pmovsxwd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12115 { bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12116 { bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12117 { bs3CpuInstr3_vpmovsxwd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12118 { bs3CpuInstr3_vpmovsxwd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12119 { bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12120 { bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12121 { bs3CpuInstr3_vpmovsxwd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12122 { bs3CpuInstr3_vpmovsxwd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12123 12124 { bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12125 { bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12126 { bs3CpuInstr3_pmovsxwq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12127 { bs3CpuInstr3_pmovsxwq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12128 { bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12129 { bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12130 { bs3CpuInstr3_vpmovsxwq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12131 { bs3CpuInstr3_vpmovsxwq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12132 { bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12133 { bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12134 { bs3CpuInstr3_vpmovsxwq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12135 { bs3CpuInstr3_vpmovsxwq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12136 12137 { bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12138 { bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12139 { bs3CpuInstr3_pmovsxdq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12140 { bs3CpuInstr3_pmovsxdq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12141 { bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12142 { bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12143 { bs3CpuInstr3_vpmovsxdq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12144 { bs3CpuInstr3_vpmovsxdq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12145 { bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12146 { bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12147 { bs3CpuInstr3_vpmovsxdq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12148 { bs3CpuInstr3_vpmovsxdq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12157 { bs3CpuInstr3_pmovsxbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12158 { bs3CpuInstr3_pmovsxbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12159 { bs3CpuInstr3_pmovsxbw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBW) }, 12160 { bs3CpuInstr3_pmovsxbw_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12161 { bs3CpuInstr3_vpmovsxbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12162 { bs3CpuInstr3_vpmovsxbw_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12163 { bs3CpuInstr3_vpmovsxbw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBW) }, 12164 { bs3CpuInstr3_vpmovsxbw_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12165 { bs3CpuInstr3_vpmovsxbw_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12166 { bs3CpuInstr3_vpmovsxbw_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12167 { bs3CpuInstr3_vpmovsxbw_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesBW) }, 12168 { bs3CpuInstr3_vpmovsxbw_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12169 12170 { bs3CpuInstr3_pmovsxbd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12171 { bs3CpuInstr3_pmovsxbd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12172 { bs3CpuInstr3_pmovsxbd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBD) }, 12173 { bs3CpuInstr3_pmovsxbd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12174 { bs3CpuInstr3_vpmovsxbd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12175 { bs3CpuInstr3_vpmovsxbd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12176 { bs3CpuInstr3_vpmovsxbd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBD) }, 12177 { bs3CpuInstr3_vpmovsxbd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12178 { bs3CpuInstr3_vpmovsxbd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12179 { bs3CpuInstr3_vpmovsxbd_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12180 { bs3CpuInstr3_vpmovsxbd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesBD) }, 12181 { bs3CpuInstr3_vpmovsxbd_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12182 12183 { bs3CpuInstr3_pmovsxbq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12184 { bs3CpuInstr3_pmovsxbq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12185 { bs3CpuInstr3_pmovsxbq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBQ) }, 12186 { bs3CpuInstr3_pmovsxbq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12187 { bs3CpuInstr3_vpmovsxbq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12188 { bs3CpuInstr3_vpmovsxbq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12189 { bs3CpuInstr3_vpmovsxbq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBQ) }, 12190 { bs3CpuInstr3_vpmovsxbq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12191 { bs3CpuInstr3_vpmovsxbq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12192 { bs3CpuInstr3_vpmovsxbq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12193 { bs3CpuInstr3_vpmovsxbq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesBQ) }, 12194 { bs3CpuInstr3_vpmovsxbq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12195 12196 { bs3CpuInstr3_pmovsxwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12197 { bs3CpuInstr3_pmovsxwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12198 { bs3CpuInstr3_pmovsxwd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesWD) }, 12199 { bs3CpuInstr3_pmovsxwd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12200 { bs3CpuInstr3_vpmovsxwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12201 { bs3CpuInstr3_vpmovsxwd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12202 { bs3CpuInstr3_vpmovsxwd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesWD) }, 12203 { bs3CpuInstr3_vpmovsxwd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12204 { bs3CpuInstr3_vpmovsxwd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12205 { bs3CpuInstr3_vpmovsxwd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12206 { bs3CpuInstr3_vpmovsxwd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesWD) }, 12207 { bs3CpuInstr3_vpmovsxwd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12208 12209 { bs3CpuInstr3_pmovsxwq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12210 { bs3CpuInstr3_pmovsxwq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12211 { bs3CpuInstr3_pmovsxwq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesWQ) }, 12212 { bs3CpuInstr3_pmovsxwq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12213 { bs3CpuInstr3_vpmovsxwq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12214 { bs3CpuInstr3_vpmovsxwq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12215 { bs3CpuInstr3_vpmovsxwq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesWQ) }, 12216 { bs3CpuInstr3_vpmovsxwq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12217 { bs3CpuInstr3_vpmovsxwq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12218 { bs3CpuInstr3_vpmovsxwq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12219 { bs3CpuInstr3_vpmovsxwq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesWQ) }, 12220 { bs3CpuInstr3_vpmovsxwq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12221 12222 { bs3CpuInstr3_pmovsxdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12223 { bs3CpuInstr3_pmovsxdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12224 { bs3CpuInstr3_pmovsxdq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesDQ) }, 12225 { bs3CpuInstr3_pmovsxdq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12226 { bs3CpuInstr3_vpmovsxdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12227 { bs3CpuInstr3_vpmovsxdq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12228 { bs3CpuInstr3_vpmovsxdq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesDQ) }, 12229 { bs3CpuInstr3_vpmovsxdq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12230 { bs3CpuInstr3_vpmovsxdq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12231 { bs3CpuInstr3_vpmovsxdq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12232 { bs3CpuInstr3_vpmovsxdq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesDQ) }, 12233 { bs3CpuInstr3_vpmovsxdq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12149 12234 }; 12150 12235 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 12229 12314 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 12230 12315 { 12231 { bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12232 { bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12233 { bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12234 { bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12235 { bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12236 { bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12237 12238 { bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12239 { bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12240 { bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12241 { bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12242 { bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12243 { bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12244 12245 { bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12246 { bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12247 { bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12248 { bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12249 { bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12250 { bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12251 12252 { bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12253 { bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12254 { bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12255 { bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12256 { bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12257 { bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12258 12259 { bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12260 { bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12261 { bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12262 { bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12263 { bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12264 { bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12265 12266 { bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12267 { bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12268 { bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12269 { bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12270 { bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12271 { bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12316 { bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12317 { bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12318 { bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12319 { bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12320 { bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12321 { bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12322 12323 { bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12324 { bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12325 { bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12326 { bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12327 { bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12328 { bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12329 12330 { bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12331 { bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12332 { bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12333 { bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12334 { bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12335 { bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12336 12337 { bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12338 { bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12339 { bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12340 { bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12341 { bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12342 { bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12343 12344 { bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12345 { bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12346 { bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12347 { bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12348 { bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12349 { bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12350 12351 { bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12352 { bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12353 { bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12354 { bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12355 { bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12356 { bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12272 12357 }; 12273 12358 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 12274 12359 { 12275 { bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12276 { bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12277 { bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12278 { bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12279 { bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12280 { bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12281 12282 { bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12283 { bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12284 { bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12285 { bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12286 { bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12287 { bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12288 12289 { bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12290 { bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12291 { bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12292 { bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12293 { bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12294 { bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12295 12296 { bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12297 { bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12298 { bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12299 { bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12300 { bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12301 { bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12302 12303 { bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12304 { bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12305 { bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12306 { bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12307 { bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12308 { bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12309 12310 { bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12311 { bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12312 { bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12313 { bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12314 { bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12315 { bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12360 { bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12361 { bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12362 { bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12363 { bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12364 { bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12365 { bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12366 12367 { bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12368 { bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12369 { bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12370 { bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12371 { bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12372 { bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12373 12374 { bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12375 { bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12376 { bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12377 { bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12378 { bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12379 { bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12380 12381 { bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12382 { bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12383 { bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12384 { bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12385 { bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12386 { bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12387 12388 { bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12389 { bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12390 { bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12391 { bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12392 { bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12393 { bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12394 12395 { bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12396 { bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12397 { bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12398 { bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12399 { bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12400 { bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12316 12401 }; 12317 12402 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 12318 12403 { 12319 { bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12320 { bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12321 { bs3CpuInstr3_pmovzxbw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12322 { bs3CpuInstr3_pmovzxbw_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12323 { bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12324 { bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12325 { bs3CpuInstr3_vpmovzxbw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12326 { bs3CpuInstr3_vpmovzxbw_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12327 { bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12328 { bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12329 { bs3CpuInstr3_vpmovzxbw_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12330 { bs3CpuInstr3_vpmovzxbw_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesBW), s_aValuesBW},12331 12332 { bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12333 { bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12334 { bs3CpuInstr3_pmovzxbd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12335 { bs3CpuInstr3_pmovzxbd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12336 { bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12337 { bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12338 { bs3CpuInstr3_vpmovzxbd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12339 { bs3CpuInstr3_vpmovzxbd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12340 { bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12341 { bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12342 { bs3CpuInstr3_vpmovzxbd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12343 { bs3CpuInstr3_vpmovzxbd_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesBD), s_aValuesBD},12344 12345 { bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12346 { bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12347 { bs3CpuInstr3_pmovzxbq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12348 { bs3CpuInstr3_pmovzxbq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12349 { bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12350 { bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12351 { bs3CpuInstr3_vpmovzxbq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12352 { bs3CpuInstr3_vpmovzxbq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12353 { bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12354 { bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12355 { bs3CpuInstr3_vpmovzxbq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12356 { bs3CpuInstr3_vpmovzxbq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesBQ), s_aValuesBQ},12357 12358 { bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12359 { bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12360 { bs3CpuInstr3_pmovzxwd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12361 { bs3CpuInstr3_pmovzxwd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12362 { bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12363 { bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12364 { bs3CpuInstr3_vpmovzxwd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12365 { bs3CpuInstr3_vpmovzxwd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12366 { bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12367 { bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12368 { bs3CpuInstr3_vpmovzxwd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12369 { bs3CpuInstr3_vpmovzxwd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesWD), s_aValuesWD},12370 12371 { bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12372 { bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12373 { bs3CpuInstr3_pmovzxwq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12374 { bs3CpuInstr3_pmovzxwq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12375 { bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12376 { bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12377 { bs3CpuInstr3_vpmovzxwq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12378 { bs3CpuInstr3_vpmovzxwq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12379 { bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12380 { bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12381 { bs3CpuInstr3_vpmovzxwq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12382 { bs3CpuInstr3_vpmovzxwq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesWQ), s_aValuesWQ},12383 12384 { bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12385 { bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12386 { bs3CpuInstr3_pmovzxdq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12387 { bs3CpuInstr3_pmovzxdq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12388 { bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12389 { bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12390 { bs3CpuInstr3_vpmovzxdq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12391 { bs3CpuInstr3_vpmovzxdq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12392 { bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12393 { bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12394 { bs3CpuInstr3_vpmovzxdq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12395 { bs3CpuInstr3_vpmovzxdq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValuesDQ), s_aValuesDQ},12404 { bs3CpuInstr3_pmovzxbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12405 { bs3CpuInstr3_pmovzxbw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12406 { bs3CpuInstr3_pmovzxbw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBW) }, 12407 { bs3CpuInstr3_pmovzxbw_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12408 { bs3CpuInstr3_vpmovzxbw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12409 { bs3CpuInstr3_vpmovzxbw_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12410 { bs3CpuInstr3_vpmovzxbw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBW) }, 12411 { bs3CpuInstr3_vpmovzxbw_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12412 { bs3CpuInstr3_vpmovzxbw_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBW) }, 12413 { bs3CpuInstr3_vpmovzxbw_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12414 { bs3CpuInstr3_vpmovzxbw_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesBW) }, 12415 { bs3CpuInstr3_vpmovzxbw_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesBW) }, 12416 12417 { bs3CpuInstr3_pmovzxbd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12418 { bs3CpuInstr3_pmovzxbd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12419 { bs3CpuInstr3_pmovzxbd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBD) }, 12420 { bs3CpuInstr3_pmovzxbd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12421 { bs3CpuInstr3_vpmovzxbd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12422 { bs3CpuInstr3_vpmovzxbd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12423 { bs3CpuInstr3_vpmovzxbd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBD) }, 12424 { bs3CpuInstr3_vpmovzxbd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12425 { bs3CpuInstr3_vpmovzxbd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBD) }, 12426 { bs3CpuInstr3_vpmovzxbd_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12427 { bs3CpuInstr3_vpmovzxbd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesBD) }, 12428 { bs3CpuInstr3_vpmovzxbd_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesBD) }, 12429 12430 { bs3CpuInstr3_pmovzxbq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12431 { bs3CpuInstr3_pmovzxbq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12432 { bs3CpuInstr3_pmovzxbq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBQ) }, 12433 { bs3CpuInstr3_pmovzxbq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12434 { bs3CpuInstr3_vpmovzxbq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12435 { bs3CpuInstr3_vpmovzxbq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12436 { bs3CpuInstr3_vpmovzxbq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesBQ) }, 12437 { bs3CpuInstr3_vpmovzxbq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12438 { bs3CpuInstr3_vpmovzxbq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesBQ) }, 12439 { bs3CpuInstr3_vpmovzxbq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12440 { bs3CpuInstr3_vpmovzxbq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesBQ) }, 12441 { bs3CpuInstr3_vpmovzxbq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesBQ) }, 12442 12443 { bs3CpuInstr3_pmovzxwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12444 { bs3CpuInstr3_pmovzxwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12445 { bs3CpuInstr3_pmovzxwd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesWD) }, 12446 { bs3CpuInstr3_pmovzxwd_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12447 { bs3CpuInstr3_vpmovzxwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12448 { bs3CpuInstr3_vpmovzxwd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12449 { bs3CpuInstr3_vpmovzxwd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesWD) }, 12450 { bs3CpuInstr3_vpmovzxwd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12451 { bs3CpuInstr3_vpmovzxwd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWD) }, 12452 { bs3CpuInstr3_vpmovzxwd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12453 { bs3CpuInstr3_vpmovzxwd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesWD) }, 12454 { bs3CpuInstr3_vpmovzxwd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesWD) }, 12455 12456 { bs3CpuInstr3_pmovzxwq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12457 { bs3CpuInstr3_pmovzxwq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12458 { bs3CpuInstr3_pmovzxwq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesWQ) }, 12459 { bs3CpuInstr3_pmovzxwq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12460 { bs3CpuInstr3_vpmovzxwq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12461 { bs3CpuInstr3_vpmovzxwq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12462 { bs3CpuInstr3_vpmovzxwq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesWQ) }, 12463 { bs3CpuInstr3_vpmovzxwq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12464 { bs3CpuInstr3_vpmovzxwq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesWQ) }, 12465 { bs3CpuInstr3_vpmovzxwq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12466 { bs3CpuInstr3_vpmovzxwq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesWQ) }, 12467 { bs3CpuInstr3_vpmovzxwq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesWQ) }, 12468 12469 { bs3CpuInstr3_pmovzxdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12470 { bs3CpuInstr3_pmovzxdq_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12471 { bs3CpuInstr3_pmovzxdq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValuesDQ) }, 12472 { bs3CpuInstr3_pmovzxdq_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12473 { bs3CpuInstr3_vpmovzxdq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12474 { bs3CpuInstr3_vpmovzxdq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12475 { bs3CpuInstr3_vpmovzxdq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValuesDQ) }, 12476 { bs3CpuInstr3_vpmovzxdq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12477 { bs3CpuInstr3_vpmovzxdq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, XMM2, PASS_ELEMENTS(s_aValuesDQ) }, 12478 { bs3CpuInstr3_vpmovzxdq_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12479 { bs3CpuInstr3_vpmovzxdq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, XMM8, PASS_ELEMENTS(s_aValuesDQ) }, 12480 { bs3CpuInstr3_vpmovzxdq_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValuesDQ) }, 12396 12481 }; 12397 12482 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 12409 12494 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 12410 12495 { 12411 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12412 12413 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12414 12415 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12496 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12497 12498 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12499 12500 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12416 12501 }; 12417 12502 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 12418 12503 { 12419 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12420 12421 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12422 12423 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12504 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12505 12506 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12507 12508 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12424 12509 }; 12425 12510 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 12426 12511 { 12427 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12428 { bs3CpuInstr3_lddqu_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM10, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12429 12430 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12431 { bs3CpuInstr3_vlddqu_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12432 12433 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12434 { bs3CpuInstr3_vlddqu_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3},12512 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12513 { bs3CpuInstr3_lddqu_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, XMM10, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12514 12515 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12516 { bs3CpuInstr3_vlddqu_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM11, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12517 12518 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12519 { bs3CpuInstr3_vlddqu_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM12, FSxBX, PASS_ELEMENTS(g_aMoveValues3) }, 12435 12520 }; 12436 12521 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 12460 12545 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 12461 12546 { 12462 { bs3CpuInstr3_phminposuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},12463 { bs3CpuInstr3_phminposuw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},12464 { bs3CpuInstr3_vphminposuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},12465 { bs3CpuInstr3_vphminposuw_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},12547 { bs3CpuInstr3_phminposuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 12548 { bs3CpuInstr3_phminposuw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 12549 { bs3CpuInstr3_vphminposuw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 12550 { bs3CpuInstr3_vphminposuw_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 12466 12551 }; 12467 12552 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 12468 12553 { 12469 { bs3CpuInstr3_phminposuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},12470 { bs3CpuInstr3_phminposuw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},12471 { bs3CpuInstr3_vphminposuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},12472 { bs3CpuInstr3_vphminposuw_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},12554 { bs3CpuInstr3_phminposuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 12555 { bs3CpuInstr3_phminposuw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 12556 { bs3CpuInstr3_vphminposuw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 12557 { bs3CpuInstr3_vphminposuw_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 12473 12558 }; 12474 12559 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 12475 12560 { 12476 { bs3CpuInstr3_phminposuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},12477 { bs3CpuInstr3_phminposuw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},12478 { bs3CpuInstr3_phminposuw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValues), s_aValues},12479 { bs3CpuInstr3_phminposuw_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},12480 { bs3CpuInstr3_vphminposuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},12481 { bs3CpuInstr3_vphminposuw_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},12482 { bs3CpuInstr3_vphminposuw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValues), s_aValues},12483 { bs3CpuInstr3_vphminposuw_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},12561 { bs3CpuInstr3_phminposuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 12562 { bs3CpuInstr3_phminposuw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 12563 { bs3CpuInstr3_phminposuw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValues) }, 12564 { bs3CpuInstr3_phminposuw_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 12565 { bs3CpuInstr3_vphminposuw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 12566 { bs3CpuInstr3_vphminposuw_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 12567 { bs3CpuInstr3_vphminposuw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues) }, 12568 { bs3CpuInstr3_vphminposuw_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 12484 12569 }; 12485 12570 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 12521 12606 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 12522 12607 { 12523 { bs3CpuInstr3_vbroadcastss_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12524 { bs3CpuInstr3_vbroadcastss_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12525 { bs3CpuInstr3_vbroadcastss_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12526 { bs3CpuInstr3_vbroadcastss_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12527 12528 { bs3CpuInstr3_vbroadcastsd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12529 { bs3CpuInstr3_vbroadcastsd_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12530 12531 { bs3CpuInstr3_vbroadcastf128_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues128), s_aValues128},12608 { bs3CpuInstr3_vbroadcastss_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12609 { bs3CpuInstr3_vbroadcastss_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12610 { bs3CpuInstr3_vbroadcastss_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12611 { bs3CpuInstr3_vbroadcastss_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12612 12613 { bs3CpuInstr3_vbroadcastsd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12614 { bs3CpuInstr3_vbroadcastsd_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12615 12616 { bs3CpuInstr3_vbroadcastf128_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues128) }, 12532 12617 }; 12533 12618 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 12534 12619 { 12535 { bs3CpuInstr3_vbroadcastss_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12536 { bs3CpuInstr3_vbroadcastss_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12537 { bs3CpuInstr3_vbroadcastss_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12538 { bs3CpuInstr3_vbroadcastss_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12539 12540 { bs3CpuInstr3_vbroadcastsd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12541 { bs3CpuInstr3_vbroadcastsd_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12542 12543 { bs3CpuInstr3_vbroadcastf128_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues128), s_aValues128},12620 { bs3CpuInstr3_vbroadcastss_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12621 { bs3CpuInstr3_vbroadcastss_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12622 { bs3CpuInstr3_vbroadcastss_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12623 { bs3CpuInstr3_vbroadcastss_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12624 12625 { bs3CpuInstr3_vbroadcastsd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12626 { bs3CpuInstr3_vbroadcastsd_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12627 12628 { bs3CpuInstr3_vbroadcastf128_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues128) }, 12544 12629 }; 12545 12630 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 12546 12631 { 12547 { bs3CpuInstr3_vbroadcastss_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12548 { bs3CpuInstr3_vbroadcastss_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12549 { bs3CpuInstr3_vbroadcastss_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, RT_ELEMENTS(s_aValues32), s_aValues32},12550 { bs3CpuInstr3_vbroadcastss_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12551 { bs3CpuInstr3_vbroadcastss_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12552 { bs3CpuInstr3_vbroadcastss_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12553 { bs3CpuInstr3_vbroadcastss_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, RT_ELEMENTS(s_aValues32), s_aValues32},12554 { bs3CpuInstr3_vbroadcastss_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12555 12556 { bs3CpuInstr3_vbroadcastsd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12557 { bs3CpuInstr3_vbroadcastsd_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12558 { bs3CpuInstr3_vbroadcastsd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, RT_ELEMENTS(s_aValues64), s_aValues64},12559 { bs3CpuInstr3_vbroadcastsd_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12560 12561 { bs3CpuInstr3_vbroadcastf128_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues128), s_aValues128},12562 { bs3CpuInstr3_vbroadcastf128_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues128), s_aValues128},12632 { bs3CpuInstr3_vbroadcastss_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12633 { bs3CpuInstr3_vbroadcastss_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12634 { bs3CpuInstr3_vbroadcastss_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues32) }, 12635 { bs3CpuInstr3_vbroadcastss_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12636 { bs3CpuInstr3_vbroadcastss_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12637 { bs3CpuInstr3_vbroadcastss_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12638 { bs3CpuInstr3_vbroadcastss_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, PASS_ELEMENTS(s_aValues32) }, 12639 { bs3CpuInstr3_vbroadcastss_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12640 12641 { bs3CpuInstr3_vbroadcastsd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12642 { bs3CpuInstr3_vbroadcastsd_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12643 { bs3CpuInstr3_vbroadcastsd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, PASS_ELEMENTS(s_aValues64) }, 12644 { bs3CpuInstr3_vbroadcastsd_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12645 12646 { bs3CpuInstr3_vbroadcastf128_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues128) }, 12647 { bs3CpuInstr3_vbroadcastf128_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues128) }, 12563 12648 }; 12564 12649 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 12616 12701 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 12617 12702 { 12618 { bs3CpuInstr3_vpbroadcastb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues8), s_aValues8},12619 { bs3CpuInstr3_vpbroadcastb_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues8), s_aValues8},12620 { bs3CpuInstr3_vpbroadcastb_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues8), s_aValues8},12621 { bs3CpuInstr3_vpbroadcastb_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues8), s_aValues8},12622 12623 { bs3CpuInstr3_vpbroadcastw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues16), s_aValues16},12624 { bs3CpuInstr3_vpbroadcastw_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues16), s_aValues16},12625 { bs3CpuInstr3_vpbroadcastw_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues16), s_aValues16},12626 { bs3CpuInstr3_vpbroadcastw_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues16), s_aValues16},12627 12628 { bs3CpuInstr3_vpbroadcastd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12629 { bs3CpuInstr3_vpbroadcastd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12630 { bs3CpuInstr3_vpbroadcastd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12631 { bs3CpuInstr3_vpbroadcastd_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12632 12633 { bs3CpuInstr3_vpbroadcastq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12634 { bs3CpuInstr3_vpbroadcastq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12635 { bs3CpuInstr3_vpbroadcastq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12636 { bs3CpuInstr3_vpbroadcastq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12637 12638 { bs3CpuInstr3_vbroadcasti128_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues128), s_aValues128},12703 { bs3CpuInstr3_vpbroadcastb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 12704 { bs3CpuInstr3_vpbroadcastb_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 12705 { bs3CpuInstr3_vpbroadcastb_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 12706 { bs3CpuInstr3_vpbroadcastb_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 12707 12708 { bs3CpuInstr3_vpbroadcastw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 12709 { bs3CpuInstr3_vpbroadcastw_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 12710 { bs3CpuInstr3_vpbroadcastw_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 12711 { bs3CpuInstr3_vpbroadcastw_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 12712 12713 { bs3CpuInstr3_vpbroadcastd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12714 { bs3CpuInstr3_vpbroadcastd_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12715 { bs3CpuInstr3_vpbroadcastd_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12716 { bs3CpuInstr3_vpbroadcastd_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12717 12718 { bs3CpuInstr3_vpbroadcastq_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12719 { bs3CpuInstr3_vpbroadcastq_XMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12720 { bs3CpuInstr3_vpbroadcastq_YMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12721 { bs3CpuInstr3_vpbroadcastq_YMM1_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12722 12723 { bs3CpuInstr3_vbroadcasti128_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues128) }, 12639 12724 }; 12640 12725 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 12641 12726 { 12642 { bs3CpuInstr3_vpbroadcastb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues8), s_aValues8},12643 { bs3CpuInstr3_vpbroadcastb_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues8), s_aValues8},12644 { bs3CpuInstr3_vpbroadcastb_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues8), s_aValues8},12645 { bs3CpuInstr3_vpbroadcastb_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues8), s_aValues8},12646 12647 { bs3CpuInstr3_vpbroadcastw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues16), s_aValues16},12648 { bs3CpuInstr3_vpbroadcastw_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues16), s_aValues16},12649 { bs3CpuInstr3_vpbroadcastw_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues16), s_aValues16},12650 { bs3CpuInstr3_vpbroadcastw_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues16), s_aValues16},12651 12652 { bs3CpuInstr3_vpbroadcastd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12653 { bs3CpuInstr3_vpbroadcastd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12654 { bs3CpuInstr3_vpbroadcastd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12655 { bs3CpuInstr3_vpbroadcastd_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12656 12657 { bs3CpuInstr3_vpbroadcastq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12658 { bs3CpuInstr3_vpbroadcastq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12659 { bs3CpuInstr3_vpbroadcastq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12660 { bs3CpuInstr3_vpbroadcastq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12661 12662 { bs3CpuInstr3_vbroadcasti128_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues128), s_aValues128},12727 { bs3CpuInstr3_vpbroadcastb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 12728 { bs3CpuInstr3_vpbroadcastb_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 12729 { bs3CpuInstr3_vpbroadcastb_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 12730 { bs3CpuInstr3_vpbroadcastb_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 12731 12732 { bs3CpuInstr3_vpbroadcastw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 12733 { bs3CpuInstr3_vpbroadcastw_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 12734 { bs3CpuInstr3_vpbroadcastw_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 12735 { bs3CpuInstr3_vpbroadcastw_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 12736 12737 { bs3CpuInstr3_vpbroadcastd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12738 { bs3CpuInstr3_vpbroadcastd_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12739 { bs3CpuInstr3_vpbroadcastd_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12740 { bs3CpuInstr3_vpbroadcastd_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12741 12742 { bs3CpuInstr3_vpbroadcastq_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12743 { bs3CpuInstr3_vpbroadcastq_XMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12744 { bs3CpuInstr3_vpbroadcastq_YMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12745 { bs3CpuInstr3_vpbroadcastq_YMM1_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12746 12747 { bs3CpuInstr3_vbroadcasti128_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues128) }, 12663 12748 }; 12664 12749 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 12665 12750 { 12666 { bs3CpuInstr3_vpbroadcastb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues8), s_aValues8},12667 { bs3CpuInstr3_vpbroadcastb_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues8), s_aValues8},12668 { bs3CpuInstr3_vpbroadcastb_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, RT_ELEMENTS(s_aValues8), s_aValues8},12669 { bs3CpuInstr3_vpbroadcastb_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues8), s_aValues8},12670 { bs3CpuInstr3_vpbroadcastb_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues8), s_aValues8},12671 { bs3CpuInstr3_vpbroadcastb_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues8), s_aValues8},12672 { bs3CpuInstr3_vpbroadcastb_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, RT_ELEMENTS(s_aValues8), s_aValues8},12673 { bs3CpuInstr3_vpbroadcastb_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues8), s_aValues8},12674 12675 { bs3CpuInstr3_vpbroadcastw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues16), s_aValues16},12676 { bs3CpuInstr3_vpbroadcastw_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues16), s_aValues16},12677 { bs3CpuInstr3_vpbroadcastw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, RT_ELEMENTS(s_aValues16), s_aValues16},12678 { bs3CpuInstr3_vpbroadcastw_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues16), s_aValues16},12679 { bs3CpuInstr3_vpbroadcastw_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues16), s_aValues16},12680 { bs3CpuInstr3_vpbroadcastw_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues16), s_aValues16},12681 { bs3CpuInstr3_vpbroadcastw_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, RT_ELEMENTS(s_aValues16), s_aValues16},12682 { bs3CpuInstr3_vpbroadcastw_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues16), s_aValues16},12683 12684 { bs3CpuInstr3_vpbroadcastd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12685 { bs3CpuInstr3_vpbroadcastd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12686 { bs3CpuInstr3_vpbroadcastd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, RT_ELEMENTS(s_aValues32), s_aValues32},12687 { bs3CpuInstr3_vpbroadcastd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12688 { bs3CpuInstr3_vpbroadcastd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues32), s_aValues32},12689 { bs3CpuInstr3_vpbroadcastd_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12690 { bs3CpuInstr3_vpbroadcastd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, RT_ELEMENTS(s_aValues32), s_aValues32},12691 { bs3CpuInstr3_vpbroadcastd_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues32), s_aValues32},12692 12693 { bs3CpuInstr3_vpbroadcastq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12694 { bs3CpuInstr3_vpbroadcastq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12695 { bs3CpuInstr3_vpbroadcastq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, RT_ELEMENTS(s_aValues64), s_aValues64},12696 { bs3CpuInstr3_vpbroadcastq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12697 { bs3CpuInstr3_vpbroadcastq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, RT_ELEMENTS(s_aValues64), s_aValues64},12698 { bs3CpuInstr3_vpbroadcastq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12699 { bs3CpuInstr3_vpbroadcastq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, RT_ELEMENTS(s_aValues64), s_aValues64},12700 { bs3CpuInstr3_vpbroadcastq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues64), s_aValues64},12701 12702 { bs3CpuInstr3_vbroadcasti128_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues128), s_aValues128},12703 { bs3CpuInstr3_vbroadcasti128_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues128), s_aValues128},12751 { bs3CpuInstr3_vpbroadcastb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 12752 { bs3CpuInstr3_vpbroadcastb_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 12753 { bs3CpuInstr3_vpbroadcastb_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues8) }, 12754 { bs3CpuInstr3_vpbroadcastb_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 12755 { bs3CpuInstr3_vpbroadcastb_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues8) }, 12756 { bs3CpuInstr3_vpbroadcastb_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues8) }, 12757 { bs3CpuInstr3_vpbroadcastb_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, PASS_ELEMENTS(s_aValues8) }, 12758 { bs3CpuInstr3_vpbroadcastb_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues8) }, 12759 12760 { bs3CpuInstr3_vpbroadcastw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 12761 { bs3CpuInstr3_vpbroadcastw_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 12762 { bs3CpuInstr3_vpbroadcastw_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues16) }, 12763 { bs3CpuInstr3_vpbroadcastw_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 12764 { bs3CpuInstr3_vpbroadcastw_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues16) }, 12765 { bs3CpuInstr3_vpbroadcastw_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues16) }, 12766 { bs3CpuInstr3_vpbroadcastw_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, PASS_ELEMENTS(s_aValues16) }, 12767 { bs3CpuInstr3_vpbroadcastw_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues16) }, 12768 12769 { bs3CpuInstr3_vpbroadcastd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12770 { bs3CpuInstr3_vpbroadcastd_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12771 { bs3CpuInstr3_vpbroadcastd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues32) }, 12772 { bs3CpuInstr3_vpbroadcastd_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12773 { bs3CpuInstr3_vpbroadcastd_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues32) }, 12774 { bs3CpuInstr3_vpbroadcastd_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12775 { bs3CpuInstr3_vpbroadcastd_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, PASS_ELEMENTS(s_aValues32) }, 12776 { bs3CpuInstr3_vpbroadcastd_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues32) }, 12777 12778 { bs3CpuInstr3_vpbroadcastq_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12779 { bs3CpuInstr3_vpbroadcastq_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12780 { bs3CpuInstr3_vpbroadcastq_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues64) }, 12781 { bs3CpuInstr3_vpbroadcastq_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12782 { bs3CpuInstr3_vpbroadcastq_YMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX2_256, YMM1, XMM2, PASS_ELEMENTS(s_aValues64) }, 12783 { bs3CpuInstr3_vpbroadcastq_YMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12784 { bs3CpuInstr3_vpbroadcastq_YMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX2_256, YMM9, XMM8, PASS_ELEMENTS(s_aValues64) }, 12785 { bs3CpuInstr3_vpbroadcastq_YMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX2_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues64) }, 12786 12787 { bs3CpuInstr3_vbroadcasti128_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues128) }, 12788 { bs3CpuInstr3_vbroadcasti128_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues128) }, 12704 12789 }; 12705 12790 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 12741 12826 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 12742 12827 { 12743 { bs3CpuInstr3_vextracti128_XMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12744 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12745 { bs3CpuInstr3_vextracti128_XMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12746 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12747 12748 { bs3CpuInstr3_vextractf128_XMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12749 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12750 { bs3CpuInstr3_vextractf128_XMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12751 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12828 { bs3CpuInstr3_vextracti128_XMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12829 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12830 { bs3CpuInstr3_vextracti128_XMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValues00) }, 12831 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValues00) }, 12832 12833 { bs3CpuInstr3_vextractf128_XMM1_YMM2_0FFh_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12834 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12835 { bs3CpuInstr3_vextractf128_XMM1_YMM2_000h_icebp_c16, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValues00) }, 12836 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValues00) }, 12752 12837 }; 12753 12838 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 12754 12839 { 12755 { bs3CpuInstr3_vextracti128_XMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12756 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12757 { bs3CpuInstr3_vextracti128_XMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12758 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12759 12760 { bs3CpuInstr3_vextractf128_XMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12761 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12762 { bs3CpuInstr3_vextractf128_XMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12763 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12840 { bs3CpuInstr3_vextracti128_XMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12841 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12842 { bs3CpuInstr3_vextracti128_XMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValues00) }, 12843 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValues00) }, 12844 12845 { bs3CpuInstr3_vextractf128_XMM1_YMM2_0FFh_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12846 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12847 { bs3CpuInstr3_vextractf128_XMM1_YMM2_000h_icebp_c32, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValues00) }, 12848 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValues00) }, 12764 12849 }; 12765 12850 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 12766 12851 { 12767 { bs3CpuInstr3_vextracti128_XMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12768 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12769 { bs3CpuInstr3_vextracti128_XMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12770 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12771 12772 { bs3CpuInstr3_vextracti128_XMM8_YMM9_0FFh_icebp_c64, 255, RM_REG, T_AVX2_128, XMM8, YMM9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12773 { bs3CpuInstr3_vextracti128_FSxBX_YMM9_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12774 { bs3CpuInstr3_vextracti128_XMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX2_128, XMM8, YMM9, RT_ELEMENTS(s_aValues00), s_aValues00},12775 { bs3CpuInstr3_vextracti128_FSxBX_YMM9_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM9, RT_ELEMENTS(s_aValues00), s_aValues00},12776 12777 { bs3CpuInstr3_vextractf128_XMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12778 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12779 { bs3CpuInstr3_vextractf128_XMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12780 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, RT_ELEMENTS(s_aValues00), s_aValues00},12781 12782 { bs3CpuInstr3_vextractf128_XMM8_YMM9_0FFh_icebp_c64, 255, RM_REG, T_AVX2_128, XMM8, YMM9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12783 { bs3CpuInstr3_vextractf128_FSxBX_YMM9_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM9, RT_ELEMENTS(s_aValuesFF), s_aValuesFF},12784 { bs3CpuInstr3_vextractf128_XMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX2_128, XMM8, YMM9, RT_ELEMENTS(s_aValues00), s_aValues00},12785 { bs3CpuInstr3_vextractf128_FSxBX_YMM9_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM9, RT_ELEMENTS(s_aValues00), s_aValues00},12852 { bs3CpuInstr3_vextracti128_XMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12853 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12854 { bs3CpuInstr3_vextracti128_XMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValues00) }, 12855 { bs3CpuInstr3_vextracti128_FSxBX_YMM2_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValues00) }, 12856 12857 { bs3CpuInstr3_vextracti128_XMM8_YMM9_0FFh_icebp_c64, 255, RM_REG, T_AVX2_128, XMM8, YMM9, PASS_ELEMENTS(s_aValuesFF) }, 12858 { bs3CpuInstr3_vextracti128_FSxBX_YMM9_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM9, PASS_ELEMENTS(s_aValuesFF) }, 12859 { bs3CpuInstr3_vextracti128_XMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX2_128, XMM8, YMM9, PASS_ELEMENTS(s_aValues00) }, 12860 { bs3CpuInstr3_vextracti128_FSxBX_YMM9_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM9, PASS_ELEMENTS(s_aValues00) }, 12861 12862 { bs3CpuInstr3_vextractf128_XMM1_YMM2_0FFh_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12863 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValuesFF) }, 12864 { bs3CpuInstr3_vextractf128_XMM1_YMM2_000h_icebp_c64, 255, RM_REG, T_AVX2_128, XMM1, YMM2, PASS_ELEMENTS(s_aValues00) }, 12865 { bs3CpuInstr3_vextractf128_FSxBX_YMM2_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM2, PASS_ELEMENTS(s_aValues00) }, 12866 12867 { bs3CpuInstr3_vextractf128_XMM8_YMM9_0FFh_icebp_c64, 255, RM_REG, T_AVX2_128, XMM8, YMM9, PASS_ELEMENTS(s_aValuesFF) }, 12868 { bs3CpuInstr3_vextractf128_FSxBX_YMM9_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM9, PASS_ELEMENTS(s_aValuesFF) }, 12869 { bs3CpuInstr3_vextractf128_XMM8_YMM9_000h_icebp_c64, 255, RM_REG, T_AVX2_128, XMM8, YMM9, PASS_ELEMENTS(s_aValues00) }, 12870 { bs3CpuInstr3_vextractf128_FSxBX_YMM9_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_128, FSxBX, YMM9, PASS_ELEMENTS(s_aValues00) }, 12786 12871 }; 12787 12872 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 12842 12927 PBS3EXTCTX pExtCtxOut; 12843 12928 PBS3EXTCTX pExtCtx = bs3CpuInstr3AllocExtCtxs(&pExtCtxOut); 12844 BS3SETREGCTX pSetRegCtx;12929 BS3SETREGCTX SetRegCtx; 12845 12930 if (!pExtCtx) 12846 12931 return 0; … … 12857 12942 pbBuf = bs3CpuInstr3BufSetup(pbBuf, &cbBuf, bMode); 12858 12943 12859 pSetRegCtx.pExtCtx = pExtCtx; 12860 pSetRegCtx.pCtx = &Ctx; 12861 pSetRegCtx.bMode = bMode; 12944 bs3CpuInstrXGetRegisterInit(&SetRegCtx, pExtCtx, &Ctx, bMode); 12862 12945 12863 12946 /* … … 12911 12994 BS3_ASSERT(fMemOp || !BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegSrc2)); 12912 12995 12913 pSetRegCtx.fZeroYMMHi = fSseInstr;12996 SetRegCtx.fZeroYMMHi = fSseInstr; 12914 12997 12915 12998 /* #AC is only raised in ring-3.: */ … … 12946 13029 * Set up the context and some expectations. 12947 13030 */ 13031 SetRegCtx.enmTop = BS3EXTCTXTOPMM_ZERO; 13032 12948 13033 /* eflags */ 12949 13034 if (iEflVariation) … … 12953 13038 12954 13039 /* source1 */ 12955 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegSrc1, &paValues[iVal].uSrc1);13040 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc1, &paValues[iVal].uSrc1); 12956 13041 12957 13042 /* source2 */ … … 12963 13048 } 12964 13049 else 12965 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegSrc2, &paValues[iVal].uSrc2);13050 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc2, &paValues[iVal].uSrc2); 12966 13051 12967 13052 /* … … 13071 13156 static BS3CPUINSTR3_TEST4_T const s_aTests16[] = 13072 13157 { 13073 { bs3CpuInstr3_ptest_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13074 { bs3CpuInstr3_ptest_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13075 { bs3CpuInstr3_vptest_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13076 { bs3CpuInstr3_vptest_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13077 { bs3CpuInstr3_vptest_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13078 { bs3CpuInstr3_vptest_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13158 { bs3CpuInstr3_ptest_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13159 { bs3CpuInstr3_ptest_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13160 { bs3CpuInstr3_vptest_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13161 { bs3CpuInstr3_vptest_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13162 { bs3CpuInstr3_vptest_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13163 { bs3CpuInstr3_vptest_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13079 13164 }; 13080 13165 static BS3CPUINSTR3_TEST4_T const s_aTests32[] = 13081 13166 { 13082 { bs3CpuInstr3_ptest_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13083 { bs3CpuInstr3_ptest_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13084 { bs3CpuInstr3_vptest_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13085 { bs3CpuInstr3_vptest_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13086 { bs3CpuInstr3_vptest_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13087 { bs3CpuInstr3_vptest_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13167 { bs3CpuInstr3_ptest_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13168 { bs3CpuInstr3_ptest_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13169 { bs3CpuInstr3_vptest_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13170 { bs3CpuInstr3_vptest_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13171 { bs3CpuInstr3_vptest_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13172 { bs3CpuInstr3_vptest_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13088 13173 }; 13089 13174 static BS3CPUINSTR3_TEST4_T const s_aTests64[] = 13090 13175 { 13091 { bs3CpuInstr3_ptest_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13092 { bs3CpuInstr3_ptest_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13093 { bs3CpuInstr3_ptest_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, RT_ELEMENTS(s_aValues), s_aValues},13094 { bs3CpuInstr3_ptest_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13095 { bs3CpuInstr3_vptest_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13096 { bs3CpuInstr3_vptest_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13097 { bs3CpuInstr3_vptest_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValues), s_aValues},13098 { bs3CpuInstr3_vptest_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13099 { bs3CpuInstr3_vptest_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13100 { bs3CpuInstr3_vptest_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13101 { bs3CpuInstr3_vptest_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, RT_ELEMENTS(s_aValues), s_aValues},13102 { bs3CpuInstr3_vptest_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13176 { bs3CpuInstr3_ptest_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13177 { bs3CpuInstr3_ptest_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13178 { bs3CpuInstr3_ptest_XMM9_XMM8_icebp_c64, 255, RM_REG, T_SSE4_1, XMM9, XMM8, PASS_ELEMENTS(s_aValues) }, 13179 { bs3CpuInstr3_ptest_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 13180 { bs3CpuInstr3_vptest_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13181 { bs3CpuInstr3_vptest_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13182 { bs3CpuInstr3_vptest_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues) }, 13183 { bs3CpuInstr3_vptest_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 13184 { bs3CpuInstr3_vptest_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13185 { bs3CpuInstr3_vptest_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13186 { bs3CpuInstr3_vptest_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, PASS_ELEMENTS(s_aValues) }, 13187 { bs3CpuInstr3_vptest_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 13103 13188 }; 13104 13189 static BS3CPUINSTR3_TEST4_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST4_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13150 13235 static BS3CPUINSTR3_TEST4_T const s_aTests16[] = 13151 13236 { 13152 { bs3CpuInstr3_vtestps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13153 { bs3CpuInstr3_vtestps_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13154 { bs3CpuInstr3_vtestps_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13155 { bs3CpuInstr3_vtestps_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13237 { bs3CpuInstr3_vtestps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13238 { bs3CpuInstr3_vtestps_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13239 { bs3CpuInstr3_vtestps_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13240 { bs3CpuInstr3_vtestps_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13156 13241 }; 13157 13242 static BS3CPUINSTR3_TEST4_T const s_aTests32[] = 13158 13243 { 13159 { bs3CpuInstr3_vtestps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13160 { bs3CpuInstr3_vtestps_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13161 { bs3CpuInstr3_vtestps_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13162 { bs3CpuInstr3_vtestps_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13244 { bs3CpuInstr3_vtestps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13245 { bs3CpuInstr3_vtestps_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13246 { bs3CpuInstr3_vtestps_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13247 { bs3CpuInstr3_vtestps_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13163 13248 }; 13164 13249 static BS3CPUINSTR3_TEST4_T const s_aTests64[] = 13165 13250 { 13166 { bs3CpuInstr3_vtestps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13167 { bs3CpuInstr3_vtestps_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13168 { bs3CpuInstr3_vtestps_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13169 { bs3CpuInstr3_vtestps_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13170 { bs3CpuInstr3_vtestps_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValues), s_aValues},13171 { bs3CpuInstr3_vtestps_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13172 { bs3CpuInstr3_vtestps_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, RT_ELEMENTS(s_aValues), s_aValues},13173 { bs3CpuInstr3_vtestps_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13251 { bs3CpuInstr3_vtestps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13252 { bs3CpuInstr3_vtestps_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13253 { bs3CpuInstr3_vtestps_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13254 { bs3CpuInstr3_vtestps_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13255 { bs3CpuInstr3_vtestps_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues) }, 13256 { bs3CpuInstr3_vtestps_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 13257 { bs3CpuInstr3_vtestps_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, PASS_ELEMENTS(s_aValues) }, 13258 { bs3CpuInstr3_vtestps_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 13174 13259 }; 13175 13260 static BS3CPUINSTR3_TEST4_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST4_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13221 13306 static BS3CPUINSTR3_TEST4_T const s_aTests16[] = 13222 13307 { 13223 { bs3CpuInstr3_vtestpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13224 { bs3CpuInstr3_vtestpd_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13225 { bs3CpuInstr3_vtestpd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13226 { bs3CpuInstr3_vtestpd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13308 { bs3CpuInstr3_vtestpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13309 { bs3CpuInstr3_vtestpd_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13310 { bs3CpuInstr3_vtestpd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13311 { bs3CpuInstr3_vtestpd_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13227 13312 }; 13228 13313 static BS3CPUINSTR3_TEST4_T const s_aTests32[] = 13229 13314 { 13230 { bs3CpuInstr3_vtestpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13231 { bs3CpuInstr3_vtestpd_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13232 { bs3CpuInstr3_vtestpd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13233 { bs3CpuInstr3_vtestpd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13315 { bs3CpuInstr3_vtestpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13316 { bs3CpuInstr3_vtestpd_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13317 { bs3CpuInstr3_vtestpd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13318 { bs3CpuInstr3_vtestpd_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13234 13319 }; 13235 13320 static BS3CPUINSTR3_TEST4_T const s_aTests64[] = 13236 13321 { 13237 { bs3CpuInstr3_vtestpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, RT_ELEMENTS(s_aValues), s_aValues},13238 { bs3CpuInstr3_vtestpd_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13239 { bs3CpuInstr3_vtestpd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, RT_ELEMENTS(s_aValues), s_aValues},13240 { bs3CpuInstr3_vtestpd_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13241 { bs3CpuInstr3_vtestpd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, RT_ELEMENTS(s_aValues), s_aValues},13242 { bs3CpuInstr3_vtestpd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13243 { bs3CpuInstr3_vtestpd_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, RT_ELEMENTS(s_aValues), s_aValues},13244 { bs3CpuInstr3_vtestpd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, RT_ELEMENTS(s_aValues), s_aValues},13322 { bs3CpuInstr3_vtestpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, PASS_ELEMENTS(s_aValues) }, 13323 { bs3CpuInstr3_vtestpd_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13324 { bs3CpuInstr3_vtestpd_XMM9_XMM8_icebp_c64, 255, RM_REG, T_AVX_128, XMM9, XMM8, PASS_ELEMENTS(s_aValues) }, 13325 { bs3CpuInstr3_vtestpd_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 13326 { bs3CpuInstr3_vtestpd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, PASS_ELEMENTS(s_aValues) }, 13327 { bs3CpuInstr3_vtestpd_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, FSxBX, PASS_ELEMENTS(s_aValues) }, 13328 { bs3CpuInstr3_vtestpd_YMM9_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, YMM9, YMM8, PASS_ELEMENTS(s_aValues) }, 13329 { bs3CpuInstr3_vtestpd_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM9, FSxBX, PASS_ELEMENTS(s_aValues) }, 13245 13330 }; 13246 13331 static BS3CPUINSTR3_TEST4_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST4_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13308 13393 PBS3EXTCTX pExtCtxOut; 13309 13394 PBS3EXTCTX pExtCtx = bs3CpuInstr3AllocExtCtxs(&pExtCtxOut); 13310 BS3SETREGCTX pSetRegCtx;13395 BS3SETREGCTX SetRegCtx; 13311 13396 if (!pExtCtx) 13312 13397 return 0; … … 13324 13409 //Bs3TestPrintf("FTW=%#x mm1/st1=%.16Rhxs\n", pExtCtx->Ctx.x87.FTW, &pExtCtx->Ctx.x87.aRegs[1]); 13325 13410 13326 pSetRegCtx.pExtCtx = pExtCtx; 13327 pSetRegCtx.pCtx = &Ctx; 13328 pSetRegCtx.bMode = bMode; 13411 bs3CpuInstrXGetRegisterInit(&SetRegCtx, pExtCtx, &Ctx, bMode); 13329 13412 13330 13413 /* … … 13383 13466 NOREF(cMemOps); 13384 13467 13385 pSetRegCtx.fZeroYMMHi = fSseInstr;13468 SetRegCtx.fZeroYMMHi = fSseInstr; 13386 13469 13387 13470 /* #AC is only raised in ring-3: */ … … 13418 13501 * Set up the context and some expectations. 13419 13502 */ 13503 SetRegCtx.enmTop = BS3EXTCTXTOPMM_ZERO; 13504 13420 13505 /* dest */ 13421 13506 if (BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst)) … … 13436 13521 } 13437 13522 else 13438 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegSrc1, &paValues[iVal].uSrc1);13523 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc1, &paValues[iVal].uSrc1); 13439 13524 13440 13525 /* source #2 */ … … 13445 13530 } 13446 13531 else 13447 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegSrc2, &paValues[iVal].uSrc2);13532 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc2, &paValues[iVal].uSrc2); 13448 13533 13449 13534 /* source #3 */ … … 13454 13539 } 13455 13540 else 13456 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegSrc3, &paValues[iVal].uSrc3);13541 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegSrc3, &paValues[iVal].uSrc3); 13457 13542 13458 13543 /* Memory pointer. */ … … 13475 13560 bXcptExpect = X86_XCPT_PF; 13476 13561 13562 SetRegCtx.enmTop = BS3EXTCTXTOPMM_SET; 13477 13563 if (bXcptExpect == X86_XCPT_DB && !BS3_REGISTER_IS_MEMREF(paTests[iTest].iRegDst)) 13478 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iRegDst, &paValues[iVal].uDstOut);13564 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iRegDst, &paValues[iVal].uDstOut); 13479 13565 #if defined(DEBUG_aeichner) /** @todo Necessary kludge on a i7-1068NG7. */ 13480 13566 if ( pExtCtx->enmMethod == BS3EXTCTXMETHOD_XSAVE … … 13517 13603 else 13518 13604 Bs3TestFailedF("ring-%d/cfg#%u/test#%u/value#%u failed (bXcptExpect=%#x, puMemOp=%p, EFLAGS=%#RX32, CR0=%#RX32)", 13519 bRing, iCfg, iTest, iVal, bXcptExpect, puMemOp, TrapFrame.Ctx.rflags.u32, TrapFrame.Ctx.cr0); Bs3TestPrintf("\n"); 13605 bRing, iCfg, iTest, iVal, bXcptExpect, puMemOp, TrapFrame.Ctx.rflags.u32, TrapFrame.Ctx.cr0); 13606 Bs3TestPrintf("\n"); 13520 13607 } 13521 13608 … … 13583 13670 static BS3CPUINSTR3_TEST5_T const s_aTests16[] = 13584 13671 { 13585 { bs3CpuInstr3_pblendvb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13586 { bs3CpuInstr3_pblendvb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13587 13588 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_XMM3_XMM4_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13589 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_FSxBX_XMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13590 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_YMM3_YMM4_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13591 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_FSxBX_YMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13672 { bs3CpuInstr3_pblendvb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13673 { bs3CpuInstr3_pblendvb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13674 13675 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_XMM3_XMM4_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13676 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_FSxBX_XMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13677 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_YMM3_YMM4_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13678 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_FSxBX_YMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13592 13679 }; 13593 13680 static BS3CPUINSTR3_TEST5_T const s_aTests32[] = 13594 13681 { 13595 { bs3CpuInstr3_pblendvb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13596 { bs3CpuInstr3_pblendvb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13597 13598 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_XMM3_XMM4_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13599 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_FSxBX_XMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13600 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_YMM3_YMM4_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13601 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_FSxBX_YMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13682 { bs3CpuInstr3_pblendvb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13683 { bs3CpuInstr3_pblendvb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13684 13685 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_XMM3_XMM4_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13686 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_FSxBX_XMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13687 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_YMM3_YMM4_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13688 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_FSxBX_YMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13602 13689 }; 13603 13690 static BS3CPUINSTR3_TEST5_T const s_aTests64[] = 13604 13691 { 13605 { bs3CpuInstr3_pblendvb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13606 { bs3CpuInstr3_pblendvb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13607 { bs3CpuInstr3_pblendvb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13608 { bs3CpuInstr3_pblendvb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13609 13610 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_XMM3_XMM4_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13611 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_FSxBX_XMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13612 { bs3CpuInstr3_vpblendvb_XMM8_XMM9_XMM10_XMM11_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, XMM11, RT_ELEMENTS(s_aValues), s_aValues},13613 { bs3CpuInstr3_vpblendvb_XMM8_XMM9_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, XMM11, RT_ELEMENTS(s_aValues), s_aValues},13614 13615 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_YMM3_YMM4_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13616 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_FSxBX_YMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13617 { bs3CpuInstr3_vpblendvb_YMM8_YMM9_YMM10_YMM11_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, YMM11, RT_ELEMENTS(s_aValues), s_aValues},13618 { bs3CpuInstr3_vpblendvb_YMM8_YMM9_FSxBX_YMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, YMM11, RT_ELEMENTS(s_aValues), s_aValues},13692 { bs3CpuInstr3_pblendvb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13693 { bs3CpuInstr3_pblendvb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13694 { bs3CpuInstr3_pblendvb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, XMM0, PASS_ELEMENTS(s_aValues) }, 13695 { bs3CpuInstr3_pblendvb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13696 13697 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_XMM3_XMM4_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13698 { bs3CpuInstr3_vpblendvb_XMM1_XMM2_FSxBX_XMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13699 { bs3CpuInstr3_vpblendvb_XMM8_XMM9_XMM10_XMM11_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, XMM11, PASS_ELEMENTS(s_aValues) }, 13700 { bs3CpuInstr3_vpblendvb_XMM8_XMM9_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, XMM11, PASS_ELEMENTS(s_aValues) }, 13701 13702 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_YMM3_YMM4_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13703 { bs3CpuInstr3_vpblendvb_YMM1_YMM2_FSxBX_YMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13704 { bs3CpuInstr3_vpblendvb_YMM8_YMM9_YMM10_YMM11_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, YMM11, PASS_ELEMENTS(s_aValues) }, 13705 { bs3CpuInstr3_vpblendvb_YMM8_YMM9_FSxBX_YMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, YMM11, PASS_ELEMENTS(s_aValues) }, 13619 13706 }; 13620 13707 static BS3CPUINSTR3_TEST5_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST5_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13661 13748 static BS3CPUINSTR3_TEST5_T const s_aTests16[] = 13662 13749 { 13663 { bs3CpuInstr3_blendvps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13664 { bs3CpuInstr3_blendvps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13665 13666 { bs3CpuInstr3_vblendvps_XMM1_XMM2_XMM3_XMM4_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13667 { bs3CpuInstr3_vblendvps_XMM1_XMM2_FSxBX_XMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13668 { bs3CpuInstr3_vblendvps_YMM1_YMM2_YMM3_YMM4_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13669 { bs3CpuInstr3_vblendvps_YMM1_YMM2_FSxBX_YMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13750 { bs3CpuInstr3_blendvps_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13751 { bs3CpuInstr3_blendvps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13752 13753 { bs3CpuInstr3_vblendvps_XMM1_XMM2_XMM3_XMM4_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13754 { bs3CpuInstr3_vblendvps_XMM1_XMM2_FSxBX_XMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13755 { bs3CpuInstr3_vblendvps_YMM1_YMM2_YMM3_YMM4_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13756 { bs3CpuInstr3_vblendvps_YMM1_YMM2_FSxBX_YMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13670 13757 }; 13671 13758 static BS3CPUINSTR3_TEST5_T const s_aTests32[] = 13672 13759 { 13673 { bs3CpuInstr3_blendvps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13674 { bs3CpuInstr3_blendvps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13675 13676 { bs3CpuInstr3_vblendvps_XMM1_XMM2_XMM3_XMM4_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13677 { bs3CpuInstr3_vblendvps_XMM1_XMM2_FSxBX_XMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13678 { bs3CpuInstr3_vblendvps_YMM1_YMM2_YMM3_YMM4_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13679 { bs3CpuInstr3_vblendvps_YMM1_YMM2_FSxBX_YMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13760 { bs3CpuInstr3_blendvps_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13761 { bs3CpuInstr3_blendvps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13762 13763 { bs3CpuInstr3_vblendvps_XMM1_XMM2_XMM3_XMM4_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13764 { bs3CpuInstr3_vblendvps_XMM1_XMM2_FSxBX_XMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13765 { bs3CpuInstr3_vblendvps_YMM1_YMM2_YMM3_YMM4_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13766 { bs3CpuInstr3_vblendvps_YMM1_YMM2_FSxBX_YMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13680 13767 }; 13681 13768 static BS3CPUINSTR3_TEST5_T const s_aTests64[] = 13682 13769 { 13683 { bs3CpuInstr3_blendvps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13684 { bs3CpuInstr3_blendvps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13685 { bs3CpuInstr3_blendvps_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13686 { bs3CpuInstr3_blendvps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13687 13688 { bs3CpuInstr3_vblendvps_XMM1_XMM2_XMM3_XMM4_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13689 { bs3CpuInstr3_vblendvps_XMM1_XMM2_FSxBX_XMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13690 { bs3CpuInstr3_vblendvps_XMM8_XMM9_XMM10_XMM11_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, XMM11, RT_ELEMENTS(s_aValues), s_aValues},13691 { bs3CpuInstr3_vblendvps_XMM8_XMM9_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, XMM11, RT_ELEMENTS(s_aValues), s_aValues},13692 13693 { bs3CpuInstr3_vblendvps_YMM1_YMM2_YMM3_YMM4_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13694 { bs3CpuInstr3_vblendvps_YMM1_YMM2_FSxBX_YMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13695 { bs3CpuInstr3_vblendvps_YMM8_YMM9_YMM10_YMM11_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, YMM11, RT_ELEMENTS(s_aValues), s_aValues},13696 { bs3CpuInstr3_vblendvps_YMM8_YMM9_FSxBX_YMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, YMM11, RT_ELEMENTS(s_aValues), s_aValues},13770 { bs3CpuInstr3_blendvps_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13771 { bs3CpuInstr3_blendvps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13772 { bs3CpuInstr3_blendvps_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, XMM0, PASS_ELEMENTS(s_aValues) }, 13773 { bs3CpuInstr3_blendvps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13774 13775 { bs3CpuInstr3_vblendvps_XMM1_XMM2_XMM3_XMM4_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13776 { bs3CpuInstr3_vblendvps_XMM1_XMM2_FSxBX_XMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13777 { bs3CpuInstr3_vblendvps_XMM8_XMM9_XMM10_XMM11_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, XMM11, PASS_ELEMENTS(s_aValues) }, 13778 { bs3CpuInstr3_vblendvps_XMM8_XMM9_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, XMM11, PASS_ELEMENTS(s_aValues) }, 13779 13780 { bs3CpuInstr3_vblendvps_YMM1_YMM2_YMM3_YMM4_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13781 { bs3CpuInstr3_vblendvps_YMM1_YMM2_FSxBX_YMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13782 { bs3CpuInstr3_vblendvps_YMM8_YMM9_YMM10_YMM11_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, YMM11, PASS_ELEMENTS(s_aValues) }, 13783 { bs3CpuInstr3_vblendvps_YMM8_YMM9_FSxBX_YMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, YMM11, PASS_ELEMENTS(s_aValues) }, 13697 13784 }; 13698 13785 static BS3CPUINSTR3_TEST5_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST5_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13739 13826 static BS3CPUINSTR3_TEST5_T const s_aTests16[] = 13740 13827 { 13741 { bs3CpuInstr3_blendvpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13742 { bs3CpuInstr3_blendvpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13743 13744 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_XMM3_XMM4_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13745 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_FSxBX_XMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13746 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_YMM3_YMM4_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13747 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_FSxBX_YMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13828 { bs3CpuInstr3_blendvpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13829 { bs3CpuInstr3_blendvpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13830 13831 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_XMM3_XMM4_icebp_c16, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13832 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_FSxBX_XMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13833 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_YMM3_YMM4_icebp_c16, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13834 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_FSxBX_YMM4_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13748 13835 }; 13749 13836 static BS3CPUINSTR3_TEST5_T const s_aTests32[] = 13750 13837 { 13751 { bs3CpuInstr3_blendvpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13752 { bs3CpuInstr3_blendvpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13753 13754 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_XMM3_XMM4_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13755 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_FSxBX_XMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13756 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_YMM3_YMM4_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13757 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_FSxBX_YMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13838 { bs3CpuInstr3_blendvpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13839 { bs3CpuInstr3_blendvpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13840 13841 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_XMM3_XMM4_icebp_c32, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13842 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_FSxBX_XMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13843 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_YMM3_YMM4_icebp_c32, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13844 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_FSxBX_YMM4_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13758 13845 }; 13759 13846 static BS3CPUINSTR3_TEST5_T const s_aTests64[] = 13760 13847 { 13761 { bs3CpuInstr3_blendvpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13762 { bs3CpuInstr3_blendvpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13763 { bs3CpuInstr3_blendvpd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13764 { bs3CpuInstr3_blendvpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13765 13766 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_XMM3_XMM4_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13767 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_FSxBX_XMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, RT_ELEMENTS(s_aValues), s_aValues},13768 { bs3CpuInstr3_vblendvpd_XMM8_XMM9_XMM10_XMM11_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, XMM11, RT_ELEMENTS(s_aValues), s_aValues},13769 { bs3CpuInstr3_vblendvpd_XMM8_XMM9_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, XMM11, RT_ELEMENTS(s_aValues), s_aValues},13770 13771 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_YMM3_YMM4_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13772 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_FSxBX_YMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, RT_ELEMENTS(s_aValues), s_aValues},13773 { bs3CpuInstr3_vblendvpd_YMM8_YMM9_YMM10_YMM11_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, YMM11, RT_ELEMENTS(s_aValues), s_aValues},13774 { bs3CpuInstr3_vblendvpd_YMM8_YMM9_FSxBX_YMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, YMM11, RT_ELEMENTS(s_aValues), s_aValues},13848 { bs3CpuInstr3_blendvpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE4_1, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13849 { bs3CpuInstr3_blendvpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13850 { bs3CpuInstr3_blendvpd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE4_1, XMM8, XMM8, XMM9, XMM0, PASS_ELEMENTS(s_aValues) }, 13851 { bs3CpuInstr3_blendvpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE4_1, XMM8, XMM8, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13852 13853 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_XMM3_XMM4_icebp_c64, 255, RM_REG, T_AVX_128, XMM1, XMM2, XMM3, XMM4, PASS_ELEMENTS(s_aValues) }, 13854 { bs3CpuInstr3_vblendvpd_XMM1_XMM2_FSxBX_XMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM1, XMM2, FSxBX, XMM4, PASS_ELEMENTS(s_aValues) }, 13855 { bs3CpuInstr3_vblendvpd_XMM8_XMM9_XMM10_XMM11_icebp_c64, 255, RM_REG, T_AVX_128, XMM8, XMM9, XMM10, XMM11, PASS_ELEMENTS(s_aValues) }, 13856 { bs3CpuInstr3_vblendvpd_XMM8_XMM9_FSxBX_XMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, XMM8, XMM9, FSxBX, XMM11, PASS_ELEMENTS(s_aValues) }, 13857 13858 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_YMM3_YMM4_icebp_c64, 255, RM_REG, T_AVX_256, YMM1, YMM2, YMM3, YMM4, PASS_ELEMENTS(s_aValues) }, 13859 { bs3CpuInstr3_vblendvpd_YMM1_YMM2_FSxBX_YMM4_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM1, YMM2, FSxBX, YMM4, PASS_ELEMENTS(s_aValues) }, 13860 { bs3CpuInstr3_vblendvpd_YMM8_YMM9_YMM10_YMM11_icebp_c64, 255, RM_REG, T_AVX_256, YMM8, YMM9, YMM10, YMM11, PASS_ELEMENTS(s_aValues) }, 13861 { bs3CpuInstr3_vblendvpd_YMM8_YMM9_FSxBX_YMM11_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, YMM8, YMM9, FSxBX, YMM11, PASS_ELEMENTS(s_aValues) }, 13775 13862 }; 13776 13863 static BS3CPUINSTR3_TEST5_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST5_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13817 13904 static BS3CPUINSTR3_TEST5_T const s_aTests16[] = 13818 13905 { 13819 { bs3CpuInstr3_sha256rnds2_XMM1_XMM2_XMM0_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13820 { bs3CpuInstr3_sha256rnds2_XMM1_FSxBX_XMM0_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13906 { bs3CpuInstr3_sha256rnds2_XMM1_XMM2_XMM0_icebp_c16, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13907 { bs3CpuInstr3_sha256rnds2_XMM1_FSxBX_XMM0_icebp_c16, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13821 13908 }; 13822 13909 static BS3CPUINSTR3_TEST5_T const s_aTests32[] = 13823 13910 { 13824 { bs3CpuInstr3_sha256rnds2_XMM1_XMM2_XMM0_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13825 { bs3CpuInstr3_sha256rnds2_XMM1_FSxBX_XMM0_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13911 { bs3CpuInstr3_sha256rnds2_XMM1_XMM2_XMM0_icebp_c32, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13912 { bs3CpuInstr3_sha256rnds2_XMM1_FSxBX_XMM0_icebp_c32, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13826 13913 }; 13827 13914 static BS3CPUINSTR3_TEST5_T const s_aTests64[] = 13828 13915 { 13829 { bs3CpuInstr3_sha256rnds2_XMM1_XMM2_XMM0_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13830 { bs3CpuInstr3_sha256rnds2_XMM1_FSxBX_XMM0_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13831 { bs3CpuInstr3_sha256rnds2_XMM8_XMM9_XMM0_icebp_c64, 255, RM_REG, T_SHA, XMM8, XMM8, XMM9, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13832 { bs3CpuInstr3_sha256rnds2_XMM8_FSxBX_XMM0_icebp_c64, 255, RM_MEM, T_SHA, XMM8, XMM8, FSxBX, XMM0, RT_ELEMENTS(s_aValues), s_aValues},13916 { bs3CpuInstr3_sha256rnds2_XMM1_XMM2_XMM0_icebp_c64, 255, RM_REG, T_SHA, XMM1, XMM1, XMM2, XMM0, PASS_ELEMENTS(s_aValues) }, 13917 { bs3CpuInstr3_sha256rnds2_XMM1_FSxBX_XMM0_icebp_c64, 255, RM_MEM, T_SHA, XMM1, XMM1, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13918 { bs3CpuInstr3_sha256rnds2_XMM8_XMM9_XMM0_icebp_c64, 255, RM_REG, T_SHA, XMM8, XMM8, XMM9, XMM0, PASS_ELEMENTS(s_aValues) }, 13919 { bs3CpuInstr3_sha256rnds2_XMM8_FSxBX_XMM0_icebp_c64, 255, RM_MEM, T_SHA, XMM8, XMM8, FSxBX, XMM0, PASS_ELEMENTS(s_aValues) }, 13833 13920 }; 13834 13921 static BS3CPUINSTR3_TEST5_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST5_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13998 14085 { // => src1 src2 src3 13999 14086 // DEST INIT MASK SOURCE 14000 { bs3CpuInstr3_vmaskmovps_XMM0_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_128), s_aValues_LD_dw_128},14001 { bs3CpuInstr3_vmaskmovps_YMM0_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_256), s_aValues_LD_dw_256},14002 { bs3CpuInstr3_vmaskmovps_FSxBX_XMM0_XMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_dw_128), s_aValues_ST_dw_128},14003 { bs3CpuInstr3_vmaskmovps_FSxBX_YMM0_YMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_dw_256), s_aValues_ST_dw_256},14004 14005 { bs3CpuInstr3_vmaskmovpd_XMM0_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14006 { bs3CpuInstr3_vmaskmovpd_YMM0_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14007 { bs3CpuInstr3_vmaskmovpd_FSxBX_XMM0_XMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14008 { bs3CpuInstr3_vmaskmovpd_FSxBX_YMM0_YMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14009 14010 { bs3CpuInstr3_vpmaskmovd_XMM0_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_128), s_aValues_LD_dw_128},14011 { bs3CpuInstr3_vpmaskmovd_YMM0_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_256), s_aValues_LD_dw_256},14012 { bs3CpuInstr3_vpmaskmovd_FSxBX_XMM0_XMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_dw_128), s_aValues_ST_dw_128},14013 { bs3CpuInstr3_vpmaskmovd_FSxBX_YMM0_YMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_dw_256), s_aValues_ST_dw_256},14014 14015 { bs3CpuInstr3_vpmaskmovq_XMM0_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14016 { bs3CpuInstr3_vpmaskmovq_YMM0_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14017 { bs3CpuInstr3_vpmaskmovq_FSxBX_XMM0_XMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14018 { bs3CpuInstr3_vpmaskmovq_FSxBX_YMM0_YMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14087 { bs3CpuInstr3_vmaskmovps_XMM0_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_128) }, 14088 { bs3CpuInstr3_vmaskmovps_YMM0_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_256) }, 14089 { bs3CpuInstr3_vmaskmovps_FSxBX_XMM0_XMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_dw_128) }, 14090 { bs3CpuInstr3_vmaskmovps_FSxBX_YMM0_YMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_dw_256) }, 14091 14092 { bs3CpuInstr3_vmaskmovpd_XMM0_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14093 { bs3CpuInstr3_vmaskmovpd_YMM0_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14094 { bs3CpuInstr3_vmaskmovpd_FSxBX_XMM0_XMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14095 { bs3CpuInstr3_vmaskmovpd_FSxBX_YMM0_YMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14096 14097 { bs3CpuInstr3_vpmaskmovd_XMM0_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_128) }, 14098 { bs3CpuInstr3_vpmaskmovd_YMM0_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_256) }, 14099 { bs3CpuInstr3_vpmaskmovd_FSxBX_XMM0_XMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_dw_128) }, 14100 { bs3CpuInstr3_vpmaskmovd_FSxBX_YMM0_YMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_dw_256) }, 14101 14102 { bs3CpuInstr3_vpmaskmovq_XMM0_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14103 { bs3CpuInstr3_vpmaskmovq_YMM0_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14104 { bs3CpuInstr3_vpmaskmovq_FSxBX_XMM0_XMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14105 { bs3CpuInstr3_vpmaskmovq_FSxBX_YMM0_YMM1_icebp_c16, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14019 14106 }; 14020 14107 static BS3CPUINSTR3_TEST5_T const s_aTests32[] = 14021 14108 { 14022 { bs3CpuInstr3_vmaskmovps_XMM0_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_128), s_aValues_LD_dw_128},14023 { bs3CpuInstr3_vmaskmovps_YMM0_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_256), s_aValues_LD_dw_256},14024 { bs3CpuInstr3_vmaskmovps_FSxBX_XMM0_XMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_dw_128), s_aValues_ST_dw_128},14025 { bs3CpuInstr3_vmaskmovps_FSxBX_YMM0_YMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_dw_256), s_aValues_ST_dw_256},14026 14027 { bs3CpuInstr3_vmaskmovpd_XMM0_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14028 { bs3CpuInstr3_vmaskmovpd_YMM0_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14029 { bs3CpuInstr3_vmaskmovpd_FSxBX_XMM0_XMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14030 { bs3CpuInstr3_vmaskmovpd_FSxBX_YMM0_YMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14031 14032 { bs3CpuInstr3_vpmaskmovd_XMM0_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_128), s_aValues_LD_dw_128},14033 { bs3CpuInstr3_vpmaskmovd_YMM0_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_256), s_aValues_LD_dw_256},14034 { bs3CpuInstr3_vpmaskmovd_FSxBX_XMM0_XMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_dw_128), s_aValues_ST_dw_128},14035 { bs3CpuInstr3_vpmaskmovd_FSxBX_YMM0_YMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_dw_256), s_aValues_ST_dw_256},14036 14037 { bs3CpuInstr3_vpmaskmovq_XMM0_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14038 { bs3CpuInstr3_vpmaskmovq_YMM0_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14039 { bs3CpuInstr3_vpmaskmovq_FSxBX_XMM0_XMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14040 { bs3CpuInstr3_vpmaskmovq_FSxBX_YMM0_YMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14109 { bs3CpuInstr3_vmaskmovps_XMM0_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_128) }, 14110 { bs3CpuInstr3_vmaskmovps_YMM0_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_256) }, 14111 { bs3CpuInstr3_vmaskmovps_FSxBX_XMM0_XMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_dw_128) }, 14112 { bs3CpuInstr3_vmaskmovps_FSxBX_YMM0_YMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_dw_256) }, 14113 14114 { bs3CpuInstr3_vmaskmovpd_XMM0_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14115 { bs3CpuInstr3_vmaskmovpd_YMM0_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14116 { bs3CpuInstr3_vmaskmovpd_FSxBX_XMM0_XMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14117 { bs3CpuInstr3_vmaskmovpd_FSxBX_YMM0_YMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14118 14119 { bs3CpuInstr3_vpmaskmovd_XMM0_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_128) }, 14120 { bs3CpuInstr3_vpmaskmovd_YMM0_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_256) }, 14121 { bs3CpuInstr3_vpmaskmovd_FSxBX_XMM0_XMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_dw_128) }, 14122 { bs3CpuInstr3_vpmaskmovd_FSxBX_YMM0_YMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_dw_256) }, 14123 14124 { bs3CpuInstr3_vpmaskmovq_XMM0_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14125 { bs3CpuInstr3_vpmaskmovq_YMM0_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14126 { bs3CpuInstr3_vpmaskmovq_FSxBX_XMM0_XMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14127 { bs3CpuInstr3_vpmaskmovq_FSxBX_YMM0_YMM1_icebp_c32, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14041 14128 }; 14042 14129 static BS3CPUINSTR3_TEST5_T const s_aTests64[] = 14043 14130 { 14044 { bs3CpuInstr3_vmaskmovps_XMM0_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_128), s_aValues_LD_dw_128},14045 { bs3CpuInstr3_vmaskmovps_YMM0_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_256), s_aValues_LD_dw_256},14046 { bs3CpuInstr3_vmaskmovps_FSxBX_XMM0_XMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_dw_128), s_aValues_ST_dw_128},14047 { bs3CpuInstr3_vmaskmovps_FSxBX_YMM0_YMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_dw_256), s_aValues_ST_dw_256},14048 14049 { bs3CpuInstr3_vmaskmovpd_XMM0_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14050 { bs3CpuInstr3_vmaskmovpd_YMM0_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14051 { bs3CpuInstr3_vmaskmovpd_FSxBX_XMM0_XMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14052 { bs3CpuInstr3_vmaskmovpd_FSxBX_YMM0_YMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14053 14054 { bs3CpuInstr3_vpmaskmovd_XMM0_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_128), s_aValues_LD_dw_128},14055 { bs3CpuInstr3_vpmaskmovd_YMM0_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_256), s_aValues_LD_dw_256},14056 { bs3CpuInstr3_vpmaskmovd_FSxBX_XMM0_XMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_dw_128), s_aValues_ST_dw_128},14057 { bs3CpuInstr3_vpmaskmovd_FSxBX_YMM0_YMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_dw_256), s_aValues_ST_dw_256},14058 14059 { bs3CpuInstr3_vpmaskmovq_XMM0_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14060 { bs3CpuInstr3_vpmaskmovq_YMM0_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14061 { bs3CpuInstr3_vpmaskmovq_FSxBX_XMM0_XMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14062 { bs3CpuInstr3_vpmaskmovq_FSxBX_YMM0_YMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14063 14064 { bs3CpuInstr3_vmaskmovps_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM8, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_128), s_aValues_LD_dw_128},14065 { bs3CpuInstr3_vmaskmovps_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM8, YMM8, YMM9, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_256), s_aValues_LD_dw_256},14066 { bs3CpuInstr3_vmaskmovps_FSxBX_XMM8_XMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM8, XMM9, RT_ELEMENTS(s_aValues_ST_dw_128), s_aValues_ST_dw_128},14067 { bs3CpuInstr3_vmaskmovps_FSxBX_YMM8_YMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM8, YMM9, RT_ELEMENTS(s_aValues_ST_dw_256), s_aValues_ST_dw_256},14068 14069 { bs3CpuInstr3_vmaskmovpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM8, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14070 { bs3CpuInstr3_vmaskmovpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM8, YMM8, YMM9, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14071 { bs3CpuInstr3_vmaskmovpd_FSxBX_XMM8_XMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM8, XMM9, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14072 { bs3CpuInstr3_vmaskmovpd_FSxBX_YMM8_YMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM8, YMM9, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14073 14074 { bs3CpuInstr3_vpmaskmovd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM8, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_128), s_aValues_LD_dw_128},14075 { bs3CpuInstr3_vpmaskmovd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM8, YMM8, YMM9, FSxBX, RT_ELEMENTS(s_aValues_LD_dw_256), s_aValues_LD_dw_256},14076 { bs3CpuInstr3_vpmaskmovd_FSxBX_XMM8_XMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM8, XMM9, RT_ELEMENTS(s_aValues_ST_dw_128), s_aValues_ST_dw_128},14077 { bs3CpuInstr3_vpmaskmovd_FSxBX_YMM8_YMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM8, YMM9, RT_ELEMENTS(s_aValues_ST_dw_256), s_aValues_ST_dw_256},14078 14079 { bs3CpuInstr3_vpmaskmovq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM8, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14080 { bs3CpuInstr3_vpmaskmovq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM8, YMM8, YMM9, FSxBX, RT_ELEMENTS(s_aValues_LD_qw_all), s_aValues_LD_qw_all},14081 { bs3CpuInstr3_vpmaskmovq_FSxBX_XMM8_XMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM8, XMM9, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14082 { bs3CpuInstr3_vpmaskmovq_FSxBX_YMM8_YMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM8, YMM9, RT_ELEMENTS(s_aValues_ST_qw_all), s_aValues_ST_qw_all},14131 { bs3CpuInstr3_vmaskmovps_XMM0_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_128) }, 14132 { bs3CpuInstr3_vmaskmovps_YMM0_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_256) }, 14133 { bs3CpuInstr3_vmaskmovps_FSxBX_XMM0_XMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_dw_128) }, 14134 { bs3CpuInstr3_vmaskmovps_FSxBX_YMM0_YMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_dw_256) }, 14135 14136 { bs3CpuInstr3_vmaskmovpd_XMM0_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14137 { bs3CpuInstr3_vmaskmovpd_YMM0_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14138 { bs3CpuInstr3_vmaskmovpd_FSxBX_XMM0_XMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14139 { bs3CpuInstr3_vmaskmovpd_FSxBX_YMM0_YMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14140 14141 { bs3CpuInstr3_vpmaskmovd_XMM0_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_128) }, 14142 { bs3CpuInstr3_vpmaskmovd_YMM0_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_256) }, 14143 { bs3CpuInstr3_vpmaskmovd_FSxBX_XMM0_XMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_dw_128) }, 14144 { bs3CpuInstr3_vpmaskmovd_FSxBX_YMM0_YMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_dw_256) }, 14145 14146 { bs3CpuInstr3_vpmaskmovq_XMM0_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM0, XMM0, XMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14147 { bs3CpuInstr3_vpmaskmovq_YMM0_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM0, YMM0, YMM1, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14148 { bs3CpuInstr3_vpmaskmovq_FSxBX_XMM0_XMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM0, XMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14149 { bs3CpuInstr3_vpmaskmovq_FSxBX_YMM0_YMM1_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM0, YMM1, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14150 14151 { bs3CpuInstr3_vmaskmovps_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM8, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_128) }, 14152 { bs3CpuInstr3_vmaskmovps_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM8, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_256) }, 14153 { bs3CpuInstr3_vmaskmovps_FSxBX_XMM8_XMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM8, XMM9, PASS_ELEMENTS(s_aValues_ST_dw_128) }, 14154 { bs3CpuInstr3_vmaskmovps_FSxBX_YMM8_YMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM8, YMM9, PASS_ELEMENTS(s_aValues_ST_dw_256) }, 14155 14156 { bs3CpuInstr3_vmaskmovpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, XMM8, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14157 { bs3CpuInstr3_vmaskmovpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, YMM8, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14158 { bs3CpuInstr3_vmaskmovpd_FSxBX_XMM8_XMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_128, FSxBX, FSxBX, XMM8, XMM9, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14159 { bs3CpuInstr3_vmaskmovpd_FSxBX_YMM8_YMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX_256, FSxBX, FSxBX, YMM8, YMM9, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14160 14161 { bs3CpuInstr3_vpmaskmovd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM8, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_128) }, 14162 { bs3CpuInstr3_vpmaskmovd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM8, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues_LD_dw_256) }, 14163 { bs3CpuInstr3_vpmaskmovd_FSxBX_XMM8_XMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM8, XMM9, PASS_ELEMENTS(s_aValues_ST_dw_128) }, 14164 { bs3CpuInstr3_vpmaskmovd_FSxBX_YMM8_YMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM8, YMM9, PASS_ELEMENTS(s_aValues_ST_dw_256) }, 14165 14166 { bs3CpuInstr3_vpmaskmovq_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, XMM8, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14167 { bs3CpuInstr3_vpmaskmovq_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, YMM8, YMM8, YMM9, FSxBX, PASS_ELEMENTS(s_aValues_LD_qw_all) }, 14168 { bs3CpuInstr3_vpmaskmovq_FSxBX_XMM8_XMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_128, FSxBX, FSxBX, XMM8, XMM9, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14169 { bs3CpuInstr3_vpmaskmovq_FSxBX_YMM8_YMM9_icebp_c64, X86_XCPT_DB, RM_RANGE, T_AVX2_256, FSxBX, FSxBX, YMM8, YMM9, PASS_ELEMENTS(s_aValues_ST_qw_all) }, 14083 14170 }; 14084 14171 static BS3CPUINSTR3_TEST5_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST5_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 14141 14228 PBS3EXTCTX pExtCtxOut; 14142 14229 PBS3EXTCTX pExtCtx = bs3CpuInstr3AllocExtCtxs(&pExtCtxOut); 14143 BS3SETREGCTX pSetRegCtx;14230 BS3SETREGCTX SetRegCtx; 14144 14231 if (!pExtCtx) 14145 14232 return 0; … … 14156 14243 bs3CpuInstr3SetupSseAndAvx(&Ctx, pExtCtx); 14157 14244 14158 pSetRegCtx.pExtCtx = pExtCtx; 14159 pSetRegCtx.pCtx = &Ctx; 14160 pSetRegCtx.bMode = bMode; 14245 bs3CpuInstrXGetRegisterInit(&SetRegCtx, pExtCtx, &Ctx, bMode); 14161 14246 14162 14247 /* … … 14208 14293 continue; 14209 14294 14210 pSetRegCtx.fZeroYMMHi = fSseInstr;14295 SetRegCtx.fZeroYMMHi = fSseInstr; 14211 14296 14212 14297 /* #AC is only raised in ring-3.: */ … … 14239 14324 * Set up the context and some expectations. 14240 14325 */ 14326 SetRegCtx.enmTop = BS3EXTCTXTOPMM_ZERO; 14327 14241 14328 /* source - media */ 14242 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iMediaRegSrc, &paValues[iVal].uMediaSrc);14329 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iMediaRegSrc, &paValues[iVal].uMediaSrc); 14243 14330 14244 14331 /* source - gpr/mem */ … … 14252 14339 } 14253 14340 else 14254 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iGprReg, (PCRTUINT256U)&paValues[iVal].uGpr);14341 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iGprReg, (PCRTUINT256U)&paValues[iVal].uGpr); 14255 14342 14256 14343 /* Memory pointer. */ 14257 14344 if (paTests[iTest].enmRm >= RM_MEM) 14258 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iGprReg, (void *)puMemOp);14345 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iGprReg, (void *)puMemOp); 14259 14346 14260 14347 /* … … 14275 14362 } 14276 14363 14364 SetRegCtx.enmTop = BS3EXTCTXTOPMM_SET; 14277 14365 if (bXcptExpect == X86_XCPT_DB) 14278 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iMediaRegDst, &paValues[iVal].uMediaDst);14366 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iMediaRegDst, &paValues[iVal].uMediaDst); 14279 14367 14280 14368 Bs3TestCheckExtCtx(pExtCtxOut, pExtCtx, 0 /*fFlags*/, pszMode, idTestStep); … … 14401 14489 static BS3CPUINSTR3_TEST6_T const s_aTests16[] = 14402 14490 { 14403 { bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14404 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14405 { bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14406 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14407 14408 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14409 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14410 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14411 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14412 14413 { bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c16, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14414 { bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14415 { bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c16, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},14416 { bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},14417 14418 { bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c16, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14419 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14420 { bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c16, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14421 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14422 14423 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c16, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14424 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14425 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14426 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14427 14428 { bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14429 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14430 { bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14431 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14432 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14433 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14434 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14435 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14491 { bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_b) }, 14492 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_b) }, 14493 { bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_b) }, 14494 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_b) }, 14495 14496 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_b) }, 14497 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_b) }, 14498 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_b) }, 14499 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_b) }, 14500 14501 { bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c16, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14502 { bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14503 { bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c16, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, PASS_ELEMENTS(s_aValuesFF_w_64) }, 14504 { bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_w_64) }, 14505 14506 { bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c16, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14507 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14508 { bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c16, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_w) }, 14509 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_w) }, 14510 14511 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c16, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14512 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14513 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_w) }, 14514 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_w) }, 14515 14516 { bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c16, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_d) }, 14517 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_d) }, 14518 { bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_d) }, 14519 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_d) }, 14520 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_d) }, 14521 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_d) }, 14522 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c16, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_d) }, 14523 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_d) }, 14436 14524 }; 14437 14525 static BS3CPUINSTR3_TEST6_T const s_aTests32[] = 14438 14526 { 14439 { bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14440 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14441 { bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14442 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14443 14444 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14445 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14446 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14447 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14448 14449 { bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c32, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14450 { bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c32, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14451 { bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c32, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},14452 { bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},14453 14454 { bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c32, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14455 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14456 { bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c32, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14457 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14458 14459 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c32, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14460 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14461 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14462 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14463 14464 { bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14465 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14466 { bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14467 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14468 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14469 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14470 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14471 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14527 { bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_b) }, 14528 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_b) }, 14529 { bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_b) }, 14530 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_b) }, 14531 14532 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_b) }, 14533 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_b) }, 14534 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_b) }, 14535 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_b) }, 14536 14537 { bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c32, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14538 { bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c32, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14539 { bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c32, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, PASS_ELEMENTS(s_aValuesFF_w_64) }, 14540 { bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_w_64) }, 14541 14542 { bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c32, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14543 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14544 { bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c32, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_w) }, 14545 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_w) }, 14546 14547 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c32, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14548 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14549 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_w) }, 14550 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_w) }, 14551 14552 { bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c32, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_d) }, 14553 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_d) }, 14554 { bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_d) }, 14555 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_d) }, 14556 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_d) }, 14557 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_d) }, 14558 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c32, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_d) }, 14559 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_d) }, 14472 14560 }; 14473 14561 static BS3CPUINSTR3_TEST6_T const s_aTests64[] = 14474 14562 { 14475 { bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14476 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14477 { bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14478 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14479 14480 { bs3CpuInstr3_pinsrb_XMM8_R9D_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, XMM8, XMM8, R9D, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14481 { bs3CpuInstr3_pinsrb_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM8, T_SSE4_1, 1, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14482 { bs3CpuInstr3_pinsrb_XMM8_R9D_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, XMM8, XMM8, R9D, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14483 { bs3CpuInstr3_pinsrb_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM8, T_SSE4_1, 1, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14484 14485 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14486 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14487 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14488 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14489 14490 { bs3CpuInstr3_vpinsrb_XMM8_XMM9_R9D_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, XMM8, XMM9, R9D, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14491 { bs3CpuInstr3_vpinsrb_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValuesFF_b), s_aValuesFF_b},14492 { bs3CpuInstr3_vpinsrb_XMM8_XMM9_R9D_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, XMM8, XMM9, R9D, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14493 { bs3CpuInstr3_vpinsrb_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValues00_b), s_aValues00_b},14494 14495 { bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c64, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14496 { bs3CpuInstr3_pinsrw_MM1_R9D_000h_icebp_c64, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, R9D, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14497 { bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14498 { bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},14499 { bs3CpuInstr3_pinsrw_MM1_R9D_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, R9D, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},14500 { bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64},14501 14502 { bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c64, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14503 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14504 { bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c64, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14505 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14506 14507 { bs3CpuInstr3_pinsrw_XMM8_R9D_000h_icebp_c64, 255, RM_REG, T_SSE, 2, XMM8, XMM8, R9D, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14508 { bs3CpuInstr3_pinsrw_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE, 2, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14509 { bs3CpuInstr3_pinsrw_XMM8_R9D_0FFh_icebp_c64, 255, RM_REG, T_SSE, 2, XMM8, XMM8, R9D, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14510 { bs3CpuInstr3_pinsrw_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE, 2, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14511 14512 { bs3CpuInstr3_pinsrw_XMM1_RDX_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 2, XMM1, XMM1, RDX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14513 { bs3CpuInstr3_pinsrw_XMM8_R9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 2, XMM8, XMM8, R9, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14514 { bs3CpuInstr3_pinsrw_XMM1_RDX_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 2, XMM1, XMM1, RDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14515 { bs3CpuInstr3_pinsrw_XMM8_R9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 2, XMM8, XMM8, R9, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14516 14517 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c64, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14518 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14519 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14520 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14521 14522 { bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_000h_icebp_c64, 255, RM_REG, T_AVX_128, 2, XMM8, XMM9, R9D, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14523 { bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValues00_w), s_aValues00_w},14524 { bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 2, XMM8, XMM9, R9D, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14525 { bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValuesFF_w), s_aValuesFF_w},14526 14527 { bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14528 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14529 { bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14530 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14531 14532 { bs3CpuInstr3_pinsrd_XMM8_R9D_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, XMM8, XMM8, R9D, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14533 { bs3CpuInstr3_pinsrd_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14534 { bs3CpuInstr3_pinsrd_XMM8_R9D_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, XMM8, XMM8, R9D, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14535 { bs3CpuInstr3_pinsrd_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14536 14537 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14538 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14539 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14540 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14541 14542 { bs3CpuInstr3_vpinsrd_XMM8_XMM9_R9D_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM8, XMM9, R9D, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14543 { bs3CpuInstr3_vpinsrd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValuesFF_d), s_aValuesFF_d},14544 { bs3CpuInstr3_vpinsrd_XMM8_XMM9_R9D_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM8, XMM9, R9D, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14545 { bs3CpuInstr3_vpinsrd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValues00_d), s_aValues00_d},14546 14547 { bs3CpuInstr3_pinsrq_XMM1_RDX_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, XMM1, XMM1, RDX, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},14548 { bs3CpuInstr3_pinsrq_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM64, T_SSE4_1, 8, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},14549 { bs3CpuInstr3_pinsrq_XMM1_RDX_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, XMM1, XMM1, RDX, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},14550 { bs3CpuInstr3_pinsrq_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM64, T_SSE4_1, 8, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},14551 14552 { bs3CpuInstr3_pinsrq_XMM8_R9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, XMM8, XMM8, R9, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},14553 { bs3CpuInstr3_pinsrq_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM64, T_SSE4_1, 8, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},14554 { bs3CpuInstr3_pinsrq_XMM8_R9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, XMM8, XMM8, R9, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},14555 { bs3CpuInstr3_pinsrq_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM64, T_SSE4_1, 8, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},14556 14557 { bs3CpuInstr3_vpinsrq_XMM1_XMM2_RDX_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, RDX, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},14558 { bs3CpuInstr3_vpinsrq_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},14559 { bs3CpuInstr3_vpinsrq_XMM1_XMM2_RDX_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, RDX, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},14560 { bs3CpuInstr3_vpinsrq_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, XMM2, FSxBX, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},14561 14562 { bs3CpuInstr3_vpinsrq_XMM8_XMM9_R9_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM8, XMM9, R9, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},14563 { bs3CpuInstr3_vpinsrq_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValuesFF_q), s_aValuesFF_q},14564 { bs3CpuInstr3_vpinsrq_XMM8_XMM9_R9_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM8, XMM9, R9, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},14565 { bs3CpuInstr3_vpinsrq_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM8, XMM9, FSxBX, RT_ELEMENTS(s_aValues00_q), s_aValues00_q},14563 { bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_b) }, 14564 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_b) }, 14565 { bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_b) }, 14566 { bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM8, T_SSE4_1, 1, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_b) }, 14567 14568 { bs3CpuInstr3_pinsrb_XMM8_R9D_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 1, XMM8, XMM8, R9D, PASS_ELEMENTS(s_aValuesFF_b) }, 14569 { bs3CpuInstr3_pinsrb_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM8, T_SSE4_1, 1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF_b) }, 14570 { bs3CpuInstr3_pinsrb_XMM8_R9D_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 1, XMM8, XMM8, R9D, PASS_ELEMENTS(s_aValues00_b) }, 14571 { bs3CpuInstr3_pinsrb_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM8, T_SSE4_1, 1, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00_b) }, 14572 14573 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_b) }, 14574 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_b) }, 14575 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_b) }, 14576 { bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_b) }, 14577 14578 { bs3CpuInstr3_vpinsrb_XMM8_XMM9_R9D_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, XMM8, XMM9, R9D, PASS_ELEMENTS(s_aValuesFF_b) }, 14579 { bs3CpuInstr3_vpinsrb_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF_b) }, 14580 { bs3CpuInstr3_vpinsrb_XMM8_XMM9_R9D_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, XMM8, XMM9, R9D, PASS_ELEMENTS(s_aValues00_b) }, 14581 { bs3CpuInstr3_vpinsrb_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM8, T_AVX_128, 1, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00_b) }, 14582 14583 { bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c64, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14584 { bs3CpuInstr3_pinsrw_MM1_R9D_000h_icebp_c64, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, R9D, PASS_ELEMENTS(s_aValues00_w) }, 14585 { bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14586 { bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, EDX, PASS_ELEMENTS(s_aValuesFF_w_64) }, 14587 { bs3CpuInstr3_pinsrw_MM1_R9D_0FFh_icebp_c64, 255, RM_REG, T_MMX_SSE, 2, MM1, MM1, R9D, PASS_ELEMENTS(s_aValuesFF_w_64) }, 14588 { bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_MMX_SSE, 2, MM1, MM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_w_64) }, 14589 14590 { bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c64, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14591 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14592 { bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c64, 255, RM_REG, T_SSE, 2, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_w) }, 14593 { bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE, 2, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_w) }, 14594 14595 { bs3CpuInstr3_pinsrw_XMM8_R9D_000h_icebp_c64, 255, RM_REG, T_SSE, 2, XMM8, XMM8, R9D, PASS_ELEMENTS(s_aValues00_w) }, 14596 { bs3CpuInstr3_pinsrw_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE, 2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14597 { bs3CpuInstr3_pinsrw_XMM8_R9D_0FFh_icebp_c64, 255, RM_REG, T_SSE, 2, XMM8, XMM8, R9D, PASS_ELEMENTS(s_aValuesFF_w) }, 14598 { bs3CpuInstr3_pinsrw_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE, 2, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF_w) }, 14599 14600 { bs3CpuInstr3_pinsrw_XMM1_RDX_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 2, XMM1, XMM1, RDX, PASS_ELEMENTS(s_aValuesFF_w) }, 14601 { bs3CpuInstr3_pinsrw_XMM8_R9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 2, XMM8, XMM8, R9, PASS_ELEMENTS(s_aValuesFF_w) }, 14602 { bs3CpuInstr3_pinsrw_XMM1_RDX_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 2, XMM1, XMM1, RDX, PASS_ELEMENTS(s_aValues00_w) }, 14603 { bs3CpuInstr3_pinsrw_XMM8_R9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 2, XMM8, XMM8, R9, PASS_ELEMENTS(s_aValues00_w) }, 14604 14605 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c64, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_w) }, 14606 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14607 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 2, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_w) }, 14608 { bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_w) }, 14609 14610 { bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_000h_icebp_c64, 255, RM_REG, T_AVX_128, 2, XMM8, XMM9, R9D, PASS_ELEMENTS(s_aValues00_w) }, 14611 { bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00_w) }, 14612 { bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 2, XMM8, XMM9, R9D, PASS_ELEMENTS(s_aValuesFF_w) }, 14613 { bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF_w) }, 14614 14615 { bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValuesFF_d) }, 14616 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_d) }, 14617 { bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, XMM1, XMM1, EDX, PASS_ELEMENTS(s_aValues00_d) }, 14618 { bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_d) }, 14619 14620 { bs3CpuInstr3_pinsrd_XMM8_R9D_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 4, XMM8, XMM8, R9D, PASS_ELEMENTS(s_aValuesFF_d) }, 14621 { bs3CpuInstr3_pinsrd_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF_d) }, 14622 { bs3CpuInstr3_pinsrd_XMM8_R9D_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 4, XMM8, XMM8, R9D, PASS_ELEMENTS(s_aValues00_d) }, 14623 { bs3CpuInstr3_pinsrd_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM32, T_SSE4_1, 4, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00_d) }, 14624 14625 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValuesFF_d) }, 14626 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_d) }, 14627 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM1, XMM2, EDX, PASS_ELEMENTS(s_aValues00_d) }, 14628 { bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_d) }, 14629 14630 { bs3CpuInstr3_vpinsrd_XMM8_XMM9_R9D_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM8, XMM9, R9D, PASS_ELEMENTS(s_aValuesFF_d) }, 14631 { bs3CpuInstr3_vpinsrd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF_d) }, 14632 { bs3CpuInstr3_vpinsrd_XMM8_XMM9_R9D_000h_icebp_c64, 255, RM_REG, T_AVX_128, 4, XMM8, XMM9, R9D, PASS_ELEMENTS(s_aValues00_d) }, 14633 { bs3CpuInstr3_vpinsrd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00_d) }, 14634 14635 { bs3CpuInstr3_pinsrq_XMM1_RDX_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, XMM1, XMM1, RDX, PASS_ELEMENTS(s_aValuesFF_q) }, 14636 { bs3CpuInstr3_pinsrq_XMM1_FSxBX_0FFh_icebp_c64, 255, RM_MEM64, T_SSE4_1, 8, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValuesFF_q) }, 14637 { bs3CpuInstr3_pinsrq_XMM1_RDX_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, XMM1, XMM1, RDX, PASS_ELEMENTS(s_aValues00_q) }, 14638 { bs3CpuInstr3_pinsrq_XMM1_FSxBX_000h_icebp_c64, 255, RM_MEM64, T_SSE4_1, 8, XMM1, XMM1, FSxBX, PASS_ELEMENTS(s_aValues00_q) }, 14639 14640 { bs3CpuInstr3_pinsrq_XMM8_R9_0FFh_icebp_c64, 255, RM_REG, T_SSE4_1, 8, XMM8, XMM8, R9, PASS_ELEMENTS(s_aValuesFF_q) }, 14641 { bs3CpuInstr3_pinsrq_XMM8_FSxBX_0FFh_icebp_c64, 255, RM_MEM64, T_SSE4_1, 8, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValuesFF_q) }, 14642 { bs3CpuInstr3_pinsrq_XMM8_R9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, XMM8, XMM8, R9, PASS_ELEMENTS(s_aValues00_q) }, 14643 { bs3CpuInstr3_pinsrq_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM64, T_SSE4_1, 8, XMM8, XMM8, FSxBX, PASS_ELEMENTS(s_aValues00_q) }, 14644 14645 { bs3CpuInstr3_vpinsrq_XMM1_XMM2_RDX_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, RDX, PASS_ELEMENTS(s_aValuesFF_q) }, 14646 { bs3CpuInstr3_vpinsrq_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValuesFF_q) }, 14647 { bs3CpuInstr3_vpinsrq_XMM1_XMM2_RDX_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM1, XMM2, RDX, PASS_ELEMENTS(s_aValues00_q) }, 14648 { bs3CpuInstr3_vpinsrq_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM1, XMM2, FSxBX, PASS_ELEMENTS(s_aValues00_q) }, 14649 14650 { bs3CpuInstr3_vpinsrq_XMM8_XMM9_R9_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM8, XMM9, R9, PASS_ELEMENTS(s_aValuesFF_q) }, 14651 { bs3CpuInstr3_vpinsrq_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValuesFF_q) }, 14652 { bs3CpuInstr3_vpinsrq_XMM8_XMM9_R9_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, XMM8, XMM9, R9, PASS_ELEMENTS(s_aValues00_q) }, 14653 { bs3CpuInstr3_vpinsrq_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, XMM8, XMM9, FSxBX, PASS_ELEMENTS(s_aValues00_q) }, 14566 14654 }; 14567 14655 … … 14570 14658 return bs3CpuInstr3_WorkerTestType6(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 14571 14659 g_aXcptConfig5, RT_ELEMENTS(g_aXcptConfig5)); 14572 }14573 14574 14575 /*14576 * [V]PMADDWD - Multiply and add packed signed word integers.14577 */14578 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_pmaddwd(uint8_t bMode)14579 {14580 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues64W[] =14581 {14582 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),14583 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),14584 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },14585 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),14586 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),14587 /* => */ RTUINT256_INIT_C( 1, 2, 3, 0x3c0b6394364ffde4) },14588 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),14589 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),14590 /* => */ RTUINT256_INIT_C( 5, 6, 7, 0xebcf52b41ad4c573) },14591 };14592 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues128W[] =14593 {14594 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),14595 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),14596 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },14597 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),14598 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),14599 /* => */ RTUINT256_INIT_C( 9, 10, 0x26a0ce5421e769a4, 0x3c0b6394364ffde4) },14600 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),14601 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),14602 /* => */ RTUINT256_INIT_C( 13, 14, 0x1f5960b8c391d7d2, 0xebcf52b41ad4c573) },14603 };14604 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues256W[] =14605 {14606 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0),14607 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0),14608 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) },14609 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8),14610 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788),14611 /* => */ RTUINT256_INIT_C(0x07e3afd4052e4d24, 0x153e3d141186d964, 0x26a0ce5421e769a4, 0x3c0b6394364ffde4) },14612 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c880008000, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb),14613 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec80008000, 0x8800e95bbf9962c3, 0x43d3cda0238499fd),14614 /* => */ RTUINT256_INIT_C(0x0b692cfd1ae06638, 0xf3dcd01080000000, 0x1f5960b8c391d7d2, 0xebcf52b41ad4c573) },14615 };14616 14617 static BS3CPUINSTR3_TEST1_T const s_aTests16[] =14618 {14619 { bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W },14620 { bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W },14621 { bs3CpuInstr3_pmaddwd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W },14622 { bs3CpuInstr3_pmaddwd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W },14623 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W },14624 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W },14625 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W },14626 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W },14627 };14628 static BS3CPUINSTR3_TEST1_T const s_aTests32[] =14629 {14630 { bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W },14631 { bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W },14632 { bs3CpuInstr3_pmaddwd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W },14633 { bs3CpuInstr3_pmaddwd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W },14634 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W },14635 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W },14636 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W },14637 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W },14638 };14639 static BS3CPUINSTR3_TEST1_T const s_aTests64[] =14640 {14641 { bs3CpuInstr3_pmaddwd_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues64W), s_aValues64W },14642 { bs3CpuInstr3_pmaddwd_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues64W), s_aValues64W },14643 { bs3CpuInstr3_pmaddwd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues128W), s_aValues128W },14644 { bs3CpuInstr3_pmaddwd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W },14645 { bs3CpuInstr3_pmaddwd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues128W), s_aValues128W },14646 { bs3CpuInstr3_pmaddwd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W },14647 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues128W), s_aValues128W },14648 { bs3CpuInstr3_vpmaddwd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W },14649 { bs3CpuInstr3_vpmaddwd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues128W), s_aValues128W },14650 { bs3CpuInstr3_vpmaddwd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues128W), s_aValues128W },14651 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues256W), s_aValues256W },14652 { bs3CpuInstr3_vpmaddwd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W },14653 { bs3CpuInstr3_vpmaddwd_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues256W), s_aValues256W },14654 { bs3CpuInstr3_vpmaddwd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues256W), s_aValues256W },14655 };14656 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);14657 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode);14658 return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,14659 g_aXcptConfig4, RT_ELEMENTS(g_aXcptConfig4));14660 14660 } 14661 14661 … … 14745 14745 PBS3EXTCTX pExtCtxOut; 14746 14746 PBS3EXTCTX pExtCtx = bs3CpuInstr3AllocExtCtxs(&pExtCtxOut); 14747 BS3SETREGCTX pSetRegCtx;14747 BS3SETREGCTX SetRegCtx; 14748 14748 14749 14749 if (!pExtCtx) 14750 14750 return 0; 14751 14751 14752 pSetRegCtx.pExtCtx = pExtCtx; 14753 pSetRegCtx.pCtx = &Ctx; 14754 pSetRegCtx.fZeroYMMHi = false; 14755 pSetRegCtx.bMode = bMode; 14752 bs3CpuInstrXGetRegisterInit(&SetRegCtx, pExtCtx, &Ctx, bMode); 14756 14753 14757 14754 /* Ensure the structures are allocated before we sample the stack pointer. */ … … 14827 14824 * Set up the context and some expectations. 14828 14825 */ 14826 SetRegCtx.enmTop = BS3EXTCTXTOPMM_ZERO; 14827 14829 14828 /* initial value of destination register */ 14830 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iMmDst, &paValues[iVal].uDstInit);14829 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iMmDst, &paValues[iVal].uDstInit); 14831 14830 14832 14831 /* offsets register */ 14833 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iMmOff, &paValues[iVal].uOffsets);14832 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iMmOff, &paValues[iVal].uOffsets); 14834 14833 14835 14834 /* initial value of mask register */ 14836 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iMmMsk, &paValues[iVal].uMask);14835 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iMmMsk, &paValues[iVal].uMask); 14837 14836 14838 14837 /* Memory pointer. */ 14839 14838 puMemOp = fPf ? (PRTUINT256U)&pbBuf[X86_PAGE_SIZE * 2 + 256] : (PRTUINT256U)&pbBuf[X86_PAGE_SIZE]; 14840 14839 puMemOp = (PRTUINT256U)(((uint8_t BS3_FAR *)puMemOp) - paTests[iTest].cMemOpOffset); 14841 Bs3ExtCtxSetReg(& pSetRegCtx, BS3_FSxREG(paTests[iTest].iGpMem), (void *)puMemOp);14840 Bs3ExtCtxSetReg(&SetRegCtx, BS3_FSxREG(paTests[iTest].iGpMem), (void *)puMemOp); 14842 14841 14843 14842 /* … … 14856 14855 cErrors = Bs3TestSubErrorCount(); 14857 14856 14857 SetRegCtx.enmTop = BS3EXTCTXTOPMM_SET; 14858 14858 if (bXcptExpect == X86_XCPT_DB) 14859 14859 { 14860 14860 RTUINT256U zip = RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000); 14861 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iMmDst, &paValues[iVal].uDstOut);14862 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iMmMsk, &zip);14861 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iMmDst, &paValues[iVal].uDstOut); 14862 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iMmMsk, &zip); 14863 14863 } 14864 14864 14865 14865 if (bXcptExpect == X86_XCPT_PF) 14866 Bs3ExtCtxSetReg(& pSetRegCtx, paTests[iTest].iMmMsk, &paValues[iVal].uMaskPf);14866 Bs3ExtCtxSetReg(&SetRegCtx, paTests[iTest].iMmMsk, &paValues[iVal].uMaskPf); 14867 14867 14868 14868 #if defined(DEBUG_aeichner) /** @todo Necessary kludge on a i7-1068NG7. */ … … 15005 15005 static BS3CPUINSTR3_TEST7_T const s_aTests16[] = 15006 15006 { 15007 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15008 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15009 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15010 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15011 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15012 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15013 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15014 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15015 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15016 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15017 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15018 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15019 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15020 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15021 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15022 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15023 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15024 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15025 15026 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15027 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15028 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15029 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15030 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15031 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15032 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15033 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15034 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15035 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15036 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15037 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15038 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15039 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15040 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15041 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15042 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15043 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15007 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15008 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15009 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15010 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15011 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15012 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15013 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15014 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15015 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15016 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15017 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15018 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15019 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15020 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15021 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15022 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15023 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15024 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15025 15026 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15027 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15028 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15029 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15030 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15031 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15032 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15033 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15034 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15035 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15036 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15037 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15038 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15039 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15040 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15041 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15042 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15043 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15044 15044 }; 15045 15045 static BS3CPUINSTR3_TEST7_T const s_aTests32[] = 15046 15046 { 15047 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15048 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15049 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15050 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15051 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15052 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15053 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15054 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15055 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15056 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15057 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15058 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15059 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15060 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15061 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15062 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15063 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15064 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15065 15066 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15067 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15068 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15069 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15070 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15071 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15072 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15073 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15074 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15075 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15076 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15077 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15078 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15079 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15080 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15081 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15082 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15083 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15047 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15048 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15049 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15050 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15051 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15052 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15053 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15054 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15055 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15056 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15057 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15058 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15059 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15060 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15061 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15062 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15063 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15064 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15065 15066 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15067 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15068 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15069 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15070 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15071 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15072 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15073 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15074 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15075 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15076 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15077 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15078 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15079 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15080 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15081 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15082 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15083 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15084 15084 }; 15085 15085 static BS3CPUINSTR3_TEST7_T const s_aTests64[] = 15086 15086 { 15087 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15088 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15089 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15090 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15091 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15092 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15093 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15094 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15095 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15096 { bs3CpuInstr3_vgatherdps_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15097 { bs3CpuInstr3_vgatherdps_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15098 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15099 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15100 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15101 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15102 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15103 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15104 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15105 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15106 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15107 { bs3CpuInstr3_vgatherdps_YMM0_RBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15108 { bs3CpuInstr3_vgatherdps_YMM8_R8D_plus_0_plus_YMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, YMM9, YMM10, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15109 15110 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15111 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15112 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15113 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15114 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15115 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15116 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15117 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15118 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15119 { bs3CpuInstr3_vpgatherdd_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15120 { bs3CpuInstr3_vpgatherdd_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15121 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15122 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15123 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15124 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15125 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x2), s_aValues32_32x2},15126 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15127 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15128 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15129 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15130 { bs3CpuInstr3_vpgatherdd_YMM0_RBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, YMM1, YMM2, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15131 { bs3CpuInstr3_vpgatherdd_YMM8_R8D_plus_0_plus_YMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, YMM9, YMM10, RT_ELEMENTS(s_aValues32_32x1), s_aValues32_32x1},15087 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15088 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15089 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15090 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15091 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15092 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15093 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15094 { bs3CpuInstr3_vgatherdps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15095 { bs3CpuInstr3_vgatherdps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15096 { bs3CpuInstr3_vgatherdps_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15097 { bs3CpuInstr3_vgatherdps_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, PASS_ELEMENTS(s_aValues32_32x1) }, 15098 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15099 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15100 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15101 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15102 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15103 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15104 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15105 { bs3CpuInstr3_vgatherdps_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15106 { bs3CpuInstr3_vgatherdps_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15107 { bs3CpuInstr3_vgatherdps_YMM0_RBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15108 { bs3CpuInstr3_vgatherdps_YMM8_R8D_plus_0_plus_YMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, YMM9, YMM10, PASS_ELEMENTS(s_aValues32_32x1) }, 15109 15110 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15111 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15112 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15113 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15114 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15115 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15116 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15117 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15118 { bs3CpuInstr3_vpgatherdd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15119 { bs3CpuInstr3_vpgatherdd_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15120 { bs3CpuInstr3_vpgatherdd_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, PASS_ELEMENTS(s_aValues32_32x1) }, 15121 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15122 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15123 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15124 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15125 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x2) }, 15126 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15127 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15128 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15129 { bs3CpuInstr3_vpgatherdd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15130 { bs3CpuInstr3_vpgatherdd_YMM0_RBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues32_32x1) }, 15131 { bs3CpuInstr3_vpgatherdd_YMM8_R8D_plus_0_plus_YMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, YMM9, YMM10, PASS_ELEMENTS(s_aValues32_32x1) }, 15132 15132 }; 15133 15133 static BS3CPUINSTR3_TEST7_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST7_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 15253 15253 static BS3CPUINSTR3_TEST7_T const s_aTests16[] = 15254 15254 { 15255 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15256 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15257 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15258 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15259 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2X), s_aValues32_64x2X},15260 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15261 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15262 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15263 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15264 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15265 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15266 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15267 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15268 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2Y), s_aValues32_64x2Y},15269 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15270 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15271 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15272 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15273 15274 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15275 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15276 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15277 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15278 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2X), s_aValues32_64x2X},15279 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15280 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15281 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15282 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15283 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15284 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15285 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15286 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15287 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2Y), s_aValues32_64x2Y},15288 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15289 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15290 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15291 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15255 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15256 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15257 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15258 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15259 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2X) }, 15260 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15261 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15262 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15263 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15264 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15265 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15266 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15267 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15268 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2Y) }, 15269 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15270 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15271 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15272 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15273 15274 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15275 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15276 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15277 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15278 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2X) }, 15279 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15280 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15281 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15282 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15283 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15284 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15285 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15286 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15287 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2Y) }, 15288 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15289 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15290 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15291 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15292 15292 }; 15293 15293 static BS3CPUINSTR3_TEST7_T const s_aTests32[] = 15294 15294 { 15295 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15296 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15297 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15298 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15299 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2X), s_aValues32_64x2X},15300 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15301 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15302 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15303 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15304 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15305 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15306 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15307 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15308 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2Y), s_aValues32_64x2Y},15309 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15310 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15311 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15312 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15313 15314 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15315 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15316 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15317 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15318 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2X), s_aValues32_64x2X},15319 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15320 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15321 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15322 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15323 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15324 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15325 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15326 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15327 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2Y), s_aValues32_64x2Y},15328 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15329 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15330 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15331 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15295 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15296 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15297 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15298 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15299 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2X) }, 15300 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15301 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15302 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15303 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15304 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15305 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15306 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15307 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15308 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2Y) }, 15309 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15310 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15311 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15312 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15313 15314 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15315 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15316 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15317 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15318 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2X) }, 15319 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15320 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15321 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15322 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15323 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15324 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15325 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15326 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15327 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2Y) }, 15328 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15329 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15330 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15331 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15332 15332 }; 15333 15333 static BS3CPUINSTR3_TEST7_T const s_aTests64[] = 15334 15334 { 15335 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15336 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15337 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15338 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15339 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2X), s_aValues32_64x2X},15340 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15341 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15342 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15343 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15344 { bs3CpuInstr3_vgatherqps_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15345 { bs3CpuInstr3_vgatherqps_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15346 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15347 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15348 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15349 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15350 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2Y), s_aValues32_64x2Y},15351 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15352 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15353 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15354 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15355 { bs3CpuInstr3_vgatherqps_XMM0_RBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, RBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15356 { bs3CpuInstr3_vgatherqps_XMM8_R8D_plus_0_plus_YMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM8, R8D, YMM9, XMM10, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15357 15358 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15359 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15360 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15361 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15362 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2X), s_aValues32_64x2X},15363 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15364 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15365 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15366 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15367 { bs3CpuInstr3_vpgatherqd_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15368 { bs3CpuInstr3_vpgatherqd_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, RT_ELEMENTS(s_aValues32_64x1X), s_aValues32_64x1X},15369 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15370 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15371 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15372 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15373 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x2Y), s_aValues32_64x2Y},15374 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15375 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15376 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15377 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15378 { bs3CpuInstr3_vpgatherqd_XMM0_RBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, RBX, YMM1, XMM2, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15379 { bs3CpuInstr3_vpgatherqd_XMM8_R8D_plus_0_plus_YMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM8, R8D, YMM9, XMM10, RT_ELEMENTS(s_aValues32_64x1Y), s_aValues32_64x1Y},15335 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15336 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15337 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15338 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15339 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2X) }, 15340 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15341 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15342 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15343 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15344 { bs3CpuInstr3_vgatherqps_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15345 { bs3CpuInstr3_vgatherqps_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, PASS_ELEMENTS(s_aValues32_64x1X) }, 15346 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15347 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15348 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15349 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15350 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2Y) }, 15351 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15352 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15353 { bs3CpuInstr3_vgatherqps_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15354 { bs3CpuInstr3_vgatherqps_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15355 { bs3CpuInstr3_vgatherqps_XMM0_RBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, RBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15356 { bs3CpuInstr3_vgatherqps_XMM8_R8D_plus_0_plus_YMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM8, R8D, YMM9, XMM10, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15357 15358 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15359 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15360 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15361 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15362 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2X) }, 15363 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15364 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15365 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15366 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15367 { bs3CpuInstr3_vpgatherqd_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1X) }, 15368 { bs3CpuInstr3_vpgatherqd_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, PASS_ELEMENTS(s_aValues32_64x1X) }, 15369 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15370 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15371 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15372 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15373 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_0_plus_YMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x2Y) }, 15374 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_2_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15375 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_2_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15376 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_plus_153_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15377 { bs3CpuInstr3_vpgatherqd_XMM0_EBX_less_153_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, XMM0, EBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15378 { bs3CpuInstr3_vpgatherqd_XMM0_RBX_plus_0_plus_YMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM0, RBX, YMM1, XMM2, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15379 { bs3CpuInstr3_vpgatherqd_XMM8_R8D_plus_0_plus_YMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, XMM8, R8D, YMM9, XMM10, PASS_ELEMENTS(s_aValues32_64x1Y) }, 15380 15380 }; 15381 15381 static BS3CPUINSTR3_TEST7_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST7_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 15454 15454 static BS3CPUINSTR3_TEST7_T const s_aTests16[] = 15455 15455 { 15456 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15457 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15458 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15459 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15460 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15461 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15462 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15463 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15464 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15465 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15466 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15467 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15468 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15469 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15470 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15471 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15472 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15473 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15474 15475 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15476 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15477 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15478 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15479 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15480 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15481 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15482 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15483 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15484 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15485 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15486 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15487 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15488 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15489 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15490 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15491 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15492 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15456 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15457 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15458 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15459 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15460 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15461 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15462 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15463 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15464 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15465 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15466 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15467 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15468 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15469 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15470 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15471 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15472 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15473 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15474 15475 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15476 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15477 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15478 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15479 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15480 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15481 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15482 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15483 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15484 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15485 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15486 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15487 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15488 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15489 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15490 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15491 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15492 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15493 15493 }; 15494 15494 static BS3CPUINSTR3_TEST7_T const s_aTests32[] = 15495 15495 { 15496 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15497 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15498 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15499 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15500 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15501 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15502 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15503 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15504 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15505 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15506 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15507 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15508 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15509 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15510 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15511 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15512 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15513 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15514 15515 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15516 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15517 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15518 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15519 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15520 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15521 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15522 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15523 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15524 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15525 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15526 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15527 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15528 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15529 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15530 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15531 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15532 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15496 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15497 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15498 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15499 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15500 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15501 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15502 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15503 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15504 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15505 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15506 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15507 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15508 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15509 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15510 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15511 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15512 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15513 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15514 15515 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15516 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15517 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15518 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15519 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15520 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15521 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15522 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15523 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15524 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15525 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15526 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15527 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15528 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15529 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15530 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15531 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15532 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15533 15533 }; 15534 15534 static BS3CPUINSTR3_TEST7_T const s_aTests64[] = 15535 15535 { 15536 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15537 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15538 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15539 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15540 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15541 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15542 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15543 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15544 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15545 { bs3CpuInstr3_vgatherdpd_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15546 { bs3CpuInstr3_vgatherdpd_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15547 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15548 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15549 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15550 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15551 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15552 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15553 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15554 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15555 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15556 { bs3CpuInstr3_vgatherdpd_YMM0_RBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15557 { bs3CpuInstr3_vgatherdpd_YMM8_R8D_plus_0_plus_XMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, XMM9, YMM10, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15558 15559 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15560 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15561 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15562 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15563 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15564 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15565 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15566 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15567 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15568 { bs3CpuInstr3_vpgatherdq_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15569 { bs3CpuInstr3_vpgatherdq_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15570 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15571 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15572 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15573 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15574 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x2), s_aValues64_32x2},15575 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15576 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15577 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15578 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15579 { bs3CpuInstr3_vpgatherdq_YMM0_RBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, XMM1, YMM2, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15580 { bs3CpuInstr3_vpgatherdq_YMM8_R8D_plus_0_plus_XMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, XMM9, YMM10, RT_ELEMENTS(s_aValues64_32x1), s_aValues64_32x1},15536 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15537 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15538 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15539 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15540 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15541 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15542 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15543 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15544 { bs3CpuInstr3_vgatherdpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15545 { bs3CpuInstr3_vgatherdpd_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15546 { bs3CpuInstr3_vgatherdpd_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, PASS_ELEMENTS(s_aValues64_32x1) }, 15547 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15548 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15549 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15550 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15551 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15552 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15553 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15554 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15555 { bs3CpuInstr3_vgatherdpd_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15556 { bs3CpuInstr3_vgatherdpd_YMM0_RBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15557 { bs3CpuInstr3_vgatherdpd_YMM8_R8D_plus_0_plus_XMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, XMM9, YMM10, PASS_ELEMENTS(s_aValues64_32x1) }, 15558 15559 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15560 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15561 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15562 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15563 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15564 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15565 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15566 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15567 { bs3CpuInstr3_vpgatherdq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15568 { bs3CpuInstr3_vpgatherdq_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15569 { bs3CpuInstr3_vpgatherdq_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, PASS_ELEMENTS(s_aValues64_32x1) }, 15570 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15571 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15572 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15573 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15574 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_0_plus_XMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x2) }, 15575 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_2_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15576 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_2_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15577 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_plus_153_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15578 { bs3CpuInstr3_vpgatherdq_YMM0_EBX_less_153_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15579 { bs3CpuInstr3_vpgatherdq_YMM0_RBX_plus_0_plus_XMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, XMM1, YMM2, PASS_ELEMENTS(s_aValues64_32x1) }, 15580 { bs3CpuInstr3_vpgatherdq_YMM8_R8D_plus_0_plus_XMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, XMM9, YMM10, PASS_ELEMENTS(s_aValues64_32x1) }, 15581 15581 }; 15582 15582 static BS3CPUINSTR3_TEST7_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST7_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 15702 15702 static BS3CPUINSTR3_TEST7_T const s_aTests16[] = 15703 15703 { 15704 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15705 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15706 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15707 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15708 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x2X), s_aValues64_64x2X},15709 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15710 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15711 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15712 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15713 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15714 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15715 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15716 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15717 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x2Y), s_aValues64_64x2Y},15718 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15719 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15720 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15721 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15722 15723 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15724 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15725 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15726 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15727 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x2X), s_aValues64_64x2X},15728 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15729 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15730 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15731 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15732 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15733 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15734 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15735 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15736 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x2Y), s_aValues64_64x2Y},15737 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15738 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15739 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15740 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15704 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15705 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15706 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15707 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15708 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x2X) }, 15709 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15710 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15711 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15712 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15713 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15714 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15715 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15716 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15717 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x2Y) }, 15718 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15719 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15720 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15721 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15722 15723 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15724 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15725 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15726 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15727 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x2X) }, 15728 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15729 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15730 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15731 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15732 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15733 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15734 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c16, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15735 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15736 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c16, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x2Y) }, 15737 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15738 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15739 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15740 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c16, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15741 15741 }; 15742 15742 static BS3CPUINSTR3_TEST7_T const s_aTests32[] = 15743 15743 { 15744 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15745 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15746 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15747 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15748 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x2X), s_aValues64_64x2X},15749 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15750 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15751 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15752 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15753 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15754 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15755 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15756 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15757 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x2Y), s_aValues64_64x2Y},15758 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15759 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15760 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15761 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15762 15763 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15764 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15765 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15766 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15767 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x2X), s_aValues64_64x2X},15768 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15769 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15770 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15771 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15772 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15773 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15774 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15775 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15776 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x2Y), s_aValues64_64x2Y},15777 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15778 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15779 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15780 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15744 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15745 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15746 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15747 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15748 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x2X) }, 15749 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15750 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15751 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15752 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15753 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15754 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15755 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15756 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15757 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x2Y) }, 15758 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15759 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15760 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15761 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15762 15763 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15764 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15765 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15766 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15767 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x2X) }, 15768 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15769 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15770 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15771 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15772 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15773 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15774 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c32, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15775 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15776 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c32, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x2Y) }, 15777 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15778 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15779 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15780 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c32, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15781 15781 }; 15782 15782 static BS3CPUINSTR3_TEST7_T const s_aTests64[] = 15783 15783 { 15784 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15785 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15786 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15787 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15788 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x2X), s_aValues64_64x2X},15789 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15790 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15791 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15792 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15793 { bs3CpuInstr3_vgatherqpd_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15794 { bs3CpuInstr3_vgatherqpd_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15795 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15796 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15797 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15798 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15799 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x2Y), s_aValues64_64x2Y},15800 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15801 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15802 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15803 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15804 { bs3CpuInstr3_vgatherqpd_YMM0_RBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15805 { bs3CpuInstr3_vgatherqpd_YMM8_R8D_plus_0_plus_YMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, YMM9, YMM10, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15806 15807 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15808 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15809 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15810 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15811 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x2X), s_aValues64_64x2X},15812 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15813 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15814 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15815 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15816 { bs3CpuInstr3_vpgatherqq_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15817 { bs3CpuInstr3_vpgatherqq_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, RT_ELEMENTS(s_aValues64_64x1X), s_aValues64_64x1X},15818 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15819 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15820 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, RT_ELEMENTS(s_aValuesUD), s_aValuesUD},15821 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15822 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x2Y), s_aValues64_64x2Y},15823 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15824 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15825 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15826 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15827 { bs3CpuInstr3_vpgatherqq_YMM0_RBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, YMM1, YMM2, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15828 { bs3CpuInstr3_vpgatherqq_YMM8_R8D_plus_0_plus_YMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, YMM9, YMM10, RT_ELEMENTS(s_aValues64_64x1Y), s_aValues64_64x1Y},15784 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15785 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15786 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15787 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15788 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x2X) }, 15789 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15790 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15791 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15792 { bs3CpuInstr3_vgatherqpd_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15793 { bs3CpuInstr3_vgatherqpd_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15794 { bs3CpuInstr3_vgatherqpd_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, PASS_ELEMENTS(s_aValues64_64x1X) }, 15795 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15796 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15797 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15798 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15799 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x2Y) }, 15800 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15801 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15802 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15803 { bs3CpuInstr3_vgatherqpd_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15804 { bs3CpuInstr3_vgatherqpd_YMM0_RBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15805 { bs3CpuInstr3_vgatherqpd_YMM8_R8D_plus_0_plus_YMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, YMM9, YMM10, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15806 15807 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM0_x_1_XMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM0, XMM2, PASS_ELEMENTS(s_aValuesUD) }, 15808 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM0, PASS_ELEMENTS(s_aValuesUD) }, 15809 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM1, PASS_ELEMENTS(s_aValuesUD) }, 15810 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15811 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_0_plus_XMM1_x_2_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x2X) }, 15812 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15813 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_2_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15814 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_plus_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15815 { bs3CpuInstr3_vpgatherqq_XMM0_EBX_less_153_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_128, XMM0, EBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15816 { bs3CpuInstr3_vpgatherqq_XMM0_RBX_plus_0_plus_XMM1_x_1_XMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM0, RBX, XMM1, XMM2, PASS_ELEMENTS(s_aValues64_64x1X) }, 15817 { bs3CpuInstr3_vpgatherqq_XMM8_R8D_plus_0_plus_XMM9_x_1_XMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_128, XMM8, R8D, XMM9, XMM10, PASS_ELEMENTS(s_aValues64_64x1X) }, 15818 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM0_x_1_YMM2_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM0, YMM2, PASS_ELEMENTS(s_aValuesUD) }, 15819 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM0_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM0, PASS_ELEMENTS(s_aValuesUD) }, 15820 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM1_icebp_c64, X86_XCPT_UD, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM1, PASS_ELEMENTS(s_aValuesUD) }, 15821 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15822 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_0_plus_YMM1_x_2_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x2Y) }, 15823 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15824 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_2_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -2, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15825 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_plus_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15826 { bs3CpuInstr3_vpgatherqq_YMM0_EBX_less_153_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, -153, T_AVX2_256, YMM0, EBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15827 { bs3CpuInstr3_vpgatherqq_YMM0_RBX_plus_0_plus_YMM1_x_1_YMM2_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM0, RBX, YMM1, YMM2, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15828 { bs3CpuInstr3_vpgatherqq_YMM8_R8D_plus_0_plus_YMM9_x_1_YMM10_icebp_c64, X86_XCPT_DB, 0, T_AVX2_256, YMM8, R8D, YMM9, YMM10, PASS_ELEMENTS(s_aValues64_64x1Y) }, 15829 15829 }; 15830 15830 static BS3CPUINSTR3_TEST7_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST7_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r106838 r106871 342 342 #define FP64_FRAC_QNAN_MAX 0xfffffffffffff 343 343 /** The min fraction value for a single-precision floating-point quiet NAN. */ 344 #define FP64_FRAC_QNAN_MIN 0x8000000000000 344 #define FP64_FRAC_QNAN_MIN 0x8000000000000LLU 345 345 346 346 #define FP64_NORM_MAX(a_Sign) RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_NORM_MAX, FP64_EXP_NORM_MAX) … … 2711 2711 bool fFpXcptExpected; 2712 2712 uint8_t cbBytesExecuted; 2713 BS3SETREGCTX pSetRegCtx;2713 BS3SETREGCTX SetRegCtx; 2714 2714 2715 2715 uint32_t uSpecifiedMask, uExpectedMask, uImpliedMask, uCombinedMask, uMaskedMask, uUnmaskedMask, uThisMask; … … 2887 2887 } 2888 2888 2889 pSetRegCtx.pExtCtx = pExtCtx; 2890 pSetRegCtx.pCtx = pCtx; 2891 pSetRegCtx.fZeroYMMHi = fSseInstr; 2892 pSetRegCtx.bMode = bMode; 2889 bs3CpuInstrXGetRegisterInit(&SetRegCtx, pExtCtx, pCtx, bMode); 2890 SetRegCtx.fZeroYMMHi = fSseInstr; 2891 SetRegCtx.enmTop = BS3EXTCTXTOPMM_ZERO; 2893 2892 2894 2893 /* Source #1 (/ destination for SSE). */ … … 2901 2900 MemOpExpect.ymm = pValues->uSrc1.ymm; 2902 2901 } 2903 else Bs3ExtCtxSetReg(& pSetRegCtx, pTest->iRegSrc1, (void*)&pValues->uSrc1);2902 else Bs3ExtCtxSetReg(&SetRegCtx, pTest->iRegSrc1, (void*)&pValues->uSrc1); 2904 2903 2905 2904 /* Source #2. */ … … 2910 2909 MemOpExpect.ymm = pValues->uSrc2.ymm; 2911 2910 } 2912 else Bs3ExtCtxSetReg(& pSetRegCtx, pTest->iRegSrc2, (void*)&pValues->uSrc2);2911 else Bs3ExtCtxSetReg(&SetRegCtx, pTest->iRegSrc2, (void*)&pValues->uSrc2); 2913 2912 2914 2913 /* Memory pointer. */ … … 2939 2938 */ 2940 2939 cErrors = Bs3TestSubErrorCount(); 2940 2941 SetRegCtx.enmTop = BS3EXTCTXTOPMM_SET; 2941 2942 if (fNonFpOK && !fFpXcptExpected && pTest->iRegDst < FSxDI) 2942 Bs3ExtCtxSetReg(& pSetRegCtx, pTest->iRegDst, (void*)&pValues->uDstOut);2943 Bs3ExtCtxSetReg(&SetRegCtx, pTest->iRegDst, (void*)&pValues->uDstOut); 2943 2944 #if defined(DEBUG_aeichner) /** @todo Necessary kludge on a i7-1068NG7. */ 2944 2945 if ( pExtCtx->enmMethod == BS3EXTCTXMETHOD_XSAVE -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-x-regs.c32
r106864 r106871 463 463 { 464 464 /** Pointer to test context. */ 465 PBS3EXTCTX pExtCtx;465 PBS3EXTCTX pExtCtx; 466 466 /** Pointer to register context; for BS3_REGISTER_FAMILY_MEMREF, all GPR families */ 467 PBS3REGCTX pCtx;467 PBS3REGCTX pCtx; 468 468 /** Whether to zero YMM-high bits when setting XMM; for BS3_REGISTER_FAMILY_XMM */ 469 bool fZeroYMMHi; 469 bool fZeroYMMHi; 470 /** Tag word control: BS3EXTCTXTOPMM_{ZERO,SET,AS_IS}; for BS3_REGISTER_FAMILY_MMX */ 471 BS3EXTCTXTOPMM enmTop; 470 472 /** Current execution mode; for BS3_REGISTER_FAMILY_64BIT */ 471 uint8_t bMode;473 uint8_t bMode; 472 474 } BS3SETREGCTX; 473 475 typedef BS3SETREGCTX BS3_FAR *PBS3SETREGCTX; 476 477 /** 478 * Initialize a SetReg context to reasonable values. 479 * 480 * @param pSetRegCtx The context to initialize. 481 * @param pExtCtx Pointer to test context. 482 * @param pCtx Pointer to register context. 483 * @param bMode Current execution mode. 484 */ 485 static void bs3CpuInstrXGetRegisterInit(PBS3SETREGCTX pSetRegCtx, PBS3EXTCTX pExtCtx, PBS3REGCTX pCtx, uint8_t bMode) 486 { 487 pSetRegCtx->pExtCtx = pExtCtx; 488 pSetRegCtx->pCtx = pCtx; 489 pSetRegCtx->bMode = bMode; 490 pSetRegCtx->fZeroYMMHi = false; 491 pSetRegCtx->enmTop = BS3EXTCTXTOPMM_ZERO; 492 } 474 493 475 494 /** … … 477 496 * This returns the size of sub-registers, e.g. AL = 1. 478 497 * 479 * @returns Size of register in bytes. Returns 0 for currently unsupported registers. 498 * @param pSetRegCtx Arguments to this function (see below). 499 * @param uReg The register identity value to report on. 500 * @returns size_t Size of register in bytes; 0 for currently unsupported registers. 480 501 */ 481 502 static size_t bs3CpuInstrXGetRegisterSize(PBS3SETREGCTX pSetRegCtx, uint16_t uReg) … … 506 527 * This returns the full size of the register containing a sub-register, e.g. AL = 4 or 8. 507 528 * 508 * @returns Size of register in bytes. Returns 0 for currently unsupported registers. 529 * @param pSetRegCtx Arguments to this function (see below). 530 * @param uReg The register identity value to report on. 531 * @returns size_t Size of register in bytes; 0 for currently unsupported registers. 509 532 */ 510 533 static size_t bs3CpuInstrXGetRegisterFullSize(PBS3SETREGCTX pSetRegCtx, uint16_t uReg) … … 570 593 case BS3_REGISTER_FAMILY_OTHER: 571 594 if (BS3_REGISTER_IS_MMX(uReg)) 572 return Bs3ExtCtxSetMm(pSetRegCtx->pExtCtx, uRegNum, pu256Val->au64[0], BS3EXTCTXTOPMM_SET);595 return Bs3ExtCtxSetMm(pSetRegCtx->pExtCtx, uRegNum, pu256Val->au64[0], pSetRegCtx->enmTop); 573 596 break; 574 597 case BS3_REGISTER_FAMILY_ZMM:
Note:
See TracChangeset
for help on using the changeset viewer.