VirtualBox

Ignore:
Timestamp:
Oct 28, 2024 8:11:30 AM (6 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165619
Message:

ValidationKit/bootsectors: some cleanup; bugref:9898; bugref:10658; jiraref:VBP-1206

  • update bs3-cpu-instr-3 worker #6 to use new SetReg scheme
  • replace misnamed _NORM_SAFE_INT_MIN with equivalent _NORM_MIN values
  • add BS3_REGISTER_IS_MEMREF(), BS3_REGISTER_MEMREF_TO() macros
Location:
trunk/src/VBox/ValidationKit/bootsectors
Files:
3 edited

Legend:

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

    r106733 r106736  
    1423914239    uint8_t         enmType;
    1424014240    uint8_t         cbGpr;
    14241     uint8_t         cBitsGprValMask;
     14241    uint8_t         iMediaRegDst;
     14242    uint8_t         iMediaRegSrc;
    1424214243    uint8_t         iGprReg;
    14243     uint8_t         iMediaRegSrc;
    14244     uint8_t         iMediaRegDst;
    1424514244    uint8_t         cValues;
    1424614245    BS3CPUINSTR3_TEST6_VALUES_T const BS3_FAR *paValues;
     
    1427214271    PBS3EXTCTX                  pExtCtxOut;
    1427314272    PBS3EXTCTX                  pExtCtx = bs3CpuInstr3AllocExtCtxs(&pExtCtxOut);
     14273    BS3SETREGCTX                pSetRegCtx;
    1427414274    if (!pExtCtx)
    1427514275        return 0;
     
    1428514285    Bs3RegCtxSaveForMode(&Ctx, bMode, 1024);
    1428614286    bs3CpuInstr3SetupSseAndAvx(&Ctx, pExtCtx);
     14287
     14288    pSetRegCtx.pExtCtx = pExtCtx;
     14289    pSetRegCtx.pCtx = &Ctx;
     14290    pSetRegCtx.bMode = bMode;
    1428714291
    1428814292    /*
     
    1432414328                                                : fSseInstr ? paConfigs[iCfg].bXcptSse
    1432514329                                                : BS3_MODE_IS_RM_OR_V86(bMode) ? X86_XCPT_UD : paConfigs[iCfg].bXcptAvx;
    14326                     uint64_t const  fGprValMask = paTests[iTest].cBitsGprValMask == 64 ? UINT64_MAX
    14327                                                 : RT_BIT_64(paTests[iTest].cBitsGprValMask) - 1;
    1432814330                    uint16_t        idTestStep  = bRing * 10000 + iCfg * 100 + iTest * 10;
    1432914331                    unsigned        cRecompRuns = 0;
     
    1433514337                    if ((paTests[iTest].enmRm == RM_REG || paTests[iTest].enmRm == RM_MEM8) && (!paConfigs[iCfg].fAligned || paConfigs[iCfg].fAlignCheck || fPf))
    1433614338                        continue;
     14339
     14340                    pSetRegCtx.fZeroYMMHi = fSseInstr;
    1433714341
    1433814342                    /* #AC is only raised in ring-3.: */
     
    1436614370                             */
    1436714371                            /* source - media */
    14368                             BS3_ASSERT(paTests[iTest].iMediaRegSrc != UINT8_MAX);
    14369                             if (fMmxInstr)
    14370                                 Bs3ExtCtxSetMm(pExtCtx, paTests[iTest].iMediaRegSrc, paValues[iVal].uMediaSrc.QWords.qw0, BS3EXTCTXTOPMM_ZERO);
    14371                             else if (fSseInstr)
    14372                                 Bs3ExtCtxSetXmm(pExtCtx, paTests[iTest].iMediaRegSrc, &paValues[iVal].uMediaSrc.DQWords.dqw0);
    14373                             else
    14374                                 Bs3ExtCtxSetYmm(pExtCtx, paTests[iTest].iMediaRegSrc, &paValues[iVal].uMediaSrc, 32);
     14372                            Bs3ExtCtxSetReg(&pSetRegCtx, paTests[iTest].iMediaRegSrc, &paValues[iVal].uMediaSrc);
    1437514373
    1437614374                            /* source - gpr/mem */
    14377                             if (paTests[iTest].iGprReg == UINT8_MAX)
     14375                            if (BS3_REGISTER_IS_MEMREF(paTests[iTest].iGprReg))
    1437814376                            {
    1437914377                                BS3_ASSERT(paTests[iTest].enmRm >= RM_MEM);
    1438014378                                Bs3MemSet(&uMemOpExpect, 0xcc, sizeof(uMemOpExpect));
    1438114379                                if (bXcptExpect == X86_XCPT_DB)
    14382                                     switch (paTests[iTest].cbGpr)
    14383                                     {
    14384                                         case 1: uMemOpExpect.au8[0]  = (uint8_t) (paValues[iVal].uGpr & fGprValMask); break;
    14385                                         case 2: uMemOpExpect.au16[0] = (uint16_t)(paValues[iVal].uGpr & fGprValMask); break;
    14386                                         case 4: uMemOpExpect.au32[0] = (uint32_t)(paValues[iVal].uGpr & fGprValMask); break;
    14387                                         case 8: uMemOpExpect.au64[0] =           (paValues[iVal].uGpr & fGprValMask); break;
    14388                                         default: BS3_ASSERT(0);
    14389                                     }
     14380                                    Bs3MemCpy(&uMemOpExpect, &paValues[iVal].uGpr, paTests[iTest].cbGpr);
    1439014381                                Bs3MemCpy(puMemOpAlias, &uMemOpExpect, cbMemOp);
    1439114382                            }
    1439214383                            else
    14393                                 Bs3RegCtxSetGpr(&Ctx, paTests[iTest].iGprReg, paValues[iVal].uGpr & fGprValMask, paTests[iTest].cbGpr);
     14384                                Bs3ExtCtxSetReg(&pSetRegCtx, paTests[iTest].iGprReg, (PCRTUINT256U)&paValues[iVal].uGpr);
    1439414385
    1439514386                            /* Memory pointer. */
    1439614387                            if (paTests[iTest].enmRm >= RM_MEM)
    14397                             {
    14398                                 BS3_ASSERT(paTests[iTest].iGprReg == UINT8_MAX || paTests[iTest].iMediaRegSrc == UINT8_MAX);
    14399                                 Bs3RegCtxSetGrpSegFromCurPtr(&Ctx, &Ctx.rbx, &Ctx.fs, puMemOp);
    14400                             }
     14388                                Bs3ExtCtxSetReg(&pSetRegCtx, paTests[iTest].iGprReg, (void *)puMemOp);
    1440114389
    1440214390                            /*
     
    1441814406
    1441914407                            if (bXcptExpect == X86_XCPT_DB)
    14420                             {
    14421                                 if (fMmxInstr)
    14422                                     Bs3ExtCtxSetMm(pExtCtx, paTests[iTest].iMediaRegDst, paValues[iVal].uMediaDst.QWords.qw0, BS3EXTCTXTOPMM_SET);
    14423                                 else if (fSseInstr)
    14424                                     Bs3ExtCtxSetXmm(pExtCtx, paTests[iTest].iMediaRegDst, &paValues[iVal].uMediaDst.DQWords.dqw0);
    14425                                 else
    14426                                     Bs3ExtCtxSetYmm(pExtCtx, paTests[iTest].iMediaRegDst, &paValues[iVal].uMediaDst, 32);
    14427                             }
     14408                                Bs3ExtCtxSetReg(&pSetRegCtx, paTests[iTest].iMediaRegDst, &paValues[iVal].uMediaDst);
    1442814409
    1442914410                            Bs3TestCheckExtCtx(pExtCtxOut, pExtCtx, 0 /*fFlags*/, pszMode, idTestStep);
     
    1455014531    static BS3CPUINSTR3_TEST6_T const s_aTests16[] =
    1455114532    {
    14552         {  bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c16,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14553         {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14554         {  bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c16,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14555         {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14556 
    14557         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c16,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14558         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14559         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c16,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14560         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14561 
    14562         {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c16,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14563         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c16,        X86_XCPT_AC, RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14564         {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c16,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
    14565         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c16,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
    14566 
    14567         {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c16,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14568         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14569         {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c16,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14570         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14571 
    14572         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c16,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14573         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14574         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c16,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14575         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14576 
    14577         {  bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c16,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14578         {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14579         {  bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c16,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14580         {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14581         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14582         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14583         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c16,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14584         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     14533        {  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    },
     14534        {  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    },
     14535        {  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    },
     14536        {  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    },
     14537
     14538        {  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    },
     14539        {  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    },
     14540        {  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    },
     14541        {  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    },
     14542
     14543        {  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    },
     14544        {  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    },
     14545        {  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 },
     14546        {  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 },
     14547
     14548        {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c16,         255,         RM_REG,   T_SSE,     2, XMM1, XMM1, EDX,  RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     14549        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c16,       255,         RM_MEM32, T_SSE,     2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     14550        {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c16,         255,         RM_REG,   T_SSE,     2, XMM1, XMM1, EDX,  RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     14551        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c16,       255,         RM_MEM32, T_SSE,     2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     14552
     14553        {  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    },
     14554        {  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    },
     14555        {  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    },
     14556        {  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    },
     14557
     14558        {  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    },
     14559        {  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    },
     14560        {  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    },
     14561        {  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    },
     14562        {  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    },
     14563        {  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    },
     14564        {  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    },
     14565        {  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    },
    1458514566    };
    1458614567    static BS3CPUINSTR3_TEST6_T const s_aTests32[] =
    1458714568    {
    14588         {  bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c32,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14589         {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14590         {  bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c32,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14591         {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14592 
    14593         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c32,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14594         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14595         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c32,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14596         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14597 
    14598         {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c32,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14599         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c32,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14600         {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c32,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
    14601         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c32,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
    14602 
    14603         {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c32,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14604         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14605         {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c32,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14606         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14607 
    14608         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c32,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14609         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14610         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c32,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14611         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14612 
    14613         {  bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c32,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14614         {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14615         {  bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c32,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14616         {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14617         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14618         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14619         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c32,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14620         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
     14569        {  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    },
     14570        {  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    },
     14571        {  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    },
     14572        {  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    },
     14573
     14574        {  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    },
     14575        {  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    },
     14576        {  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    },
     14577        {  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    },
     14578
     14579        {  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    },
     14580        {  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    },
     14581        {  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 },
     14582        {  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 },
     14583
     14584        {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c32,         255,         RM_REG,   T_SSE,     2, XMM1, XMM1, EDX,  RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     14585        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c32,       255,         RM_MEM32, T_SSE,     2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     14586        {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c32,         255,         RM_REG,   T_SSE,     2, XMM1, XMM1, EDX,  RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     14587        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c32,       255,         RM_MEM32, T_SSE,     2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     14588
     14589        {  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    },
     14590        {  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    },
     14591        {  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    },
     14592        {  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    },
     14593
     14594        {  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    },
     14595        {  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    },
     14596        {  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    },
     14597        {  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    },
     14598        {  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    },
     14599        {  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    },
     14600        {  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    },
     14601        {  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    },
    1462114602    };
    1462214603    static BS3CPUINSTR3_TEST6_T const s_aTests64[] =
    1462314604    {
    14624         {  bs3CpuInstr3_pinsrb_XMM1_EDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14625         {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14626         {  bs3CpuInstr3_pinsrb_XMM1_EDX_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  1,  8,   2,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14627         {  bs3CpuInstr3_pinsrb_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  1,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14628 
    14629         {  bs3CpuInstr3_pinsrb_XMM8_R9D_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  1,  8,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14630         {  bs3CpuInstr3_pinsrb_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  8,  8, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14631         {  bs3CpuInstr3_pinsrb_XMM8_R9D_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  1,  8,   9,  8,  8, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14632         {  bs3CpuInstr3_pinsrb_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM8,  T_SSE4_1,  1,  8, 255,  8,  8, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14633 
    14634         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14635         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14636         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_EDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 1,  8,   2,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14637         {  bs3CpuInstr3_vpinsrb_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  2,  1, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14638 
    14639         {  bs3CpuInstr3_vpinsrb_XMM8_XMM9_R9D_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 1,  8,   9,  9,  8, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14640         {  bs3CpuInstr3_vpinsrb_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  9,  8, RT_ELEMENTS(s_aValuesFF_b),    s_aValuesFF_b    },
    14641         {  bs3CpuInstr3_vpinsrb_XMM8_XMM9_R9D_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 1,  8,   9,  9,  8, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14642         {  bs3CpuInstr3_vpinsrb_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM8,  T_AVX_128, 1,  8, 255,  9,  8, RT_ELEMENTS(s_aValues00_b),    s_aValues00_b    },
    14643 
    14644         {  bs3CpuInstr3_pinsrw_MM1_EDX_000h_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14645         {  bs3CpuInstr3_pinsrw_MM1_R9D_000h_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 2, 16,   9,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14646         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_000h_icebp_c64,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14647         {  bs3CpuInstr3_pinsrw_MM1_EDX_0FFh_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
    14648         {  bs3CpuInstr3_pinsrw_MM1_R9D_0FFh_icebp_c64,          255,         RM_REG,   T_MMX_SSE, 2, 16,   9,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
    14649         {  bs3CpuInstr3_pinsrw_MM1_FSxBX_0FFh_icebp_c64,        255,         RM_MEM32, T_MMX_SSE, 2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w_64), s_aValuesFF_w_64 },
    14650 
    14651         {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c64,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14652         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14653         {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE,     2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14654         {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE,     2, 16, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14655 
    14656         {  bs3CpuInstr3_pinsrw_XMM8_R9D_000h_icebp_c64,         255,         RM_REG,   T_SSE,     2, 16,   9,  8,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14657         {  bs3CpuInstr3_pinsrw_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE,     2, 16, 255,  8,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14658         {  bs3CpuInstr3_pinsrw_XMM8_R9D_0FFh_icebp_c64,         255,         RM_REG,   T_SSE,     2, 16,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14659         {  bs3CpuInstr3_pinsrw_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE,     2, 16, 255,  8,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14660 
    14661         {  bs3CpuInstr3_pinsrw_XMM1_RDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  2, 16,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14662         {  bs3CpuInstr3_pinsrw_XMM8_R9_0FFh_icebp_c64,          255,         RM_REG,   T_SSE4_1,  2, 16,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14663         {  bs3CpuInstr3_pinsrw_XMM1_RDX_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  2, 16,   2,  1,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14664         {  bs3CpuInstr3_pinsrw_XMM8_R9_000h_icebp_c64,          255,         RM_REG,   T_SSE4_1,  2, 16,   9,  8,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14665 
    14666         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14667         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14668         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_EDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 2, 16,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14669         {  bs3CpuInstr3_vpinsrw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14670 
    14671         {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 2, 16,   9,  9,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14672         {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  9,  8, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
    14673         {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_R9D_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 2, 16,   9,  9,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14674         {  bs3CpuInstr3_vpinsrw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 2, 16, 255,  9,  8, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
    14675 
    14676         {  bs3CpuInstr3_pinsrd_XMM1_EDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14677         {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14678         {  bs3CpuInstr3_pinsrd_XMM1_EDX_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  4, 32,   2,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14679         {  bs3CpuInstr3_pinsrd_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  1,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14680 
    14681         {  bs3CpuInstr3_pinsrd_XMM8_R9D_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  4, 32,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14682         {  bs3CpuInstr3_pinsrd_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  8,  8, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14683         {  bs3CpuInstr3_pinsrd_XMM8_R9D_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  4, 32,   9,  8,  8, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14684         {  bs3CpuInstr3_pinsrd_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE4_1,  4, 32, 255,  8,  8, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14685 
    14686         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14687         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14688         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_EDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   2,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14689         {  bs3CpuInstr3_vpinsrd_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  2,  1, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14690 
    14691         {  bs3CpuInstr3_vpinsrd_XMM8_XMM9_R9D_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   9,  9,  8, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14692         {  bs3CpuInstr3_vpinsrd_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  9,  8, RT_ELEMENTS(s_aValuesFF_d),    s_aValuesFF_d    },
    14693         {  bs3CpuInstr3_vpinsrd_XMM8_XMM9_R9D_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 4, 32,   9,  9,  8, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14694         {  bs3CpuInstr3_vpinsrd_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM32, T_AVX_128, 4, 32, 255,  9,  8, RT_ELEMENTS(s_aValues00_d),    s_aValues00_d    },
    14695 
    14696         {  bs3CpuInstr3_pinsrq_XMM1_RDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE4_1,  8, 64,   2,  1,  1, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
    14697         {  bs3CpuInstr3_pinsrq_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM64, T_SSE4_1,  8, 64, 255,  1,  1, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
    14698         {  bs3CpuInstr3_pinsrq_XMM1_RDX_000h_icebp_c64,         255,         RM_REG,   T_SSE4_1,  8, 64,   2,  1,  1, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
    14699         {  bs3CpuInstr3_pinsrq_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM64, T_SSE4_1,  8, 64, 255,  1,  1, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
    14700 
    14701         {  bs3CpuInstr3_pinsrq_XMM8_R9_0FFh_icebp_c64,          255,         RM_REG,   T_SSE4_1,  8, 64,   9,  8,  8, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
    14702         {  bs3CpuInstr3_pinsrq_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM64, T_SSE4_1,  8, 64, 255,  8,  8, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
    14703         {  bs3CpuInstr3_pinsrq_XMM8_R9_000h_icebp_c64,          255,         RM_REG,   T_SSE4_1,  8, 64,   9,  8,  8, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
    14704         {  bs3CpuInstr3_pinsrq_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM64, T_SSE4_1,  8, 64, 255,  8,  8, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
    14705 
    14706         {  bs3CpuInstr3_vpinsrq_XMM1_XMM2_RDX_0FFh_icebp_c64,   255,         RM_REG,   T_AVX_128, 8, 64,   2,  2,  1, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
    14707         {  bs3CpuInstr3_vpinsrq_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, 64, 255,  2,  1, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
    14708         {  bs3CpuInstr3_vpinsrq_XMM1_XMM2_RDX_000h_icebp_c64,   255,         RM_REG,   T_AVX_128, 8, 64,   2,  2,  1, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
    14709         {  bs3CpuInstr3_vpinsrq_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, 64, 255,  2,  1, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
    14710 
    14711         {  bs3CpuInstr3_vpinsrq_XMM8_XMM9_R9_0FFh_icebp_c64,    255,         RM_REG,   T_AVX_128, 8, 64,   9,  9,  8, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
    14712         {  bs3CpuInstr3_vpinsrq_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, 64, 255,  9,  8, RT_ELEMENTS(s_aValuesFF_q),    s_aValuesFF_q    },
    14713         {  bs3CpuInstr3_vpinsrq_XMM8_XMM9_R9_000h_icebp_c64,    255,         RM_REG,   T_AVX_128, 8, 64,   9,  9,  8, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
    14714         {  bs3CpuInstr3_vpinsrq_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_AC, RM_MEM64, T_AVX_128, 8, 64, 255,  9,  8, RT_ELEMENTS(s_aValues00_q),    s_aValues00_q    },
     14605        {  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    },
     14606        {  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    },
     14607        {  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    },
     14608        {  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    },
     14609
     14610        {  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    },
     14611        {  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    },
     14612        {  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    },
     14613        {  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    },
     14614
     14615        {  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    },
     14616        {  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    },
     14617        {  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    },
     14618        {  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    },
     14619
     14620        {  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    },
     14621        {  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    },
     14622        {  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    },
     14623        {  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    },
     14624
     14625        {  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    },
     14626        {  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    },
     14627        {  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    },
     14628        {  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 },
     14629        {  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 },
     14630        {  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 },
     14631
     14632        {  bs3CpuInstr3_pinsrw_XMM1_EDX_000h_icebp_c64,         255,         RM_REG,   T_SSE,     2, XMM1, XMM1, EDX,  RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     14633        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE,     2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     14634        {  bs3CpuInstr3_pinsrw_XMM1_EDX_0FFh_icebp_c64,         255,         RM_REG,   T_SSE,     2, XMM1, XMM1, EDX,  RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     14635        {  bs3CpuInstr3_pinsrw_XMM1_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE,     2, XMM1, XMM1, FSxBX, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     14636
     14637        {  bs3CpuInstr3_pinsrw_XMM8_R9D_000h_icebp_c64,         255,         RM_REG,   T_SSE,     2, XMM8, XMM8, R9D,  RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     14638        {  bs3CpuInstr3_pinsrw_XMM8_FSxBX_000h_icebp_c64,       255,         RM_MEM32, T_SSE,     2, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValues00_w),    s_aValues00_w    },
     14639        {  bs3CpuInstr3_pinsrw_XMM8_R9D_0FFh_icebp_c64,         255,         RM_REG,   T_SSE,     2, XMM8, XMM8, R9D,  RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     14640        {  bs3CpuInstr3_pinsrw_XMM8_FSxBX_0FFh_icebp_c64,       255,         RM_MEM32, T_SSE,     2, XMM8, XMM8, FSxBX, RT_ELEMENTS(s_aValuesFF_w),    s_aValuesFF_w    },
     14641
     14642        {  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    },
     14643        {  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    },
     14644        {  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    },
     14645        {  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    },
     14646
     14647        {  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    },
     14648        {  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    },
     14649        {  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    },
     14650        {  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    },
     14651
     14652        {  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    },
     14653        {  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    },
     14654        {  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    },
     14655        {  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    },
     14656
     14657        {  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    },
     14658        {  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    },
     14659        {  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    },
     14660        {  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    },
     14661
     14662        {  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    },
     14663        {  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    },
     14664        {  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    },
     14665        {  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    },
     14666
     14667        {  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    },
     14668        {  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    },
     14669        {  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    },
     14670        {  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    },
     14671
     14672        {  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    },
     14673        {  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    },
     14674        {  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    },
     14675        {  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    },
     14676
     14677        {  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    },
     14678        {  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    },
     14679        {  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    },
     14680        {  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    },
     14681
     14682        {  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    },
     14683        {  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    },
     14684        {  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    },
     14685        {  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    },
     14686
     14687        {  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    },
     14688        {  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    },
     14689        {  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    },
     14690        {  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    },
     14691
     14692        {  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    },
     14693        {  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    },
     14694        {  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    },
     14695        {  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    },
    1471514696    };
    1471614697
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32

    r106733 r106736  
    178178/* The maximum integer value (all 23 + 1 implied bit of the fraction part set) without losing precision. */
    179179#define FP32_NORM_SAFE_INT_MAX(a_Sign)      RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX)
    180 /* The minimum integer value without losing precision. */
    181 #define FP32_NORM_SAFE_INT_MIN(a_Sign)      RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_NORM_MIN, FP32_EXP_SAFE_INT_MIN)
    182180
    183181/*
     
    402400/* The maximum integer value (all 52 + 1 implied bit of the fraction part set) without losing precision. */
    403401#define FP64_NORM_SAFE_INT_MAX(a_Sign)      RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX)
    404 /* The minimum integer value without losing precision. */
    405 #define FP64_NORM_SAFE_INT_MIN(a_Sign)      RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_NORM_MIN, FP64_EXP_SAFE_INT_MIN)
    406402
    407403/*
     
    33433339              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
    33443340              /*256:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED },
    3345           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                            FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(0),                                FP32_NORM_SAFE_INT_MIN(0),                            FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1)                                } },
     3341          { { /*src2     */ { FP32_NORM_MIN(0),                                     FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(0),                                FP32_NORM_MIN(0),                            FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1)                                } },
    33463342            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                            FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(0),                                FP32_NORM_SAFE_INT_MAX(0),                            FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1)                                } },
    33473343            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_0(0),        FP32_0(0), FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_0(0),        FP32_0(0), FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX + 1) } },
     
    33883384              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    33893385              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO },
    3390           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0),               FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0)               } },
    3391             { /*src1     */ { FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0),               FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0)               } },
    3392             { /* =>      */ { FP32_0(1),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_0(1),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
     3386          { { /*src2     */ { FP32_NORM_MIN(0), FP32_0(0),        FP32_NORM_MIN(0), FP32_NORM_MIN(0),                        FP32_NORM_MIN(0), FP32_0(0),        FP32_NORM_MIN(0), FP32_NORM_MIN(0)                        } },
     3387            { /*src1     */ { FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_0(0),        FP32_NORM_MIN(0),                        FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_0(0),        FP32_NORM_MIN(0)                        } },
     3388            { /* =>      */ { FP32_0(1),        FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_0(1),        FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
    33933389              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    33943390              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    33953391              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN },
    3396           { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_NORM_SAFE_INT_MIN(1),               FP32_NORM_SAFE_INT_MIN(0),                FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(0, 0x600000, 0x7e)/*      0.875*/ } },
    3397             { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_SAFE_INT_MIN(1),               FP32_NORM_SAFE_INT_MIN(0),                FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(0, 0x769b50, 0x92)/*1010101.000*/ } },
     3392          { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_NORM_MIN(1),                        FP32_NORM_MIN(0),                         FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(0, 0x600000, 0x7e)/*      0.875*/ } },
     3393            { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_MIN(1),                        FP32_NORM_MIN(0),                         FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(0, 0x769b50, 0x92)/*1010101.000*/ } },
    33983394            { /* =>      */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x10c030, 0x92)/*592899.000*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1),  FP32_V(0, 0x4c20f0, 0x94)/*3344444.00*/, FP32_V(0, 0x62f630, 0x91)/*464817.50*/, FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/ } },
    33993395              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
     
    36803676              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY /* i7-10700, IEM */,
    36813677              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY /* i7-10700, IEM */ },
    3682           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                            FP64_NORM_MAX(0), FP64_0(0), FP64_NORM_SAFE_INT_MAX(1)                                } },
     3678          { { /*src2     */ { FP64_NORM_MIN(0),                                     FP64_NORM_MAX(0), FP64_0(0), FP64_NORM_SAFE_INT_MAX(1)                                } },
    36833679            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                            FP64_NORM_MAX(1), FP64_0(0), FP64_NORM_SAFE_INT_MAX(1)                                } },
    36843680            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX), FP64_0(0),        FP64_0(0), FP64_V(1, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX + 1) } },
     
    37193715              /*128:out  */ X86_MXCSR_FZ,
    37203716              /*256:out  */ X86_MXCSR_FZ },
    3721           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(0)               } },
    3722             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0)               } },
    3723             { /* =>      */ { FP64_0(1),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
     3717          { { /*src2     */ { FP64_NORM_MIN(0), FP64_0(0),        FP64_NORM_MIN(0), FP64_NORM_MIN(0)                        } },
     3718            { /*src1     */ { FP64_NORM_MIN(1), FP64_NORM_MIN(1), FP64_0(0),        FP64_NORM_MIN(0)                        } },
     3719            { /* =>      */ { FP64_0(1),        FP64_NORM_MIN(1), FP64_NORM_MIN(0), FP64_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
    37243720              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    37253721              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    37263722              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN },
    3727           { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_0(0), FP64_0(0), FP64_NORM_SAFE_INT_MIN(1)               } },
    3728             { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_0(0), FP64_0(0), FP64_NORM_SAFE_INT_MIN(1)               } },
     3723          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_0(0), FP64_0(0), FP64_NORM_MIN(1)                        } },
     3724            { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_0(0), FP64_0(0), FP64_NORM_MIN(1)                        } },
    37293725            { /* =>      */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_0(0), FP64_0(0), FP64_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
    37303726              /*mxcsr:in */ X86_MXCSR_RC_UP,
     
    40074003              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
    40084004              /*256:out  */ -1 },
    4009           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                            FP32_RAND_x7_V3 } },
     4005          { { /*src2     */ { FP32_NORM_MIN(0),                                     FP32_RAND_x7_V3 } },
    40104006            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                            FP32_RAND_x7_V0 } },
    40114007            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_RAND_x7_V0 } },
     
    40134009              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
    40144010              /*256:out  */ -1 },
    4015           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(1),                            FP32_RAND_x7_V6 } },
     4011          { { /*src2     */ { FP32_NORM_MIN(1),                                     FP32_RAND_x7_V6 } },
    40164012            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(1),                            FP32_RAND_x7_V4 } },
    40174013            { /* =>      */ { FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_RAND_x7_V4 } },
     
    40704066              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    40714067              /*256:out  */ -1 },
    4072           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V2 } },
    4073             { /*src1     */ { FP32_NORM_SAFE_INT_MIN(1), FP32_RAND_x7_V3 } },
    4074             { /* =>      */ { FP32_0(0),                 FP32_RAND_x7_V3 } },
     4068          { { /*src2     */ { FP32_NORM_MIN(0), FP32_RAND_x7_V2 } },
     4069            { /*src1     */ { FP32_NORM_MIN(1), FP32_RAND_x7_V3 } },
     4070            { /* =>      */ { FP32_0(0),        FP32_RAND_x7_V3 } },
    40754071              /*mxcsr:in */ X86_MXCSR_FZ,
    40764072              /*128:out  */ X86_MXCSR_FZ,
     
    43464342              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
    43474343              /*256:out  */ -1 },
    4348           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                            FP64_RAND_V1(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } },
     4344          { { /*src2     */ { FP64_NORM_MIN(0),                                     FP64_RAND_V1(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } },
    43494345            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                            FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
    43504346            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
     
    43524348              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
    43534349              /*256:out  */ -1 },
    4354           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(1),                            FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     4350          { { /*src2     */ { FP64_NORM_MIN(1),                                     FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    43554351            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(1),                            FP64_RAND_V2(1), FP64_RAND_V0(1), FP64_RAND_V1(0) } },
    43564352            { /* =>      */ { FP64_V(1, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX), FP64_RAND_V2(1), FP64_RAND_V0(1), FP64_RAND_V1(0) } },
     
    44154411              /*128:out  */ X86_MXCSR_FZ,
    44164412              /*256:out  */ -1 },
    4417           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V2(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
    4418             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
    4419             { /* =>      */ { FP64_0(1),                 FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
     4413          { { /*src2     */ { FP64_NORM_MIN(0), FP64_RAND_V2(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
     4414            { /*src1     */ { FP64_NORM_MIN(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
     4415            { /* =>      */ { FP64_0(1),        FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
    44204416              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    44214417              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     
    47174713              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_RC_ZERO,
    47184714              /*256:out  */ X86_MXCSR_OM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED },
    4719           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(0),                                         FP32_0(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(0),          FP32_0(0),        FP32_NORM_SAFE_INT_MAX(1) } },
    4720             { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(0),                                FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MAX(0),          FP32_0(0),        FP32_NORM_SAFE_INT_MAX(1) } },
     4715          { { /*src2     */ { FP32_NORM_MIN(0),          FP32_NORM_MAX(0),                                         FP32_0(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MIN(0),          FP32_NORM_MAX(0),          FP32_0(0),        FP32_NORM_SAFE_INT_MAX(1) } },
     4716            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(0),                                         FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MAX(0),          FP32_0(0),        FP32_NORM_SAFE_INT_MAX(1) } },
    47214717            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX + 1), FP32_NORM_MAX(0),          FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MAX(0),          FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MAX(0), FP32_NORM_SAFE_INT_MAX(1) } },
    47224718              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
     
    47684764              /*128:out  */ X86_MXCSR_FZ,
    47694765              /*256:out  */ X86_MXCSR_FZ },
    4770           { { /*src2     */ { FP32_V(0, 0x6423f2, 0x92)/* 934463.125*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_SAFE_INT_MIN(1),               FP32_NORM_SAFE_INT_MIN(1),               FP32_NORM_SAFE_INT_MIN(0),               FP32_NORM_SAFE_INT_MIN(0),               FP32_V(0, 0x600000, 0x7e)/*     0.875*/, FP32_V(0, 0x769b50, 0x92)/*1010101.000*/ } },
     4766          { { /*src2     */ { FP32_V(0, 0x6423f2, 0x92)/* 934463.125*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_MIN(1),                        FP32_NORM_MIN(1),                        FP32_NORM_MIN(0),                        FP32_NORM_MIN(0),                        FP32_V(0, 0x600000, 0x7e)/*     0.875*/, FP32_V(0, 0x769b50, 0x92)/*1010101.000*/ } },
    47714767            { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x600000, 0x7e)/*     0.875*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(0, 0x792318, 0x91)/*510232.750*/, FP32_V(1, 0x316740, 0x8e)/* -45415.250*/ } },
    47724768            { /* =>      */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x10c030, 0x92)/*592899.000*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_V(0, 0x4c20f0, 0x94)/*3344444.00*/, FP32_V(0, 0x62f630, 0x91)/*464817.50*/,  FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/ } },
     
    50585054              /*128:out  */ X86_MXCSR_RC_ZERO,
    50595055              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY },
    5060           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(1) } },
    5061             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0) } },
     5056          { { /*src2     */ { FP64_NORM_MIN(0),          FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(1) } },
     5057            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0),          FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0)          } },
    50625058            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0), FP64_0(0)                 } },
    50635059              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
     
    50915087              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    50925088              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO },
    5093           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(1),               FP64_NORM_SAFE_INT_MIN(1)               } },
    5094             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(0),               FP64_NORM_SAFE_INT_MIN(0)               } },
    5095             { /* =>      */ { FP64_0(1),                 FP64_NORM_SAFE_INT_MIN(0), FP64_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP64_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
     5089          { { /*src2     */ { FP64_NORM_MIN(0), FP64_0(0),        FP64_NORM_MIN(1),                        FP64_NORM_MIN(1)                        } },
     5090            { /*src1     */ { FP64_NORM_MIN(1), FP64_NORM_MIN(0), FP64_NORM_MIN(0),                        FP64_NORM_MIN(0)                        } },
     5091            { /* =>      */ { FP64_0(1),        FP64_NORM_MIN(0), FP64_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP64_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
    50965092              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    50975093              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    50985094              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN },
    5099           { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(1, 0xc122186c3cfd0, 0x42d)/*-123456789876543.25*/, FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1)               } },
    5100             { /*src1     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/, FP64_NORM_V0(0),           FP64_NORM_V0(1)                         } },
    5101             { /* =>      */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_0(0),                                                FP64_0(0),                 FP64_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
     5095          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(1, 0xc122186c3cfd0, 0x42d)/*-123456789876543.25*/, FP64_NORM_MIN(1), FP64_NORM_MIN(1)                        } },
     5096            { /*src1     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/, FP64_NORM_V0(0),  FP64_NORM_V0(1)                         } },
     5097            { /* =>      */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_0(0),                                                FP64_0(0),        FP64_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
    51025098              /*mxcsr:in */ X86_MXCSR_RC_UP,
    51035099              /*128:out  */ X86_MXCSR_RC_UP,
     
    54265422              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE },
    54275423#ifdef TODO_X86_MXCSR_PE_IEM_SSE /** @todo THIS FAILS ON IEM: X86_MXCSR_PE not set in 128:out(SSE-128) (but occasionally is set???); properly set in 128:out(AVX-128) */
    5428  /*--|23*/{ { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                                FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0),                                FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
     5424 /*--|23*/{ { /*src2     */ { FP32_NORM_MIN(0),                                         FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MIN(0),                                         FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
    54295425            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0),                                FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
    54305426            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_INF(1),      FP32_0(1), FP32_0(1),                 FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_INF(1),      FP32_0(1), FP32_0(1)                 } },
     
    54335429              /*256:out  */ X86_MXCSR_RC_DOWN | X86_MXCSR_OE | X86_MXCSR_PE },
    54345430#endif /* TODO_X86_MXCSR_PE_IEM_SSE */
    5435  /*22|24*/{ { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                                FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0),                                FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
     5431 /*22|24*/{ { /*src2     */ { FP32_NORM_MIN(0),                                         FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MIN(0),                                         FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
    54365432            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0),                                FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
    54375433            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_INF(1),      FP32_0(1), FP32_0(1),                 FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_INF(1),      FP32_0(1), FP32_0(1)                 } },
     
    54785474              /*128:out  */ X86_MXCSR_RC_UP,
    54795475              /*256:out  */ X86_MXCSR_RC_UP },
    5480           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0),               FP32_NORM_SAFE_INT_MIN(0), FP32_0(1),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1) } },
    5481             { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1) } },
    5482             { /* =>      */ { FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0),               FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_0(0)                 } },
     5476          { { /*src2     */ { FP32_NORM_MIN(0), FP32_0(0),        FP32_NORM_MIN(0), FP32_NORM_MIN(0),                        FP32_NORM_MIN(0), FP32_0(1),        FP32_NORM_MIN(1), FP32_NORM_MIN(1) } },
     5477            { /*src1     */ { FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_0(0),        FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_0(0),        FP32_NORM_MIN(1) } },
     5478            { /* =>      */ { FP32_0(0),        FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(0),                        FP32_0(0),        FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_0(0)        } },
    54835479              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    54845480              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    54855481              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO },
    5486           { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_SAFE_INT_MIN(1),               FP32_NORM_SAFE_INT_MIN(0),               FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(0, 0x316740, 0x8e)/* 45415.25*/, FP32_V(0, 0x600000, 0x7e)/*       0.875*/ } },
    5487             { /*src1     */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x10c030, 0x92)/*592899.000*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_SAFE_INT_MIN(0),               FP32_NORM_SAFE_INT_MIN(1),               FP32_V(0, 0x4c20f0, 0x94)/*3344444.00*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(1, 0x769b50, 0x92)/*-1010101.000*/ } },
     5482          { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_MIN(1),                        FP32_NORM_MIN(0),                        FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(0, 0x316740, 0x8e)/* 45415.25*/, FP32_V(0, 0x600000, 0x7e)/*       0.875*/ } },
     5483            { /*src1     */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x10c030, 0x92)/*592899.000*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_MIN(0),                        FP32_NORM_MIN(1),                        FP32_V(0, 0x4c20f0, 0x94)/*3344444.00*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(1, 0x769b50, 0x92)/*-1010101.000*/ } },
    54885484            { /* =>      */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x62f630, 0x91)/*464817.50*/, FP32_V(1, 0x769b5e, 0x92)/*-1010101.875*/ } },
    54895485              /*mxcsr:in */ 0,
     
    57865782              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
    57875783              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE },
    5788           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),       FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } },
     5784          { { /*src2     */ { FP64_NORM_MIN(0),                FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } },
    57895785            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),       FP64_NORM_MAX(1), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } },
    57905786            { /* =>      */ { FP64_V(0,0xffffffffffffe,0x433), FP64_NORM_MAX(1), FP64_0(0),                 FP64_0(0)                 } },
     
    58255821              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    58265822              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO },
    5827           { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1)               } },
    5828             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0)               } },
    5829             { /* =>      */ { FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
     5823          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(1), FP64_0(0),        FP64_NORM_MIN(0), FP64_NORM_MIN(1)                        } },
     5824            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_MIN(1), FP64_0(0),        FP64_NORM_MIN(0)                        } },
     5825            { /* =>      */ { FP64_0(0),                 FP64_NORM_MIN(1), FP64_NORM_MIN(1), FP64_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
    58305826              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    58315827              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    58325828              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP },
    5833           { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_0(0), FP64_0(1), FP64_NORM_SAFE_INT_MIN(0)               } },
    5834             { /*src1     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_0(0), FP64_0(1), FP64_NORM_SAFE_INT_MIN(1)               } },
     5829          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_0(0), FP64_0(1), FP64_NORM_MIN(0)                        } },
     5830            { /*src1     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_0(0), FP64_0(1), FP64_NORM_MIN(1)                        } },
    58355831            { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_0(1), FP64_0(1), FP64_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
    58365832              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     
    60836079              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
    60846080              /*256:out  */ -1 },
    6085           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                                FP32_0_x7(0) } },
     6081          { { /*src2     */ { FP32_NORM_MIN(0),                                         FP32_0_x7(0) } },
    60866082            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_0_x7(0) } },
    60876083            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_0_x7(0) } },
     
    60896085              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
    60906086              /*256:out  */ -1 },
    6091           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(1),                                FP32_0_x7(0) } },
     6087          { { /*src2     */ { FP32_NORM_MIN(1),                                         FP32_0_x7(0) } },
    60926088            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(1),                                FP32_0_x7(0) } },
    60936089            { /* =>      */ { FP32_V(1, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_0_x7(0) } },
     
    61406136              /*128:out  */ 0,
    61416137              /*256:out  */ -1 },
    6142           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V1 } },
    6143             { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V3 } },
    6144             { /* =>      */ { FP32_0(0),                 FP32_RAND_x7_V3 } },
     6138          { { /*src2     */ { FP32_NORM_MIN(0), FP32_RAND_x7_V1 } },
     6139            { /*src1     */ { FP32_NORM_MIN(0), FP32_RAND_x7_V3 } },
     6140            { /* =>      */ { FP32_0(0),        FP32_RAND_x7_V3 } },
    61456141              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
    61466142              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
     
    64006396              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
    64016397              /*256:out  */ -1 },
    6402           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                                FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } },
     6398          { { /*src2     */ { FP64_NORM_MIN(0),                                         FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } },
    64036399            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                                FP64_NORM_MAX(1), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } },
    64046400            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_MAX(1), FP64_0(0),                 FP64_0(0)                 } },
     
    67376733              /*128:out  */ 0,
    67386734              /*256:out  */ 0 },
    6739           { { /*src2     */ { FP32_V(0, 0x6423f2, 0x92)/* 934463.125*/, FP32_V(0, 0x0a19f0, 0x8f)/* 70707.875*/, FP32_NORM_SAFE_INT_MIN(1),               FP32_NORM_SAFE_INT_MIN(1),               FP32_1(1),                                FP32_1(0),                               FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x600000, 0x7e)/*     0.875*/ } },
     6735          { { /*src2     */ { FP32_V(0, 0x6423f2, 0x92)/* 934463.125*/, FP32_V(0, 0x0a19f0, 0x8f)/* 70707.875*/, FP32_NORM_MIN(1),                        FP32_NORM_MIN(1),                        FP32_1(1),                                FP32_1(0),                               FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x600000, 0x7e)/*     0.875*/ } },
    67406736            { /*src1     */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x600000, 0x7e)/*     0.875*/, FP32_V(0, 0x10c030, 0x92)/*592899.000*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(1, 0x16b43a, 0x93)/*-1234567.25*/, FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(0, 0x792318, 0x91)/*510232.750*/,  FP32_V(0, 0x316740, 0x8e)/*  45415.250*/ } },
    67416737            { /* =>      */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_0(0),                               FP32_V(1, 0x4c20f0, 0x94)/*-3344444.00*/, FP32_V(0, 0x62f630, 0x91)/* 464817.50*/, FP32_2(1),                                FP32_V(0, 0x769b50, 0x92)/*1010101.000*/ } },
     
    70237019              /*128:out  */ 0,
    70247020              /*256:out  */ X86_MXCSR_PE },
    7025           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(1),                                FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0),                                FP64_NORM_SAFE_INT_MAX(0) } },
    7026             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(0),                                FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0),                                FP64_NORM_SAFE_INT_MIN(0) } },
     7021          { { /*src2     */ { FP64_NORM_MIN(1),                                         FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0),                                FP64_NORM_SAFE_INT_MAX(0) } },
     7022            { /*src1     */ { FP64_NORM_MIN(0),                                         FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0),                                FP64_NORM_MIN(0)          } },
    70277023            { /* =>      */ { FP64_V(1, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(1), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_0(0)                 } },
    70287024              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
    70297025              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
    70307026              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE },
    7031           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(1),                                FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0) } },
    7032             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(0),                                FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0) } },
     7027          { { /*src2     */ { FP64_NORM_MIN(1),                                         FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0) } },
     7028            { /*src1     */ { FP64_NORM_MIN(0),                                         FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0)          } },
    70337029            { /* =>      */ { FP64_V(1, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(0), FP64_0(0)                 } },
    70347030              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     
    73867382              /*128:out  */ 0,
    73877383              /*256:out  */ 0 },
    7388           { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_1(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_1(1),                 FP32_NORM_SAFE_INT_MIN(1), FP32_1(1),                 FP32_NORM_SAFE_INT_MIN(0), FP32_0(1)                 } },
    7389             { /*src1     */ { FP32_1(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_1(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_1(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MAX(0) } },
    7390             { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_0(1)                 } },
     7384          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_1(0),        FP32_NORM_SAFE_INT_MAX(1), FP32_1(1),                 FP32_NORM_MIN(1), FP32_1(1),        FP32_NORM_MIN(0), FP32_0(1)                 } },
     7385            { /*src1     */ { FP32_1(0),                 FP32_NORM_MIN(0), FP32_1(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_1(0),        FP32_NORM_MIN(1), FP32_0(0),        FP32_NORM_SAFE_INT_MAX(0) } },
     7386            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_0(0),        FP32_0(1)                 } },
    73917387              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    73927388              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     
    76717667              /*128:out  */ X86_MXCSR_RC_DOWN,
    76727668              /*256:out  */ X86_MXCSR_RC_DOWN },
    7673           { { /*src2     */ { FP64_1(0),                 FP64_1(0),                                                FP64_NORM_SAFE_INT_MIN(0), FP64_1(0)                 } },
    7674             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1) } },
    7675             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
     7669          { { /*src2     */ { FP64_1(0),                 FP64_1(0),                                                FP64_NORM_MIN(0), FP64_1(0)        } },
     7670            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_1(0),        FP64_NORM_MIN(1) } },
     7671            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_MIN(0), FP64_NORM_MIN(1) } },
    76767672              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    76777673              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     
    77687764              /*128:out  */ X86_MXCSR_RC_ZERO,
    77697765              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY /* IEM */ },
    7770           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                         FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_SAFE_INT_MIN(0)            } },
     7766          { { /*src2     */ { FP64_NORM_MIN(0),                                  FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_MIN(0)                     } },
    77717767            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                         FP64_NORM_MAX(1), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_SAFE_INT_MAX(0)            } },
    77727768            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_FRAC_BITS + 1), FP64_NORM_MAX(1), FP64_V(0, FP64_FRAC_NORM_MAX - 1, 0x468), FP64_V(0, FP64_FRAC_NORM_MAX, 0x035) } },
     
    77747770              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY /* IEM */,
    77757771              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY /* IEM */ },
    7776           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                         FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_SAFE_INT_MIN(0)            } },
     7772          { { /*src2     */ { FP64_NORM_MIN(0),                                  FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_MIN(0)                     } },
    77777773            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                         FP64_NORM_MAX(1), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_SAFE_INT_MAX(0)            } },
    77787774            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_FRAC_BITS + 1), FP64_INF(1),      FP64_V(0, FP64_FRAC_NORM_MAX - 1, 0x468), FP64_V(0, FP64_FRAC_NORM_MAX, 0x035) } },
     
    82128208              /*128:out  */ X86_MXCSR_RC_DOWN,
    82138209              /*256:out  */ -1 },
    8214           { { /*src2     */ { FP64_1(0),                 FP64_0(0),                                                FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_MAX(1)          } },
    8215             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_INF(1),               FP64_NORM_SAFE_INT_MIN(1) } },
    8216             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_INF(1),               FP64_NORM_SAFE_INT_MIN(1) } },
     8210          { { /*src2     */ { FP64_1(0),                 FP64_0(0),                                                FP64_NORM_MIN(0), FP64_NORM_MAX(1) } },
     8211            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_INF(1),      FP64_NORM_MIN(1) } },
     8212            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_INF(1),      FP64_NORM_MIN(1) } },
    82178213              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    82188214              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     
    85478543              /*128:out  */ 0,
    85488544              /*256:out  */ 0 },
    8549           { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_1(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_1(1),                 FP32_NORM_SAFE_INT_MIN(1), FP32_1(1),                 FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MAX(0) } },
    8550             { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_0(1)                 } },
    8551             { /* =>      */ { FP32_1(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_1(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_1(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_0(1)                 } },
     8545          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_1(0),        FP32_NORM_SAFE_INT_MAX(1), FP32_1(1),                 FP32_NORM_MIN(1), FP32_1(1),        FP32_NORM_MIN(0), FP32_NORM_SAFE_INT_MAX(0) } },
     8546            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_0(0),        FP32_0(1)                 } },
     8547            { /* =>      */ { FP32_1(0),                 FP32_NORM_MIN(0), FP32_1(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_1(0),        FP32_NORM_MIN(1), FP32_0(0),        FP32_0(1)                 } },
    85528548              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    85538549              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     
    88268822              /*128:out  */ X86_MXCSR_RC_DOWN,
    88278823              /*256:out  */ X86_MXCSR_RC_DOWN },
    8828           { { /*src2     */ { FP64_1(0),                 FP64_1(0),                                                FP64_NORM_SAFE_INT_MIN(0), FP64_1(0)                 } },
    8829             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
    8830             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1) } },
     8824          { { /*src2     */ { FP64_1(0),                 FP64_1(0),                                                FP64_NORM_MIN(0), FP64_1(0)        } },
     8825            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_MIN(0), FP64_NORM_MIN(1) } },
     8826            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_1(0),        FP64_NORM_MIN(1) } },
    88318827              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    88328828              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     
    89818977              /*128:out  */ X86_MXCSR_RC_ZERO,
    89828978              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY /* i7-10700, IEM */ },
    8983           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                         FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1),                                FP64_NORM_SAFE_INT_MIN(0)            } },
     8979          { { /*src2     */ { FP64_NORM_MIN(0),                                  FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1),                                FP64_NORM_MIN(0)                     } },
    89848980            { /*src1     */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_FRAC_BITS + 1), FP64_NORM_MAX(1), FP64_V(0, FP64_FRAC_NORM_MAX - 1, 0x468),                 FP64_V(0, FP64_FRAC_NORM_MAX, 0x035) } },
    89858981            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0),                         FP64_1(1),        FP64_V(1, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(0)            } },
     
    89878983              /*128:out  */ X86_MXCSR_RC_ZERO,
    89888984              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE },
    8989           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                         FP64_NORM_MAX(0), FP64_V(0, 0x8000000000000, 0x400)/*3.0*/, FP64_1(1) } },
     8985          { { /*src2     */ { FP64_NORM_MIN(0),                                  FP64_NORM_MAX(0), FP64_V(0, 0x8000000000000, 0x400)/*3.0*/, FP64_1(1) } },
    89908986            { /*src1     */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_FRAC_BITS + 1), FP64_INF(1),      FP64_1(1),                                FP64_1(0) } },
    89918987            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0),                         FP64_INF(1),      FP64_V(1, 0x5555555555556, 0x3fd)/*1/3*/, FP64_1(1) } },
     
    94259421              /*128:out  */ X86_MXCSR_RC_DOWN,
    94269422              /*256:out  */ -1 },
    9427           { { /*src2     */ { FP64_1(0),                 FP64_0(0),                                                FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_MAX(1)          } },
    9428             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_INF(1),               FP64_NORM_SAFE_INT_MIN(1) } },
    9429             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_INF(1),               FP64_NORM_SAFE_INT_MIN(1) } },
     9423          { { /*src2     */ { FP64_1(0),                 FP64_0(0),                                                FP64_NORM_MIN(0), FP64_NORM_MAX(1) } },
     9424            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_INF(1),      FP64_NORM_MIN(1) } },
     9425            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_INF(1),      FP64_NORM_MIN(1) } },
    94309426              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    94319427              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     
    98299825              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
    98309826              /*256:out  */ X86_MXCSR_OM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED },
    9831           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                            FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1),                                FP32_NORM_SAFE_INT_MIN(0),                            FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1)                                } },
     9827          { { /*src2     */ { FP32_NORM_MIN(0),                                     FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1),                                FP32_NORM_MIN(0),                                     FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1)                                } },
    98329828            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                            FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1),                                FP32_NORM_SAFE_INT_MAX(0),                            FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1)                                } },
    98339829            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_0(0),        FP32_0(0), FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_0(0),        FP32_0(0), FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX + 1) } },
     
    98629858              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    98639859              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_UP },
    9864           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0),               FP32_0(0),                 FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_1(0),                               FP32_NORM_SAFE_INT_MIN(0)               } },
    9865             { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MAX(1),               FP32_NORM_SAFE_INT_MIN(0)               } },
    9866             { /* =>      */ { FP32_0(1),                 FP32_0(1),                 FP32_NORM_SAFE_INT_MIN(0),               FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
     9860          { { /*src2     */ { FP32_NORM_MIN(0), FP32_NORM_MIN(0), FP32_NORM_MIN(0),                        FP32_0(0),        FP32_0(0),        FP32_NORM_MIN(0), FP32_1(0),                               FP32_NORM_MIN(0)                        } },
     9861            { /*src1     */ { FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_0(0),        FP32_NORM_SAFE_INT_MAX(1),               FP32_NORM_MIN(0)                        } },
     9862            { /* =>      */ { FP32_0(1),        FP32_0(1),        FP32_NORM_MIN(0),                        FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1) } },
    98679863              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    98689864              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     
    1021310209              /*128:out  */ X86_MXCSR_RC_UP | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY,
    1021410210              /*256:out  */ X86_MXCSR_RC_UP | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY },
    10215           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                            FP64_NORM_MAX(0), FP64_0(0), FP64_NORM_SAFE_INT_MAX(1)                                } },
     10211          { { /*src2     */ { FP64_NORM_MIN(0),                                     FP64_NORM_MAX(0), FP64_0(0), FP64_NORM_SAFE_INT_MAX(1)                                } },
    1021610212            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                            FP64_NORM_MAX(1), FP64_0(0), FP64_NORM_SAFE_INT_MAX(1)                                } },
    1021710213            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX), FP64_0(0),        FP64_0(0), FP64_V(1, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX + 1) } },
     
    1025210248              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    1025310249              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO },
    10254           { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(1),  FP64_NORM_SAFE_INT_MIN(0),               FP64_NORM_SAFE_INT_MIN(1),               FP64_NORM_SAFE_INT_MIN(0) } },
    10255             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(1),  FP64_NORM_SAFE_INT_MIN(0),               FP64_NORM_SAFE_INT_MIN(0),               FP64_0(0)                 } },
    10256             { /* =>      */ { FP64_0(0),                  FP64_V(0, 0, FP64_EXP_SAFE_INT_MIN + 1), FP64_V(0, 0, FP64_EXP_SAFE_INT_MIN + 1), FP64_NORM_SAFE_INT_MIN(0) } },
     10250          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(1),  FP64_NORM_MIN(0),                        FP64_NORM_MIN(1),                        FP64_NORM_MIN(0) } },
     10251            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(1),  FP64_NORM_MIN(0),                        FP64_NORM_MIN(0),                        FP64_0(0)        } },
     10252            { /* =>      */ { FP64_0(0),                  FP64_V(0, 0, FP64_EXP_SAFE_INT_MIN + 1), FP64_V(0, 0, FP64_EXP_SAFE_INT_MIN + 1), FP64_NORM_MIN(0) } },
    1025710253              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    1025810254              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    1025910255              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP },
    10260           { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_NORM_SAFE_INT_MIN(1),               FP64_NORM_SAFE_INT_MIN(0),               FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/ } },
    10261             { /*src1     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_NORM_SAFE_INT_MIN(1),               FP64_NORM_SAFE_INT_MIN(1),               FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/ } },
     10256          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_NORM_MIN(1),                        FP64_NORM_MIN(0),                        FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/ } },
     10257            { /*src1     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_NORM_MIN(1),                        FP64_NORM_MIN(1),                        FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/ } },
    1026210258            { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(1, 0, FP64_EXP_SAFE_INT_MIN + 1), FP64_V(1, 0, FP64_EXP_SAFE_INT_MIN + 1), FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/ } },
    1026310259              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     
    1061910615              /*128:out  */ 0,
    1062010616              /*256:out  */ 0 },
    10621           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1) } },
    10622             { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1) } },
    10623             { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1) } },
     10617          { { /*src2     */ { FP32_NORM_MIN(0),          FP32_NORM_MIN(0),          FP32_NORM_MIN(1),          FP32_NORM_MIN(1),          FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1) } },
     10618            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MIN(0),          FP32_NORM_MIN(1),          FP32_NORM_MIN(0),          FP32_NORM_MIN(1)          } },
     10619            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(0),          FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(1),          FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(0),          FP32_NORM_MIN(1)          } },
    1062410620              /*mxcsr:in */ 0,
    1062510621              /*128:out  */ 0,
     
    1064310639              /*128:out  */ X86_MXCSR_RC_ZERO,
    1064410640              /*256:out  */ X86_MXCSR_RC_ZERO },
    10645           { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(0, 0x600000, 0x7e)/* 0.875*/ } },
    10646             { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(1, 0,        0x7d)/*-0.250*/ } },
    10647             { /* =>      */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(0, 0x600000, 0x7e)/* 0.875*/ } },
     10641          { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_NORM_MIN(1), FP32_NORM_MIN(0),          FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(0, 0x600000, 0x7e)/* 0.875*/ } },
     10642            { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(1, 0,        0x7d)/*-0.250*/ } },
     10643            { /* =>      */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_NORM_MIN(1), FP32_NORM_MIN(0),          FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(0, 0x600000, 0x7e)/* 0.875*/ } },
    1064810644              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
    1064910645              /*128:out  */ X86_MXCSR_RC_DOWN,
     
    1091410910              /*128:out  */ X86_MXCSR_RC_ZERO,
    1091510911              /*256:out  */ X86_MXCSR_RC_ZERO },
    10916           { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0) } },
    10917             { /*src1     */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
    10918             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0) } },
     10912          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0) } },
     10913            { /*src1     */ { FP64_1(0),                 FP64_NORM_MIN(1), FP64_NORM_MIN(0),          FP64_0(0)        } },
     10914            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0) } },
    1091910915              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    1092010916              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    1092110917              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO },
    10922           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
    10923             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0) } },
    10924             { /* =>      */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(0) } },
     10918          { { /*src2     */ { FP64_NORM_MIN(0), FP64_0(0),        FP64_NORM_MIN(0), FP64_NORM_MIN(1) } },
     10919            { /*src1     */ { FP64_NORM_MIN(1), FP64_NORM_MIN(1), FP64_0(0),        FP64_NORM_MIN(0) } },
     10920            { /* =>      */ { FP64_NORM_MIN(0), FP64_0(0),        FP64_NORM_MIN(0), FP64_NORM_MIN(0) } },
    1092510921              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    1092610922              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     
    1123511231              /*128:out  */ 0,
    1123611232              /*256:out  */ -1 },
    11237           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V2 } },
     11233          { { /*src2     */ { FP32_NORM_MIN(0),          FP32_RAND_x7_V2 } },
    1123811234            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_x7_V1 } },
    1123911235            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_x7_V1 } },
     
    1124811244              /*256:out  */ -1 },
    1124911245          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_x7_V0 } },
    11250             { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V1 } },
     11246            { /*src1     */ { FP32_NORM_MIN(0),          FP32_RAND_x7_V1 } },
    1125111247            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_x7_V1 } },
    1125211248              /*mxcsr:in */ 0,
     
    1163411630              /*128:out  */ 0,
    1163511631              /*256:out  */ -1 },
    11636           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11632          { { /*src2     */ { FP64_NORM_MIN(0),          FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    1163711633            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
    1163811634            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
     
    1164711643              /*256:out  */ -1 },
    1164811644          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_INF(0),     FP64_QNAN(1),    FP64_QNAN(0)    } },
    11649             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11645            { /*src1     */ { FP64_NORM_MIN(0),          FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    1165011646            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    1165111647              /*mxcsr:in */ 0,
     
    1198711983              /*128:out  */ 0,
    1198811984              /*256:out  */ 0 },
    11989           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1) } },
    11990             { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1) } },
    11991             { /* =>      */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1) } },
     11985          { { /*src2     */ { FP32_NORM_MIN(0),          FP32_NORM_MIN(0),          FP32_NORM_MIN(1),          FP32_NORM_MIN(1),          FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1) } },
     11986            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MIN(0),          FP32_NORM_MIN(1),          FP32_NORM_MIN(0),          FP32_NORM_MIN(1)          } },
     11987            { /* =>      */ { FP32_NORM_MIN(0),          FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MIN(1),          FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MIN(0),          FP32_NORM_MIN(1),          FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1) } },
    1199211988              /*mxcsr:in */ 0,
    1199311989              /*128:out  */ 0,
     
    1201112007              /*128:out  */ X86_MXCSR_RC_ZERO,
    1201212008              /*256:out  */ X86_MXCSR_RC_ZERO },
    12013           { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(0, 0x600000, 0x7e)/* 0.875*/ } },
    12014             { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(1, 0,        0x7d)/*-0.250*/ } },
    12015             { /* =>      */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(1, 0,        0x7d)/*-0.250*/ } },
     12009          { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_NORM_MIN(1), FP32_NORM_MIN(0),          FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(0, 0x600000, 0x7e)/* 0.875*/ } },
     12010            { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(1, 0,        0x7d)/*-0.250*/ } },
     12011            { /* =>      */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(1, 0,        0x7d)/*-0.250*/ } },
    1201612012              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
    1201712013              /*128:out  */ X86_MXCSR_RC_DOWN,
     
    1228212278              /*128:out  */ X86_MXCSR_RC_ZERO,
    1228312279              /*256:out  */ X86_MXCSR_RC_ZERO },
    12284           { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0) } },
    12285             { /*src1     */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
    12286             { /* =>      */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
     12280          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MIN(0) } },
     12281            { /*src1     */ { FP64_1(0),                 FP64_NORM_MIN(1), FP64_NORM_MIN(0),          FP64_0(0)        } },
     12282            { /* =>      */ { FP64_1(0),                 FP64_NORM_MIN(1), FP64_NORM_MIN(0),          FP64_0(0)        } },
    1228712283              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    1228812284              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    1228912285              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO },
    12290           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
    12291             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0) } },
    12292             { /* =>      */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(1) } },
     12286          { { /*src2     */ { FP64_NORM_MIN(0), FP64_0(0),        FP64_NORM_MIN(0), FP64_NORM_MIN(1) } },
     12287            { /*src1     */ { FP64_NORM_MIN(1), FP64_NORM_MIN(1), FP64_0(0),        FP64_NORM_MIN(0) } },
     12288            { /* =>      */ { FP64_NORM_MIN(1), FP64_NORM_MIN(1), FP64_0(0),        FP64_NORM_MIN(1) } },
    1229312289              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    1229412290              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     
    1260312599              /*128:out  */ 0,
    1260412600              /*256:out  */ -1 },
    12605           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V2 } },
     12601          { { /*src2     */ { FP32_NORM_MIN(0),          FP32_RAND_x7_V2 } },
    1260612602            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_x7_V5 } },
    12607             { /* =>      */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V5 } },
     12603            { /* =>      */ { FP32_NORM_MIN(0),          FP32_RAND_x7_V5 } },
    1260812604              /*mxcsr:in */ 0,
    1260912605              /*128:out  */ 0,
     
    1261612612              /*256:out  */ -1 },
    1261712613          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_x7_V6 } },
    12618             { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V3 } },
    12619             { /* =>      */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V3 } },
     12614            { /*src1     */ { FP32_NORM_MIN(0),          FP32_RAND_x7_V3 } },
     12615            { /* =>      */ { FP32_NORM_MIN(0),          FP32_RAND_x7_V3 } },
    1262012616              /*mxcsr:in */ 0,
    1262112617              /*128:out  */ 0,
     
    1300312999              /*128:out  */ 0,
    1300413000              /*256:out  */ -1 },
    13005           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     13001          { { /*src2     */ { FP64_NORM_MIN(0),          FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    1300613002            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
    13007             { /* =>      */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
     13003            { /* =>      */ { FP64_NORM_MIN(0),          FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
    1300813004              /*mxcsr:in */ 0,
    1300913005              /*128:out  */ 0,
     
    1301613012              /*256:out  */ -1 },
    1301713013          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_INF(0),     FP64_QNAN(1),    FP64_QNAN(0)    } },
    13018             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    13019             { /* =>      */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     13014            { /*src1     */ { FP64_NORM_MIN(0),          FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     13015            { /* =>      */ { FP64_NORM_MIN(0),          FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    1302013016              /*mxcsr:in */ 0,
    1302113017              /*128:out  */ 0,
     
    1458214578                              FP32_NORM_MIN(0),
    1458314579                              FP32_NORM_SAFE_INT_MAX(0),
    14584                               FP32_NORM_SAFE_INT_MIN(0),
     14580                              FP32_NORM_MIN(0),
    1458514581                              FP32_NORM_MAX(1),
    1458614582                              FP32_NORM_MIN(1),
    1458714583                              FP32_NORM_SAFE_INT_MAX(1),
    14588                               FP32_NORM_SAFE_INT_MIN(1) } },
     14584                              FP32_NORM_MIN(1) } },
    1458914585            { /*unused   */ { FP32_ROW_UNUSED } },
    1459014586            { /* =>      */ { FP32_V(0,0x7fffff,0xbe)/*sqrt(FP32_NORM_MAX)*/,
    1459114587                              FP32_V(0,0x0,0x40)/*sqrt(FP32_NORM_MIN)*/,
    1459214588                              FP32_V(0,0x7fffff,0x8a)/*sqrt(FP32_NORM_SAFE_INT_MAX)*/,
    14593                               FP32_V(0,0x0,0x40)/*sqrt(FP32_NORM_SAFE_INT_MIN)*/,
     14589                              FP32_V(0,0x0,0x40)/*sqrt(FP32_NORM_MIN)*/,
    1459414590                              FP32_QNAN(1),
    1459514591                              FP32_QNAN(1),
     
    1509615092              /*256:out  */ -1 },
    1509715093          { { /*src1     */ { FP32_NORM_V3(0),                               FP32_0_x7(0)    } },
    15098             { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                     FP32_RAND_x7_V1 } },
     15094            { /*src2     */ { FP32_NORM_MIN(0),                              FP32_RAND_x7_V1 } },
    1509915095            { /* =>      */ { FP32_V(0,0x27905f,0xbe)/*sqrt(FP32_NORM_V3)*/, FP32_RAND_x7_V1 } },
    1510015096              /*mxcsr:in */ X86_MXCSR_DAZ,
     
    1511915115              /*128:out  */ X86_MXCSR_PE,
    1512015116              /*256:out  */ -1 },
    15121           { { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0),                          FP32_RAND_x7_V5 } },
    15122             { /*src2     */ { FP32_RAND_V0(0),                                    FP32_RAND_x7_V7 } },
    15123             { /* =>      */ { FP32_V(0,0x0,0x40)/*sqrt(FP32_NORM_SAFE_INT_MIN)*/, FP32_RAND_x7_V7 } },
     15117          { { /*src1     */ { FP32_NORM_MIN(0),                          FP32_RAND_x7_V5 } },
     15118            { /*src2     */ { FP32_RAND_V0(0),                           FP32_RAND_x7_V7 } },
     15119            { /* =>      */ { FP32_V(0,0x0,0x40)/*sqrt(FP32_NORM_MIN)*/, FP32_RAND_x7_V7 } },
    1512415120              /*mxcsr:in */ 0,
    1512515121              /*128:out  */ 0,
     
    1552615522              /*256:out  */ -1 },
    1552715523          { { /*src1     */ { FP64_NORM_V3(0),                                       FP64_0_x3(0)    } },
    15528             { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                             FP64_RAND_x3_V1 } },
     15524            { /*src2     */ { FP64_NORM_MIN(0),                                      FP64_RAND_x3_V1 } },
    1552915525            { /* =>      */ { FP64_V(0,0x4ebe86dd38102,0x440)/*sqrt(FP64_NORM_V3)*/, FP64_RAND_x3_V1 } },
    1553015526              /*mxcsr:in */ X86_MXCSR_DAZ,
     
    1554915545              /*128:out  */ X86_MXCSR_PE,
    1555015546              /*256:out  */ -1 },
    15551           { { /*src1     */ { FP64_NORM_SAFE_INT_MIN(0),                           FP64_RAND_x3_V1 } },
    15552             { /*src2     */ { FP64_RAND_V0(0),                                     FP64_RAND_x3_V3 } },
    15553             { /* =>      */ { FP64_V(0,0x0,0x200)/*sqrt(FP64_NORM_SAFE_INT_MIN)*/, FP64_RAND_x3_V3 } },
     15547          { { /*src1     */ { FP64_NORM_MIN(0),                           FP64_RAND_x3_V1 } },
     15548            { /*src2     */ { FP64_RAND_V0(0),                            FP64_RAND_x3_V3 } },
     15549            { /* =>      */ { FP64_V(0,0x0,0x200)/*sqrt(FP64_NORM_MIN)*/, FP64_RAND_x3_V3 } },
    1555415550              /*mxcsr:in */ 0,
    1555515551              /*128:out  */ 0,
     
    1588115877#define FP32_RSQRT_NORM_MIN   FP32_V(0, 0x7ff000, 0xbd) /* 1/sqrt(NORM_MIN) */
    1588215878#define FP32_RSQRT_NS_INT_MAX FP32_V(0, 0x000800, 0x73) /* 1/sqrt(NORM_SAFE_INT_MAX) */
    15883 #define FP32_RSQRT_NS_INT_MIN FP32_V(0, 0x7ff000, 0xbd) /* 1/sqrt(NORM_SAFE_INT_MIN) */
    1588415879    /*
    1588515880     * Zero.
     
    1598415979              /*128:out  */ X86_MXCSR_RC_ZERO,
    1598515980              /*256:out  */ X86_MXCSR_RC_ZERO },
    15986           { { /*src1     */ { FP32_NORM_MAX(0),    FP32_NORM_MIN(0),    FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(1), FP32_NORM_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(1) } },
     15981          { { /*src1     */ { FP32_NORM_MAX(0),    FP32_NORM_MIN(0),    FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MIN(0),    FP32_NORM_MAX(1), FP32_NORM_MIN(1), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MIN(1) } },
    1598715982            { /*unused   */ { FP32_ROW_UNUSED } },
    15988             { /* =>      */ { FP32_RSQRT_NORM_MAX, FP32_RSQRT_NORM_MIN, FP32_RSQRT_NS_INT_MAX,     FP32_RSQRT_NS_INT_MIN,     FP32_QNAN(1),     FP32_QNAN(1),     FP32_QNAN(1),              FP32_QNAN(1)              } },
     15983            { /* =>      */ { FP32_RSQRT_NORM_MAX, FP32_RSQRT_NORM_MIN, FP32_RSQRT_NS_INT_MAX,     FP32_RSQRT_NORM_MIN, FP32_QNAN(1),     FP32_QNAN(1),     FP32_QNAN(1),              FP32_QNAN(1)     } },
    1598915984              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
    1599015985              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
     
    1621316208              /*128:out  */ X86_MXCSR_FZ,
    1621416209              /*256:out  */ -1 },
    16215           { { /*src1     */ { FP32_NORM_V3(0),           FP32_0_x7(0)    } },
    16216             { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V1 } },
    16217             { /* =>      */ { FP32_RSQRT_NORM_V3,        FP32_RAND_x7_V1 } },
     16210          { { /*src1     */ { FP32_NORM_V3(0),    FP32_0_x7(0)    } },
     16211            { /*src2     */ { FP32_NORM_MIN(0),  FP32_RAND_x7_V1 } },
     16212            { /* =>      */ { FP32_RSQRT_NORM_V3, FP32_RAND_x7_V1 } },
    1621816213              /*mxcsr:in */ X86_MXCSR_DAZ,
    1621916214              /*128:out  */ X86_MXCSR_DAZ,
     
    1623716232              /*128:out  */ 0,
    1623816233              /*256:out  */ -1 },
    16239           { { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_x7_V5 } },
    16240             { /*src2     */ { FP32_RAND_V0(0),           FP32_RAND_x7_V7 } },
    16241             { /* =>      */ { FP32_RSQRT_NS_INT_MIN,    FP32_RAND_x7_V7 } },
     16234          { { /*src1     */ { FP32_NORM_MIN(0),    FP32_RAND_x7_V5 } },
     16235            { /*src2     */ { FP32_RAND_V0(0),     FP32_RAND_x7_V7 } },
     16236            { /* =>      */ { FP32_RSQRT_NORM_MIN, FP32_RAND_x7_V7 } },
    1624216237              /*mxcsr:in */ 0,
    1624316238              /*128:out  */ 0,
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-x-regs.c32

    r106733 r106736  
    381381#define          BS3_REGISTER_FLAG_MEMREF        0x100
    382382#define          BS3_FSxREG(reg)                 (((reg) == FSxBX || (reg) == FSxDI) ? reg : ((reg) & BS3_REGISTER_REGISTER_MASK) | BS3_REGISTER_FLAG_MEMREF)
     383#define          BS3_REGISTER_IS_MEMREF(reg)     (((reg) & BS3_REGISTER_FLAG_MEMREF) || (((reg) & BS3_REGISTER_FAMILY_MEMREF) == BS3_REGISTER_FAMILY_MEMREF))
     384#define          BS3_REGISTER_MEMREF_TO(reg)     (((reg) == FSxBX ? BX : (reg) == FSxDI ? DI : (reg)) & BS3_REGISTER_REGISTER_MASK)
    383385
    384386#define BS3_REGISTER_NAME_MAXSIZE sizeof("FSx(avail)")
     
    482484    char        pszRegName[BS3_REGISTER_NAME_MAXSIZE];
    483485
    484     if (uReg & BS3_REGISTER_FLAG_MEMREF || uReg == FSxBX || uReg == FSxDI)
     486    if (BS3_REGISTER_IS_MEMREF(uReg))
    485487    {
    486         if (uRegSet <= BS3_REGISTER_FAMILY_64BIT)
    487             uRegNum &= BS3_REGISTER_REGISTER_MASK;
    488         else if (uReg == FSxBX)
    489             uRegNum = BX;
    490         else if (uReg == FSxDI)
    491             uRegNum = DI;
     488        if (uReg == FSxBX || uReg == FSxDI || uRegSet <= BS3_REGISTER_FAMILY_64BIT)
     489            uRegNum = BS3_REGISTER_MEMREF_TO(uReg);
    492490        else
    493491            uRegNum = 255; /* Fall through to error handling below to complain about 'FSxZMM31' or whatever */
Note: See TracChangeset for help on using the changeset viewer.

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