VirtualBox

Ignore:
Timestamp:
Sep 28, 2024 10:20:18 AM (5 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: adapt maxps, minps to auto-MXCSR; bugref:10658

  • maxps, minps: remove preset exceptions from 1 entry each: let the worker do that
  • maxps: fix 3 previously-masked wrong output values
  • minps: fix 1 previously-masked wrong output value
File:
1 edited

Legend:

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

    r106176 r106177  
    13671367            { /*src1     */ { FP32_1(0),    FP32_1(1),                          FP32_QNAN_V(1, FP32_FRAC_V0), FP32_NORM_V2(1),              FP32_QNAN_V(0, FP32_FRAC_V2), FP32_NORM_V4(0),              FP32_QNAN_V(1, FP32_FRAC_V4), FP32_NORM_V6(1)              } },       \
    13681368            { /* =>      */ { FP32_QNAN(0), FP32_QNAN_V(1, FP32_FRAC_NORM_MAX), FP32_NORM_V0(1),              FP32_QNAN_V(0, FP32_FRAC_V1), FP32_NORM_V3(0),              FP32_QNAN_V(1, FP32_FRAC_V3), FP32_NORM_V5(0),              FP32_QNAN_V(1, FP32_FRAC_V5) } },       \
    1369               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS,                                                                                                                                                                                                       \
    1370               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS,                                                                                                                                                                                                       \
    1371               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS,                                                                                                                                                                                                       \
     1369              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                                                                                                                                                                                              \
     1370              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                                                                                                                                                                                               \
     1371              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                                                                                                                                                                                               \
    13721372              /*xcpt?    */ false, false },                                                                                                                                                                                                                                   \
    13731373          { { /*src2     */ { FP32_SNAN(1), FP32_SNAN_V(1, FP32_FRAC_NORM_MAX), FP32_NORM_V0(1),              FP32_SNAN_V(0, FP32_FRAC_V1), FP32_NORM_V3(0),              FP32_SNAN_V(1, FP32_FRAC_V3), FP32_NORM_V5(0),              FP32_SNAN_V(1, FP32_FRAC_V5) } },       \
     
    13941394          { { /*src2     */ { FP32_SNAN(0), FP32_SNAN_V(0, FP32_FRAC_NORM_MIN), FP32_SNAN_V(0, FP32_FRAC_V1), FP32_SNAN_V(0, FP32_FRAC_V1), FP32_SNAN_V(0, FP32_FRAC_V3), FP32_SNAN_V(0, FP32_FRAC_V4), FP32_SNAN_V(0, FP32_FRAC_V5), FP32_SNAN_V(0, FP32_FRAC_V6) } },       \
    13951395            { /*src1     */ { FP32_QNAN(0), FP32_QNAN_V(0, FP32_FRAC_NORM_MAX), FP32_QNAN_V(0, FP32_FRAC_V6), FP32_QNAN_V(0, FP32_FRAC_V5), FP32_QNAN_V(0, FP32_FRAC_V4), FP32_QNAN_V(0, FP32_FRAC_V3), FP32_QNAN_V(0, FP32_FRAC_V2), FP32_QNAN_V(0, FP32_FRAC_V1) } },       \
    1396             { /* =>      */ { FP32_QNAN(0), FP32_QNAN_V(0, FP32_FRAC_NORM_MIN), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V3), FP32_QNAN_V(0, FP32_FRAC_V4), FP32_QNAN_V(0, FP32_FRAC_V5), FP32_QNAN_V(0, FP32_FRAC_V6) } },       \
     1396            { /* =>      */ { FP32_SNAN(0), FP32_SNAN_V(0, FP32_FRAC_NORM_MIN), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V3), FP32_SNAN_V(0, FP32_FRAC_V4), FP32_SNAN_V(0, FP32_FRAC_V5), FP32_SNAN_V(0, FP32_FRAC_V6) } },       \
    13971397              /*mxcsr:in */ 0,                                                                                                                                                                                                                                                \
    13981398              /*128:out  */ X86_MXCSR_IE,                                                                                                                                                                                                                                     \
     
    1076910769    /*29*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0)          } },
    1077010770            { /*src1     */ { FP32_0(0),          FP32_DENORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(1) } },
     10771            { /* =>      */ { FP32_DENORM_MAX(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0)          } },
     10772              /*mxcsr:in */ 0,
     10773              /*128:out  */ X86_MXCSR_DE,
     10774              /*256:out  */ X86_MXCSR_DE,
     10775              /*xcpt?    */ true, true },
     10776          { { /*src2     */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0) } },
     10777            { /*src1     */ { FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0) } },
     10778            { /* =>      */ { FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0) } },
     10779              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10780              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10781              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10782              /*xcpt?    */ false, false },
     10783          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0) } },
     10784            { /*src1     */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0) } },
     10785            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
     10786              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     10787              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     10788              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     10789              /*xcpt?    */ false, false },
     10790          { { /*src2     */ { FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0) } },
     10791            { /*src1     */ { FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     10792            { /* =>      */ { FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     10793              /*mxcsr:in */ 0,
     10794              /*128:out  */ X86_MXCSR_DE,
     10795              /*256:out  */ X86_MXCSR_DE,
     10796              /*xcpt?    */ true, true },
     10797          { { /*src2     */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(1) } },
     10798            { /*src1     */ { FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0)          } },
     10799            { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(1)          } },
     10800              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     10801              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     10802              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     10803              /*xcpt?    */ false, false },
     10804          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0) } },
     10805            { /*src1     */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0) } },
     10806            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
     10807              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     10808              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     10809              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     10810              /*xcpt?    */ false, false },
     10811    /** @todo More Denormals. */
     10812    /*35*/ FP32_TABLE_D9_PS_INVALIDS
     10813    };
     10814
     10815#define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
     10816    static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
     10817    {
     10818        { bs3CpuInstr4_maxps_XMM1_XMM2_icebp_c16,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
     10819        { bs3CpuInstr4_maxps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
     10820
     10821        { bs3CpuInstr4_vmaxps_XMM1_XMM2_XMM3_icebp_c16,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     10822        { bs3CpuInstr4_vmaxps_XMM1_XMM2_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     10823
     10824        { bs3CpuInstr4_vmaxps_YMM1_YMM2_YMM3_icebp_c16,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
     10825        { bs3CpuInstr4_vmaxps_YMM1_YMM2_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
     10826    };
     10827    static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
     10828    {
     10829        { bs3CpuInstr4_maxps_XMM1_XMM2_icebp_c32,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
     10830        { bs3CpuInstr4_maxps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
     10831
     10832        { bs3CpuInstr4_vmaxps_XMM1_XMM2_XMM3_icebp_c32,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     10833        { bs3CpuInstr4_vmaxps_XMM1_XMM2_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     10834
     10835        { bs3CpuInstr4_vmaxps_YMM1_YMM2_YMM3_icebp_c32,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
     10836        { bs3CpuInstr4_vmaxps_YMM1_YMM2_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
     10837    };
     10838    static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
     10839    {
     10840        { bs3CpuInstr4_maxps_XMM1_XMM2_icebp_c64,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
     10841        { bs3CpuInstr4_maxps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
     10842
     10843        { bs3CpuInstr4_vmaxps_XMM1_XMM2_XMM3_icebp_c64,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     10844        { bs3CpuInstr4_vmaxps_XMM1_XMM2_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     10845
     10846        { bs3CpuInstr4_vmaxps_YMM1_YMM2_YMM3_icebp_c64,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
     10847        { bs3CpuInstr4_vmaxps_YMM1_YMM2_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
     10848
     10849        { bs3CpuInstr4_maxps_XMM8_XMM9_icebp_c64,  255, RM_REG, T_SSE, 8, 8, 9,   PASS_s_aValues },
     10850        { bs3CpuInstr4_maxps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, PASS_s_aValues },
     10851
     10852        { bs3CpuInstr4_vmaxps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
     10853        { bs3CpuInstr4_vmaxps_XMM8_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
     10854        { bs3CpuInstr4_vmaxps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10,  PASS_s_aValues },
     10855        { bs3CpuInstr4_vmaxps_YMM8_YMM9_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 8, 9, 255, PASS_s_aValues },
     10856    };
     10857#undef PASS_s_aValues
     10858
     10859    static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     10860    unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
     10861    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     10862                                        g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2));
     10863}
     10864
     10865
     10866/*
     10867 * [V]MAXPD.
     10868 */
     10869BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_maxpd(uint8_t bMode)
     10870{
     10871    static BS3CPUINSTR4_TEST1_VALUES_PD_T const s_aValues[] =
     10872    {
     10873    /*
     10874     * Zero.
     10875     */
     10876    /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10877            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10878            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10879              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10880              /*128:out  */ X86_MXCSR_XCPT_MASK,
     10881              /*256:out  */ X86_MXCSR_XCPT_MASK,
     10882              /*xcpt?    */ false, false },
     10883          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10884            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10885            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10886              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10887              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10888              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10889              /*xcpt?    */ false, false },
     10890          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10891            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10892            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10893              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10894              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10895              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10896              /*xcpt?    */ false, false },
     10897          { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
     10898            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
     10899            { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
     10900              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10901              /*128:out  */ X86_MXCSR_XCPT_MASK,
     10902              /*256:out  */ X86_MXCSR_XCPT_MASK,
     10903              /*xcpt?    */ false, false },
     10904          { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     10905            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10906            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     10907              /*mxcsr:in */ 0,
     10908              /*128:out  */ 0,
     10909              /*256:out  */ 0,
     10910              /*xcpt?    */ false, false },
     10911          { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
     10912            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
     10913            { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
     10914              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     10915              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     10916              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     10917              /*xcpt?    */ false, false },
     10918          { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     10919            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10920            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     10921              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     10922              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     10923              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     10924              /*xcpt?    */ false, false },
     10925          { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     10926            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
     10927            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     10928              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10929              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10930              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10931              /*xcpt?    */ false, false },
     10932          { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
     10933            { /*src1     */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
     10934            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
     10935              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     10936              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     10937              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     10938              /*xcpt?    */ false, false },
     10939    /*
     10940     * Infinity.
     10941     */
     10942    /*9 */{ { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     10943            { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
     10944            { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
     10945              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10946              /*128:out  */ X86_MXCSR_XCPT_MASK,
     10947              /*256:out  */ X86_MXCSR_XCPT_MASK,
     10948              /*xcpt?    */ false, false },
     10949          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     10950            { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
     10951            { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
     10952              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     10953              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     10954              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     10955              /*xcpt?    */ false, false },
     10956          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     10957            { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
     10958            { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
     10959              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     10960              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     10961              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     10962              /*xcpt?    */ false, false },
     10963          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     10964            { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
     10965            { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
     10966              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10967              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10968              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10969              /*xcpt?    */ false, false },
     10970          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     10971            { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
     10972            { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
     10973              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10974              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10975              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     10976              /*xcpt?    */ false, false },
     10977          { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
     10978            { /*src1     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
     10979            { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(1) } },
     10980              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     10981              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     10982              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     10983              /*xcpt?    */ false, false },
     10984          { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
     10985            { /*src1     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
     10986            { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(1) } },
     10987              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10988              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10989              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     10990              /*xcpt?    */ false, false },
     10991          { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
     10992            { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
     10993            { /* =>      */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_NORM_V2(0), FP64_NORM_V3(1) } },
     10994              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10995              /*128:out  */ X86_MXCSR_XCPT_MASK,
     10996              /*256:out  */ X86_MXCSR_XCPT_MASK,
     10997              /*xcpt?    */ false, false },
     10998          { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
     10999            { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
     11000            { /* =>      */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_NORM_V2(0), FP64_NORM_V3(1) } },
     11001              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11002              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11003              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11004              /*xcpt?    */ false, false },
     11005          { { /*src2     */ { FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V2(1), FP64_INF(1)     } },
     11006            { /*src1     */ { FP64_INF(1),     FP64_NORM_V3(0), FP64_INF(1),     FP64_NORM_V0(1) } },
     11007            { /* =>      */ { FP64_NORM_V1(0), FP64_NORM_V3(0), FP64_NORM_V2(1), FP64_NORM_V0(1) } },
     11008              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11009              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11010              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11011              /*xcpt?    */ false, false },
     11012          { { /*src2     */ { FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1), FP64_INF(1)     } },
     11013            { /*src1     */ { FP64_INF(0),     FP64_NORM_V2(0), FP64_INF(0),     FP64_NORM_V0(1) } },
     11014            { /* =>      */ { FP64_INF(0),     FP64_NORM_V2(0), FP64_INF(0),     FP64_NORM_V0(1) } },
     11015              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11016              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11017              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11018              /*xcpt?    */ false, false },
     11019    /*
     11020     * Normals.
     11021     */
     11022    /*20*/{ { /*src2     */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_NORM_V2(0), FP64_NORM_V1(1) } },
     11023            { /*src1     */ { FP64_NORM_V3(1), FP64_NORM_V1(0), FP64_NORM_V2(1), FP64_NORM_V1(0) } },
     11024            { /* =>      */ { FP64_NORM_V0(0), FP64_NORM_V1(0), FP64_NORM_V2(0), FP64_NORM_V1(0) } },
     11025              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11026              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11027              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11028              /*xcpt?    */ false, false },
     11029          { { /*src2     */ { FP64_NORM_V0(0), FP64_0(1),       FP64_NORM_V2(0), FP64_0(1)       } },
     11030            { /*src1     */ { FP64_0(0),       FP64_NORM_V1(1), FP64_0(0),       FP64_NORM_V1(0) } },
     11031            { /* =>      */ { FP64_NORM_V0(0), FP64_0(1),       FP64_NORM_V2(0), FP64_NORM_V1(0) } },
     11032              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11033              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11034              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11035              /*xcpt?    */ false, false },
     11036          { { /*src2     */ { FP64_V(0, 0, 0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(0, 0xf000000000000, 0x404)/* 62*/ } },
     11037            { /*src1     */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_V(0, 0xc000000000000, 0x401)/* 7*/, FP64_1(1),                                 FP64_V(1, 0xf000000000000, 0x404)/*-62*/ } },
     11038            { /* =>      */ { FP64_V(0, 0, 0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(0, 0xf000000000000, 0x404)/* 62*/ } },
     11039              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11040              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11041              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11042              /*xcpt?    */ false, false },
     11043          { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
     11044            { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*      100*/, FP64_1(0),                                      FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
     11045            { /* =>      */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
     11046              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11047              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11048              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11049              /*xcpt?    */ false, false },
     11050          { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
     11051            { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*     -100*/, FP64_1(0),                                      FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
     11052            { /* =>      */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
     11053              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
     11054              /*128:out  */ X86_MXCSR_RC_ZERO,
     11055              /*256:out  */ X86_MXCSR_RC_ZERO,
     11056              /*xcpt?    */ false, false },
     11057          { { /*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) } },
     11058            { /*src1     */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
     11059            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0) } },
     11060              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11061              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11062              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11063              /*xcpt?    */ false, false },
     11064          { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
     11065            { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0) } },
     11066            { /* =>      */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(0) } },
     11067              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11068              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11069              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11070              /*xcpt?    */ false, false },
     11071          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/ } },
     11072            { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/ } },
     11073            { /* =>      */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/ } },
     11074              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11075              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11076              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11077              /*xcpt?    */ false, false },
     11078          { { /*src2     */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_V(0, 0, 0x3fd)/*0.25*/, FP64_V(0, 0x26580b4c7e6b7, 0x41d)/*1234567891.1234567*/, FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/ } },
     11079            { /*src1     */ { FP64_V(0, 0,               0x3fd)/*0.25*/, FP64_V(0, 0, 0x3fe)/*0.50*/, FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_V(0, 0xf9b0207d0617d, 0x3fb)/*0.1234589833333128*/ } },
     11080            { /* =>      */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_V(0, 0, 0x3fe)/*0.50*/, FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/ } },
     11081              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11082              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11083              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11084              /*xcpt?    */ false, false },
     11085    /*
     11086     * Denormals.
     11087     */
     11088    /*29*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)         } },
     11089            { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(1), FP64_0(0),          FP64_DENORM_MAX(1) } },
     11090            { /* =>      */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)          } },
     11091              /*mxcsr:in */ 0,
     11092              /*128:out  */ X86_MXCSR_DE,
     11093              /*256:out  */ X86_MXCSR_DE,
     11094              /*xcpt?    */ true, true },
     11095          { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_DENORM_MAX(0) } },
     11096            { /*src1     */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_0(0)          } },
     11097            { /* =>      */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
     11098              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11099              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11100              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11101              /*xcpt?    */ false, false },
     11102          { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
     11103            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
     11104            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
     11105              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11106              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11107              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11108              /*xcpt?    */ false, false },
     11109          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)          } },
     11110            { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
     11111            { /* =>      */ { FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
     11112              /*mxcsr:in */ 0,
     11113              /*128:out  */ X86_MXCSR_DE,
     11114              /*256:out  */ X86_MXCSR_DE,
     11115              /*xcpt?    */ true, true },
     11116          { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_DENORM_MAX(1) } },
     11117            { /*src1     */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_0(0)          } },
     11118            { /* =>      */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_0(1)          } },
     11119              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11120              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11121              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11122              /*xcpt?    */ false, false },
     11123          { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0) } },
     11124            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
     11125            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
     11126              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11127              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11128              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11129              /*xcpt?    */ false, false },
     11130    /** @todo Denormals. */
     11131    /*
     11132     * Invalids.
     11133     */
     11134    /*35*/ FP64_TABLE_D9_PD_INVALIDS
     11135    };
     11136
     11137#define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
     11138    static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
     11139    {
     11140        { bs3CpuInstr4_maxpd_XMM1_XMM2_icebp_c16,  255, RM_REG, T_SSE2, 1, 1, 2,   PASS_s_aValues },
     11141        { bs3CpuInstr4_maxpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, PASS_s_aValues },
     11142
     11143        { bs3CpuInstr4_vmaxpd_XMM1_XMM2_XMM3_icebp_c16,  X86_XCPT_GP, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     11144        { bs3CpuInstr4_vmaxpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     11145
     11146        { bs3CpuInstr4_vmaxpd_YMM1_YMM2_YMM3_icebp_c16,  X86_XCPT_GP, RM_REG, T_AVX2_256, 1, 2, 3,   PASS_s_aValues },
     11147        { bs3CpuInstr4_vmaxpd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX2_256, 1, 2, 255, PASS_s_aValues },
     11148    };
     11149    static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
     11150    {
     11151        { bs3CpuInstr4_maxpd_XMM1_XMM2_icebp_c32,  255, RM_REG, T_SSE2, 1, 1, 2,   PASS_s_aValues },
     11152        { bs3CpuInstr4_maxpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, PASS_s_aValues },
     11153
     11154        { bs3CpuInstr4_vmaxpd_XMM1_XMM2_XMM3_icebp_c32,  X86_XCPT_GP, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     11155        { bs3CpuInstr4_vmaxpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     11156
     11157        { bs3CpuInstr4_vmaxpd_YMM1_YMM2_YMM3_icebp_c32,  X86_XCPT_GP, RM_REG, T_AVX2_256, 1, 2, 3,   PASS_s_aValues },
     11158        { bs3CpuInstr4_vmaxpd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX2_256, 1, 2, 255, PASS_s_aValues },
     11159    };
     11160    static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
     11161    {
     11162        { bs3CpuInstr4_maxpd_XMM1_XMM2_icebp_c64,  255, RM_REG, T_SSE2, 1, 1, 2,   PASS_s_aValues },
     11163        { bs3CpuInstr4_maxpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, PASS_s_aValues },
     11164
     11165        { bs3CpuInstr4_vmaxpd_XMM1_XMM2_XMM3_icebp_c64,  X86_XCPT_GP, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     11166        { bs3CpuInstr4_vmaxpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     11167
     11168        { bs3CpuInstr4_vmaxpd_YMM1_YMM2_YMM3_icebp_c64,  X86_XCPT_GP, RM_REG, T_AVX2_256, 1, 2, 3,   PASS_s_aValues },
     11169        { bs3CpuInstr4_vmaxpd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX2_256, 1, 2, 255, PASS_s_aValues },
     11170
     11171        { bs3CpuInstr4_maxpd_XMM8_XMM9_icebp_c64,  255, RM_REG, T_SSE2, 8, 8, 9,   PASS_s_aValues },
     11172        { bs3CpuInstr4_maxpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, PASS_s_aValues },
     11173
     11174        { bs3CpuInstr4_vmaxpd_XMM8_XMM9_XMM10_icebp_c64, X86_XCPT_GP, RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
     11175        { bs3CpuInstr4_vmaxpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
     11176        { bs3CpuInstr4_vmaxpd_YMM8_YMM9_YMM10_icebp_c64, X86_XCPT_GP, RM_REG, T_AVX_256, 8, 9, 10,  PASS_s_aValues },
     11177        { bs3CpuInstr4_vmaxpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, 8, 9, 255, PASS_s_aValues },
     11178    };
     11179#undef PASS_s_aValues
     11180
     11181    static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     11182    unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
     11183    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     11184                                        g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2));
     11185}
     11186
     11187
     11188/*
     11189 * [V]MAXSS.
     11190 */
     11191BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_maxss(uint8_t bMode)
     11192{
     11193    static BS3CPUINSTR4_TEST1_VALUES_SS_T const s_aValues[] =
     11194    {
     11195    /*
     11196     * Zero.
     11197     */
     11198    /* 0*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     11199            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     11200            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     11201              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11202              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11203              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11204              /*xcpt?    */ false, false },
     11205          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     11206            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     11207            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     11208              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11209              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11210              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11211              /*xcpt?    */ false, false },
     11212          { { /*src2     */ { FP32_0(0), FP32_INF(0), FP32_SNAN(0), FP32_SNAN(0), FP32_SNAN(1),      FP32_QNAN(1),      FP32_INF(1),       FP32_RAND_V7(0)   } },
     11213            { /*src1     */ { FP32_0(0), FP32_INF(1), FP32_QNAN(0), FP32_SNAN(1), FP32_QNAN_V(0, 1), FP32_QNAN_V(1, 1), FP32_SNAN_V(1, 1), FP32_SNAN_V(0, 1) } },
     11214            { /* =>      */ { FP32_0(0), FP32_INF(1), FP32_QNAN(0), FP32_SNAN(1), FP32_QNAN_V(0, 1), FP32_QNAN_V(1, 1), FP32_SNAN_V(1, 1), FP32_SNAN_V(0, 1) } },
     11215              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11216              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11217              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11218              /*xcpt?    */ false, false },
     11219          { { /*src2     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0) } },
     11220            { /*src1     */ { FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
     11221            { /* =>      */ { FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
     11222              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11223              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11224              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11225              /*xcpt?    */ false, false },
     11226          { { /*src2     */ { FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
     11227            { /*src1     */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
     11228            { /* =>      */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
     11229              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11230              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11231              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11232              /*xcpt?    */ false, false },
     11233          { { /*src2     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V7(0), FP32_RAND_V4(0), FP32_RAND_V5(0), FP32_RAND_V6(0) } },
     11234            { /*src1     */ { FP32_0(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
     11235            { /* =>      */ { FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
     11236              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11237              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11238              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11239              /*xcpt?    */ false, false },
     11240          { { /*src2     */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V7(0), FP32_RAND_V4(0), FP32_RAND_V5(0), FP32_RAND_V6(0) } },
     11241            { /*src1     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(0), FP32_RAND_V2(1), FP32_RAND_V1(0), FP32_RAND_V3(1) } },
     11242            { /* =>      */ { FP32_0(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(0), FP32_RAND_V2(1), FP32_RAND_V1(0), FP32_RAND_V3(1) } },
     11243              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11244              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11245              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11246              /*xcpt?    */ false, false },
     11247          { { /*src2     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
     11248            { /*src1     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
     11249            { /* =>      */ { FP32_0(1), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
     11250              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11251              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11252              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11253              /*xcpt?    */ false, false },
     11254          { { /*src2     */ { FP32_0(1), FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V0(0) } },
     11255            { /*src1     */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V6(0), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V2(1) } },
     11256            { /* =>      */ { FP32_0(1), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V6(0), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V2(1) } },
     11257              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11258              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11259              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11260              /*xcpt?    */ false, false },
     11261          { { /*src2     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
     11262            { /*src1     */ { FP32_0(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V7(0), FP32_RAND_V3(0), FP32_RAND_V6(1), FP32_RAND_V4(1) } },
     11263            { /* =>      */ { FP32_0(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V7(0), FP32_RAND_V3(0), FP32_RAND_V6(1), FP32_RAND_V4(1) } },
     11264              /*mxcsr:in */ 0,
     11265              /*128:out  */ 0,
     11266              /*256:out  */ 0,
     11267              /*xcpt?    */ false, false },
     11268          { { /*src2     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
     11269            { /*src1     */ { FP32_0(1), FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
     11270            { /* =>      */ { FP32_0(1), FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
     11271              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11272              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11273              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11274              /*xcpt?    */ false, false },
     11275    /*
     11276     * Infinity.
     11277     */
     11278    /*11*/{ { /*src2     */ { FP32_INF(0), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
     11279            { /*src1     */ { FP32_0(0),   FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
     11280            { /* =>      */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
     11281              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11282              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11283              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11284              /*xcpt?    */ false, false },
     11285          { { /*src2     */ { FP32_0(0),   FP32_RAND_V5(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
     11286            { /*src1     */ { FP32_INF(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V7(1) } },
     11287            { /* =>      */ { FP32_INF(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V7(1) } },
     11288              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11289              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11290              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11291              /*xcpt?    */ false, false },
     11292          { { /*src2     */ { FP32_INF(0), FP32_INF(1),     FP32_SNAN(1),    FP32_QNAN(1),    FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
     11293            { /*src1     */ { FP32_0(0),   FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0),    FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     11294            { /* =>      */ { FP32_INF(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0),    FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     11295              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11296              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11297              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11298              /*xcpt?    */ false, false },
     11299          { { /*src2     */ { FP32_0(0),   FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
     11300            { /*src1     */ { FP32_INF(1), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
     11301            { /* =>      */ { FP32_0(0),   FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
     11302              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11303              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11304              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11305              /*xcpt?    */ false, false },
     11306          { { /*src2     */ { FP32_INF(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V4(1), FP32_RAND_V5(1),   FP32_RAND_V7(1),   FP32_RAND_V0(1) } },
     11307            { /*src1     */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_SNAN_V(0, 1), FP32_SNAN_V(1, 1), FP32_RAND_V2(1) } },
     11308            { /* =>      */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_SNAN_V(0, 1), FP32_SNAN_V(1, 1), FP32_RAND_V2(1) } },
     11309              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11310              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11311              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11312              /*xcpt?    */ false, false },
     11313          { { /*src2     */ { FP32_INF(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V4(0), FP32_RAND_V5(1),   FP32_RAND_V7(1),   FP32_RAND_V0(1) } },
     11314            { /*src1     */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V0(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_SNAN_V(1, 1), FP32_QNAN_V(1, 1), FP32_RAND_V3(1) } },
     11315            { /* =>      */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V0(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_SNAN_V(1, 1), FP32_QNAN_V(1, 1), FP32_RAND_V3(1) } },
     11316              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11317              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11318              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11319              /*xcpt?    */ false, false },
     11320          { { /*src2     */ { FP32_INF(1), FP32_RAND_V3(0),   FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V7(1),   FP32_RAND_V0(0) } },
     11321            { /*src1     */ { FP32_INF(1), FP32_QNAN_V(1, 1), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_QNAN_V(1, 0), FP32_RAND_V1(0) } },
     11322            { /* =>      */ { FP32_INF(1), FP32_QNAN_V(1, 1), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_QNAN_V(1, 0), FP32_RAND_V1(0) } },
     11323              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11324              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11325              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11326              /*xcpt?    */ false, false },
     11327          { { /*src2     */ { FP32_INF(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
     11328            { /*src1     */ { FP32_INF(1), FP32_RAND_V0(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V5(1) } },
     11329            { /* =>      */ { FP32_INF(1), FP32_RAND_V0(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V5(1) } },
     11330              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11331              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11332              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11333              /*xcpt?    */ false, false },
     11334          { { /*src2     */ { FP32_INF(1), FP32_RAND_V1(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(0), FP32_RAND_V1(1) } },
     11335            { /*src1     */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V2(0), FP32_RAND_V3(1) } },
     11336            { /* =>      */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V2(0), FP32_RAND_V3(1) } },
     11337              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11338              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11339              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11340              /*xcpt?    */ false, false },
     11341          { { /*src2     */ { FP32_INF(1), FP32_RAND_V0(1), FP32_RAND_V2(1), FP32_RAND_V4(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11342            { /*src1     */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V4(1) } },
     11343            { /* =>      */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V4(1) } },
     11344              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11345              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11346              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11347              /*xcpt?    */ false, false },
     11348          { { /*src2     */ { FP32_INF(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V1(1), FP32_RAND_V7(1), FP32_RAND_V2(0) } },
     11349            { /*src1     */ { FP32_INF(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V1(1), FP32_RAND_V0(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
     11350            { /* =>      */ { FP32_INF(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V1(1), FP32_RAND_V0(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
     11351              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11352              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11353              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11354              /*xcpt?    */ false, false },
     11355          { { /*src2     */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V2(1), FP32_RAND_V4(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11356            { /*src1     */ { FP32_INF(1), FP32_RAND_V0(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V4(1) } },
     11357            { /* =>      */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V4(1) } },
     11358              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11359              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11360              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11361              /*xcpt?    */ false, false },
     11362          { { /*src2     */ { FP32_INF(0),     FP32_RAND_V0(0), FP32_RAND_V2(1), FP32_RAND_V4(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V1(0) } },
     11363            { /*src1     */ { FP32_NORM_V0(0), FP32_RAND_V1(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V6(1), FP32_RAND_V2(1), FP32_RAND_V4(0) } },
     11364            { /* =>      */ { FP32_INF(0),     FP32_RAND_V1(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V6(1), FP32_RAND_V2(1), FP32_RAND_V4(0) } },
     11365              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11366              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11367              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11368              /*xcpt?    */ false, false },
     11369          { { /*src2     */ { FP32_INF(0),     FP32_INF(0), FP32_SNAN(1), FP32_INF(1),  FP32_RAND_V3(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V4(0) } },
     11370            { /*src1     */ { FP32_NORM_V3(0), FP32_INF(1), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11371            { /* =>      */ { FP32_INF(0),     FP32_INF(1), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11372              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11373              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11374              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11375              /*xcpt?    */ false, false },
     11376          { { /*src2     */ { FP32_NORM_V7(0), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_INF(1), FP32_SNAN(0), FP32_INF(0),  FP32_RAND_V2(0) } },
     11377            { /*src1     */ { FP32_INF(1),     FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_INF(1), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V3(0) } },
     11378            { /* =>      */ { FP32_NORM_V7(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_INF(1), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V3(0) } },
     11379              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11380              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11381              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11382              /*xcpt?    */ false, false },
     11383          { { /*src2     */ { FP32_NORM_V7(0), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_QNAN(1), FP32_SNAN(0), FP32_INF(1),  FP32_RAND_V2(1) } },
     11384            { /*src1     */ { FP32_INF(0),     FP32_RAND_V7(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_QNAN(1), FP32_QNAN(1), FP32_SNAN(0), FP32_RAND_V3(1) } },
     11385            { /* =>      */ { FP32_INF(0),     FP32_RAND_V7(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_QNAN(1), FP32_QNAN(1), FP32_SNAN(0), FP32_RAND_V3(1) } },
     11386              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11387              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11388              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11389              /*xcpt?    */ false, false },
     11390    /*
     11391     * Normals.
     11392     */
     11393    /*27*/{ { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V1(1) } },
     11394            { /*src1     */ { FP32_NORM_MAX(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V3(1), FP32_RAND_V1(1) } },
     11395            { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V3(1), FP32_RAND_V1(1) } },
     11396              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11397              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11398              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11399              /*xcpt?    */ false, false },
     11400          { { /*src2     */ { FP32_NORM_MIN(0), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
     11401            { /*src1     */ { FP32_NORM_MIN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V0(1), FP32_RAND_V7(0) } },
     11402            { /* =>      */ { FP32_NORM_MIN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V0(1), FP32_RAND_V7(0) } },
     11403              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11404              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11405              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11406              /*xcpt?    */ false, false },
     11407          { { /*src2     */ { FP32_NORM_MIN(0), FP32_RAND_V3(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
     11408            { /*src1     */ { FP32_NORM_MAX(0), FP32_RAND_V1(0), FP32_RAND_V6(0), FP32_RAND_V4(0), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V6(0), FP32_RAND_V4(1) } },
     11409            { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V1(0), FP32_RAND_V6(0), FP32_RAND_V4(0), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V6(0), FP32_RAND_V4(1) } },
     11410              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11411              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11412              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11413              /*xcpt?    */ false, false },
     11414          { { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
     11415            { /*src1     */ { FP32_NORM_MAX(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
     11416            { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
     11417              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11418              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11419              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11420              /*xcpt?    */ false, false },
     11421          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
     11422            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(0), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V0(0), FP32_RAND_V1(1) } },
     11423            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(0), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V0(0), FP32_RAND_V1(1) } },
     11424              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11425              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11426              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11427              /*xcpt?    */ false, false },
     11428          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
     11429            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
     11430            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
     11431              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11432              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11433              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11434              /*xcpt?    */ false, false },
     11435          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_INF(0),     FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(1), FP32_SNAN(1),    FP32_SNAN(0),    FP32_QNAN(1)    } },
     11436            { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     11437            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     11438              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11439              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11440              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11441              /*xcpt?    */ false, false },
     11442          { { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1) } },
     11443            { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1) } },
     11444            { /* =>      */ { FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1) } },
     11445              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11446              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11447              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11448              /*xcpt?    */ false, false },
     11449          { { /*src2     */ { FP32_V(0, 0, 0x7d)/*0.25*/, FP32_RAND_V2(1), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V4(0), FP32_RAND_V3(1),   FP32_RAND_V7(0),   FP32_RAND_V1(1) } },
     11450            { /*src1     */ { FP32_V(0, 0, 0x7e)/*0.50*/, FP32_RAND_V0(0), FP32_RAND_V5(0), FP32_RAND_V7(0), FP32_RAND_V2(1), FP32_SNAN_V(1, 1), FP32_SNAN_V(0, 1), FP32_RAND_V3(0) } },
     11451            { /* =>      */ { FP32_V(0, 0, 0x7e)/*0.50*/, FP32_RAND_V0(0), FP32_RAND_V5(0), FP32_RAND_V7(0), FP32_RAND_V2(1), FP32_SNAN_V(1, 1), FP32_SNAN_V(0, 1), FP32_RAND_V3(0) } },
     11452              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11453              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11454              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11455              /*xcpt?    */ false, false },
     11456          { { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V0(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1) } },
     11457            { /*src1     */ { FP32_NORM_V1(0),  FP32_RAND_V0(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(0), FP32_RAND_V7(0) } },
     11458            { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V0(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(0), FP32_RAND_V7(0) } },
     11459              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     11460              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     11461              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     11462              /*xcpt?    */ false, false },
     11463          { { /*src2     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V4(0), FP32_RAND_V7(0), FP32_RAND_V6(0) } },
     11464            { /*src1     */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V3(1) } },
     11465            { /* =>      */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V3(1) } },
     11466              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11467              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11468              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11469              /*xcpt?    */ false, false },
     11470          { { /*src2     */ { FP32_V(1, 0x2514d6, 0x93)/*-1352346.75*/, FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
     11471            { /*src1     */ { FP32_V(0, 0x7c9000, 0x88)/*    1010.25*/, FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
     11472            { /* =>      */ { FP32_V(0, 0x7c9000, 0x88)/*    1010.25*/, FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
     11473              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11474              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11475              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11476              /*xcpt?    */ false, false },
     11477          { { /*src2     */ { FP32_V(1, 0x2514d6, 0x93)/*-1352346.75*/, FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
     11478            { /*src1     */ { FP32_V(0, 0x253468, 0x93)/* 1353357.00*/, FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V0(1), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V4(0), FP32_RAND_V4(1) } },
     11479            { /* =>      */ { FP32_V(0, 0x253468, 0x93)/* 1353357.00*/, FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V0(1), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V4(0), FP32_RAND_V4(1) } },
     11480              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11481              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11482              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11483              /*xcpt?    */ false, false },
     11484          { { /*src2     */ { FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
     11485            { /*src1     */ { FP32_V(1, 0x40e6b7, 0x8c)/*-12345.679*/, FP32_RAND_V1(1), FP32_RAND_V0(0), FP32_RAND_V0(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V4(1) } },
     11486            { /* =>      */ { FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_RAND_V1(1), FP32_RAND_V0(0), FP32_RAND_V0(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V4(1) } },
     11487              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11488              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11489              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11490              /*xcpt?    */ false, false },
     11491          { { /*src2     */ { FP32_V(0, 0x620b2e, 0x92)/*925874.9*/, FP32_RAND_V5(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V1(1) } },
     11492            { /*src1     */ { FP32_V(0, 0x620b2d, 0x92)/*925874.8*/, FP32_RAND_V3(0), FP32_RAND_V6(1), FP32_RAND_V0(1), FP32_RAND_V6(0), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
     11493            { /* =>      */ { FP32_V(0, 0x620b2e, 0x92)/*925874.9*/, FP32_RAND_V3(0), FP32_RAND_V6(1), FP32_RAND_V0(1), FP32_RAND_V6(0), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
     11494              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11495              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11496              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11497              /*xcpt?    */ false, false },
     11498          { { /*src2     */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_RAND_V6(1), FP32_RAND_V2(1), FP32_RAND_V4(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11499            { /*src1     */ { FP32_V(0, 0x490fdb, 0x80)/*3.1415927*/, FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V3(0), FP32_RAND_V7(0), FP32_RAND_V1(0), FP32_RAND_V1(1) } },
     11500            { /* =>      */ { FP32_V(0, 0x490fdb, 0x80)/*3.1415927*/, FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V3(0), FP32_RAND_V7(0), FP32_RAND_V1(0), FP32_RAND_V1(1) } },
     11501              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11502              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11503              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11504              /*xcpt?    */ false, false },
     11505          { { /*src2     */ { FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_INF(1), FP32_SNAN(1), FP32_INF(1),  FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V6(1) } },
     11506            { /*src1     */ { FP32_V(1, 0x40e6b7, 0x8c)/*-12345.679*/, FP32_INF(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V7(1) } },
     11507            { /* =>      */ { FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_INF(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V7(1) } },
     11508              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11509              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11510              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11511              /*xcpt?    */ false, false },
     11512          { { /*src2     */ { FP32_V(0, 0x5dd520, 0x8e)/* 56789.125*/, FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_QNAN(0), FP32_SNAN(1), FP32_INF(0),  FP32_RAND_V3(1) } },
     11513            { /*src1     */ { FP32_V(1, 0x5dd521, 0x8e)/*-56789.127*/, FP32_RAND_V7(0), FP32_RAND_V7(0), FP32_RAND_V5(1), FP32_QNAN(0), FP32_QNAN(0), FP32_SNAN(1), FP32_RAND_V2(0) } },
     11514            { /* =>      */ { FP32_V(0, 0x5dd520, 0x8e)/* 56789.125*/, FP32_RAND_V7(0), FP32_RAND_V7(0), FP32_RAND_V5(1), FP32_QNAN(0), FP32_QNAN(0), FP32_SNAN(1), FP32_RAND_V2(0) } },
     11515              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11516              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11517              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11518              /*xcpt?    */ false, false },
     11519          { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/* 0.875*/, FP32_RAND_V4(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V0(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11520            { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.250*/, FP32_RAND_V2(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V7(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(1) } },
     11521            { /* =>      */ { FP32_V(0, 0x600000, 0x7e)/* 0.875*/, FP32_RAND_V2(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V7(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(1) } },
     11522              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11523              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11524              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11525              /*xcpt?    */ false, false },
     11526    /** @todo More Normals. */
     11527    /*
     11528     * Denormals.
     11529     */
     11530    /*46*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
     11531            { /*src1     */ { FP32_0(0),          FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
     11532            { /* =>      */ { FP32_0(0),          FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
     11533              /*mxcsr:in */ 0,
     11534              /*128:out  */ X86_MXCSR_DE,
     11535              /*256:out  */ X86_MXCSR_DE,
     11536              /*xcpt?    */ true, true },
     11537          { { /*src2     */ { FP32_0(0),          FP32_SNAN(0),    FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(0), FP32_SNAN(0),    FP32_SNAN(0),    FP32_QNAN(1)    } },
     11538            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_QNAN(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
     11539            { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_QNAN(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
     11540              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11541              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11542              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11543              /*xcpt?    */ false, false },
     11544          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_INF(1), FP32_SNAN(0), FP32_INF(1),  FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
     11545            { /*src1     */ { FP32_DENORM_MAX(0), FP32_INF(0), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V3(0) } },
     11546            { /* =>      */ { FP32_0(0),          FP32_INF(0), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V3(0) } },
     11547              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11548              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11549              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11550              /*xcpt?    */ false, false },
     11551          { { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V7(0), FP32_RAND_V0(0) } },
     11552            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V4(1) } },
     11553            { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V4(1) } },
     11554              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11555              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11556              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11557              /*xcpt?    */ false, false },
     11558          { { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1) } },
     11559            { /*src1     */ { FP32_DENORM_MAX(1), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
     11560            { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
     11561              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11562              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11563              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11564              /*xcpt?    */ false, false },
     11565          { { /*src2     */ { FP32_DENORM_MAX(1), FP32_RAND_V3(1), FP32_RAND_V7(0), FP32_RAND_V6(1), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V7(1), FP32_RAND_V2(1) } },
     11566            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11567            { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11568              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11569              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11570              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11571              /*xcpt?    */ false, false },
     11572          { { /*src2     */ { FP32_DENORM_MIN(1), FP32_RAND_V7(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     11573            { /*src1     */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
     11574            { /* =>      */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
     11575              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11576              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11577              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11578              /*xcpt?    */ false, false },
     11579          { { /*src2     */ { FP32_DENORM_MIN(1), FP32_INF(0),     FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(1), FP32_SNAN(1),    FP32_SNAN(0),    FP32_QNAN(1)    } },
     11580            { /*src1     */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     11581            { /* =>      */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     11582              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11583              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11584              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11585              /*xcpt?    */ false, false },
     11586          { { /*src2     */ { FP32_DENORM_MIN(1), FP32_INF(0),     FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(1), FP32_SNAN(1),    FP32_SNAN(0),    FP32_QNAN(1)    } },
     11587            { /*src1     */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     11588            { /* =>      */ { FP32_0(1),          FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     11589              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11590              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11591              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     11592              /*xcpt?    */ false, false },
     11593          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
     11594            { /*src1     */ { FP32_0(0),          FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
     11595            { /* =>      */ { FP32_DENORM_MIN(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
     11596              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11597              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11598              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11599              /*xcpt?    */ false, false },
     11600    /** @todo More Denormals. */
     11601    /*56*/ FP32_TABLE_D9_SS_INVALIDS
     11602    /** @todo Rounding; FZ etc. */
     11603    };
     11604
     11605#define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
     11606    static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
     11607    {
     11608        { bs3CpuInstr4_maxss_XMM3_XMM4_icebp_c16,  255, RM_REG, T_SSE, 3, 3, 4,   PASS_s_aValues },
     11609        { bs3CpuInstr4_maxss_XMM3_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 3, 3, 255, PASS_s_aValues },
     11610
     11611        { bs3CpuInstr4_vmaxss_XMM1_XMM6_XMM7_icebp_c16,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
     11612        { bs3CpuInstr4_vmaxss_XMM1_XMM6_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
     11613    };
     11614    static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
     11615    {
     11616        { bs3CpuInstr4_maxss_XMM3_XMM4_icebp_c32,  255, RM_REG, T_SSE, 3, 3, 4,   PASS_s_aValues },
     11617        { bs3CpuInstr4_maxss_XMM3_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 3, 3, 255, PASS_s_aValues },
     11618
     11619        { bs3CpuInstr4_vmaxss_XMM1_XMM6_XMM7_icebp_c32,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
     11620        { bs3CpuInstr4_vmaxss_XMM1_XMM6_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
     11621    };
     11622    static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
     11623    {
     11624        { bs3CpuInstr4_maxss_XMM3_XMM4_icebp_c64,  255, RM_REG, T_SSE, 3, 3, 4,   PASS_s_aValues },
     11625        { bs3CpuInstr4_maxss_XMM3_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 3, 3, 255, PASS_s_aValues },
     11626
     11627        { bs3CpuInstr4_vmaxss_XMM1_XMM6_XMM7_icebp_c64,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
     11628        { bs3CpuInstr4_vmaxss_XMM1_XMM6_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
     11629
     11630        { bs3CpuInstr4_maxss_XMM8_XMM9_icebp_c64,  255,         RM_REG, T_SSE, 8, 8, 9,   PASS_s_aValues },
     11631        { bs3CpuInstr4_maxss_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_SSE, 8, 8, 255, PASS_s_aValues },
     11632
     11633        { bs3CpuInstr4_vmaxss_XMM8_XMM9_XMM10_icebp_c64, 255,         RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
     11634        { bs3CpuInstr4_vmaxss_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
     11635    };
     11636#undef PASS_s_aValues
     11637
     11638    static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     11639    unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
     11640    return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     11641                                        g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3));
     11642}
     11643
     11644
     11645/*
     11646 * [V]MAXSD.
     11647 */
     11648BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_maxsd(uint8_t bMode)
     11649{
     11650    static BS3CPUINSTR4_TEST1_VALUES_SD_T const s_aValues[] =
     11651    {
     11652    /*
     11653     * Zero.
     11654     */
     11655    /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     11656            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     11657            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     11658              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11659              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11660              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11661              /*xcpt?    */ false, false },
     11662          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     11663            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     11664            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     11665              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11666              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11667              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     11668              /*xcpt?    */ false, false },
     11669          { { /*src2     */ { FP64_0(0), FP64_INF(0), FP64_SNAN(0), FP64_SNAN(0) } },
     11670            { /*src1     */ { FP64_0(0), FP64_INF(1), FP64_QNAN(0), FP64_SNAN(1) } },
     11671            { /* =>      */ { FP64_0(0), FP64_INF(1), FP64_QNAN(0), FP64_SNAN(1) } },
     11672              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11673              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11674              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11675              /*xcpt?    */ false, false },
     11676          { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V0(0) } },
     11677            { /*src1     */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
     11678            { /* =>      */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
     11679              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11680              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11681              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11682              /*xcpt?    */ false, false },
     11683          { { /*src2     */ { FP64_0(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
     11684            { /*src1     */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
     11685            { /* =>      */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
     11686              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11687              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11688              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11689              /*xcpt?    */ false, false },
     11690          { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V3(0) } },
     11691            { /*src1     */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
     11692            { /* =>      */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
     11693              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11694              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11695              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11696              /*xcpt?    */ false, false },
     11697          { { /*src2     */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } },
     11698            { /*src1     */ { FP64_0(1), FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } },
     11699            { /* =>      */ { FP64_0(0), FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } },
     11700              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11701              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11702              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11703              /*xcpt?    */ false, false },
     11704          { { /*src2     */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(1) } },
     11705            { /*src1     */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11706            { /* =>      */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11707              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11708              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11709              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11710              /*xcpt?    */ false, false },
     11711          { { /*src2     */ { FP64_0(1), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
     11712            { /*src1     */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
     11713            { /* =>      */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
     11714              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11715              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11716              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11717              /*xcpt?    */ false, false },
     11718          { { /*src2     */ { FP64_0(1), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11719            { /*src1     */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } },
     11720            { /* =>      */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } },
     11721              /*mxcsr:in */ 0,
     11722              /*128:out  */ 0,
     11723              /*256:out  */ 0,
     11724              /*xcpt?    */ false, false },
     11725          { { /*src2     */ { FP64_0(1), FP64_RAND_V3(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } },
     11726            { /*src1     */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V0(1), FP64_RAND_V2(1) } },
     11727            { /* =>      */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V0(1), FP64_RAND_V2(1) } },
     11728              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11729              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11730              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11731              /*xcpt?    */ false, false },
     11732    /*
     11733     * Infinity.
     11734     */
     11735    /*11*/{ { /*src2     */ { FP64_INF(0), FP64_RAND_V3(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } },
     11736            { /*src1     */ { FP64_0(0),   FP64_RAND_V1(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
     11737            { /* =>      */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
     11738              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11739              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11740              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11741              /*xcpt?    */ false, false },
     11742          { { /*src2     */ { FP64_0(0),   FP64_RAND_V1(1), FP64_RAND_V1(1), FP64_RAND_V3(1) } },
     11743            { /*src1     */ { FP64_INF(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11744            { /* =>      */ { FP64_INF(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11745              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11746              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11747              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11748              /*xcpt?    */ false, false },
     11749          { { /*src2     */ { FP64_INF(0), FP64_INF(1),     FP64_SNAN(1),    FP64_QNAN(1)    } },
     11750            { /*src1     */ { FP64_0(0),   FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11751            { /* =>      */ { FP64_INF(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11752              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11753              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11754              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11755              /*xcpt?    */ false, false },
     11756          { { /*src2     */ { FP64_0(0),   FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11757            { /*src1     */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
     11758            { /* =>      */ { FP64_0(0),   FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
     11759              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11760              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11761              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     11762              /*xcpt?    */ false, false },
     11763          { { /*src2     */ { FP64_INF(0), FP64_RAND_V3(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
     11764            { /*src1     */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
     11765            { /* =>      */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
     11766              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11767              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11768              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11769              /*xcpt?    */ false, false },
     11770          { { /*src2     */ { FP64_INF(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
     11771            { /*src1     */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } },
     11772            { /* =>      */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } },
     11773              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11774              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11775              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11776              /*xcpt?    */ false, false },
     11777          { { /*src2     */ { FP64_INF(1), FP64_RAND_V3(0),   FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11778            { /*src1     */ { FP64_INF(1), FP64_QNAN_V(1, 1), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
     11779            { /* =>      */ { FP64_INF(1), FP64_QNAN_V(1, 1), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
     11780              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11781              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11782              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11783              /*xcpt?    */ false, false },
     11784          { { /*src2     */ { FP64_INF(1), FP64_RAND_V2(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } },
     11785            { /*src1     */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
     11786            { /* =>      */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
     11787              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11788              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11789              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11790              /*xcpt?    */ false, false },
     11791          { { /*src2     */ { FP64_INF(1), FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
     11792            { /*src1     */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
     11793            { /* =>      */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
     11794              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11795              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11796              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11797              /*xcpt?    */ false, false },
     11798          { { /*src2     */ { FP64_INF(1), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11799            { /*src1     */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     11800            { /* =>      */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     11801              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11802              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11803              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11804              /*xcpt?    */ false, false },
     11805          { { /*src2     */ { FP64_INF(0), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
     11806            { /*src1     */ { FP64_INF(1), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } },
     11807            { /* =>      */ { FP64_INF(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } },
     11808              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11809              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11810              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11811              /*xcpt?    */ false, false },
     11812          { { /*src2     */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11813            { /*src1     */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     11814            { /* =>      */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     11815              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11816              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11817              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     11818              /*xcpt?    */ false, false },
     11819          { { /*src2     */ { FP64_INF(0),     FP64_RAND_V0(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11820            { /*src1     */ { FP64_NORM_V0(0), FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V1(1) } },
     11821            { /* =>      */ { FP64_INF(0),     FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V1(1) } },
     11822              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11823              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11824              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11825              /*xcpt?    */ false, false },
     11826          { { /*src2     */ { FP64_INF(0),     FP64_INF(0), FP64_SNAN(1), FP64_INF(1)  } },
     11827            { /*src1     */ { FP64_NORM_V3(0), FP64_INF(1), FP64_QNAN(1), FP64_SNAN(1) } },
     11828            { /* =>      */ { FP64_INF(0),     FP64_INF(1), FP64_QNAN(1), FP64_SNAN(1) } },
     11829              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11830              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11831              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11832              /*xcpt?    */ false, false },
     11833          { { /*src2     */ { FP64_NORM_V2(0), FP64_RAND_V3(1), FP64_QNAN(1),    FP64_SNAN(1)    } },
     11834            { /*src1     */ { FP64_INF(1),     FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
     11835            { /* =>      */ { FP64_NORM_V2(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
     11836              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11837              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11838              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     11839              /*xcpt?    */ false, false },
     11840          { { /*src2     */ { FP64_NORM_V2(0), FP64_SNAN_V(0, 1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
     11841            { /*src1     */ { FP64_INF(0),     FP64_RAND_V2(0),   FP64_RAND_V1(0), FP64_RAND_V2(1) } },
     11842            { /* =>      */ { FP64_INF(0),     FP64_RAND_V2(0),   FP64_RAND_V1(0), FP64_RAND_V2(1) } },
     11843              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11844              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11845              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11846              /*xcpt?    */ false, false },
     11847    /*
     11848     * Normals.
     11849     */
     11850    /*27*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } },
     11851            { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V2(1) } },
     11852            { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V2(1) } },
     11853              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11854              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11855              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11856              /*xcpt?    */ false, false },
     11857          { { /*src2     */ { FP64_NORM_MIN(0), FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11858            { /*src1     */ { FP64_NORM_MIN(0), FP64_RAND_V2(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
     11859            { /* =>      */ { FP64_NORM_MIN(0), FP64_RAND_V2(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
     11860              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11861              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11862              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11863              /*xcpt?    */ false, false },
     11864          { { /*src2     */ { FP64_NORM_MIN(0), FP64_RAND_V3(1), FP64_RAND_V0(1), FP64_RAND_V3(0) } },
     11865            { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V1(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
     11866            { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V1(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
     11867              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11868              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11869              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11870              /*xcpt?    */ false, false },
     11871          { { /*src2     */ { FP64_NORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11872            { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
     11873            { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
     11874              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11875              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11876              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11877              /*xcpt?    */ false, false },
     11878          { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11879            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
     11880            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
     11881              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11882              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11883              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11884              /*xcpt?    */ false, false },
     11885          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     11886            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11887            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11888              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11889              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11890              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11891              /*xcpt?    */ false, false },
     11892          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_INF(0),     FP64_QNAN(1),    FP64_QNAN(0)    } },
     11893            { /*src1     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11894            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     11895              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11896              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11897              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11898              /*xcpt?    */ false, false },
     11899          { { /*src2     */ { FP64_V(0, 0, 0x409)/*1024*/,  FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11900            { /*src1     */ { FP64_V(0, 0, 0x408)/* 512*/,  FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11901            { /* =>      */ { FP64_V(0, 0, 0x409)/*1024*/,  FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11902              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11903              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11904              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11905              /*xcpt?    */ false, false },
     11906          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/,  FP64_RAND_V2(1), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     11907            { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/,  FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
     11908            { /* =>      */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/,  FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
     11909              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11910              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11911              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11912              /*xcpt?    */ false, false },
     11913          { { /*src2     */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11914            { /*src1     */ { FP64_NORM_V1(0),  FP64_RAND_V0(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
     11915            { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
     11916              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     11917              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     11918              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     11919              /*xcpt?    */ false, false },
     11920          { { /*src2     */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11921            { /*src1     */ { FP64_V(0, 0,               0x3fd)/*0.25*/, FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V1(0) } },
     11922            { /* =>      */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V1(0) } },
     11923              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11924              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11925              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11926              /*xcpt?    */ false, false },
     11927          { { /*src2     */ { FP64_V(1, 0, 0x3fd)/*-0.25*/, FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11928            { /*src1     */ { FP64_V(1, 0, 0x3fe)/*-0.50*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
     11929            { /* =>      */ { FP64_V(1, 0, 0x3fd)/*-0.25*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
     11930              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11931              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11932              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11933              /*xcpt?    */ false, false },
     11934          { { /*src2     */ { FP64_V(0, 0x26580b4c7e6b7, 0x41d)/*1234567891.1234567*/, FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V3(1) } },
     11935            { /*src1     */ { FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_RAND_V3(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
     11936            { /* =>      */ { FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_RAND_V3(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
     11937              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11938              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11939              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11940              /*xcpt?    */ false, false },
     11941          { { /*src2     */ { FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/, FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11942            { /*src1     */ { FP64_V(0, 0xf9b0207d0617d, 0x3fb)/*0.1234589833333128*/, FP64_RAND_V1(1), FP64_RAND_V0(0), FP64_RAND_V0(1) } },
     11943            { /* =>      */ { FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/, FP64_RAND_V1(1), FP64_RAND_V0(0), FP64_RAND_V0(1) } },
     11944              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11945              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11946              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11947              /*xcpt?    */ false, false },
     11948          { { /*src2     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/,  FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
     11949            { /*src1     */ { FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/,  FP64_RAND_V3(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
     11950            { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/,  FP64_RAND_V3(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
     11951              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11952              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11953              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11954              /*xcpt?    */ false, false },
     11955          { { /*src2     */ { FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/, FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
     11956            { /*src1     */ { FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     11957            { /* =>      */ { FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     11958              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11959              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11960              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     11961              /*xcpt?    */ false, false },
     11962          { { /*src2     */ { FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/, FP64_INF(1), FP64_SNAN(1), FP64_INF(1)  } },
     11963            { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/, FP64_INF(1), FP64_QNAN(0), FP64_SNAN(0) } },
     11964            { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/, FP64_INF(1), FP64_QNAN(0), FP64_SNAN(0) } },
     11965              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11966              /*128:out  */ X86_MXCSR_XCPT_MASK,
     11967              /*256:out  */ X86_MXCSR_XCPT_MASK,
     11968              /*xcpt?    */ false, false },
     11969          { { /*src2     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/* 244555555308646.00*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
     11970            { /*src1     */ { FP64_V(1, 0xb88e0395d49b0, 0x42d)/*-121098765432102.75*/, FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V2(1) } },
     11971            { /* =>      */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/* 244555555308646.00*/, FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V2(1) } },
     11972              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11973              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11974              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     11975              /*xcpt?    */ false, false },
     11976          { { /*src2     */ { FP64_V(1, 0xcf0033a34f337, 0x432)/*-4072598000007579.5*/, FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
     11977            { /*src1     */ { FP64_V(0, 0xd6eca42000000, 0x419)/*        123450000.5*/, FP64_RAND_V2(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11978            { /* =>      */ { FP64_V(0, 0xd6eca42000000, 0x419)/*        123450000.5*/, FP64_RAND_V2(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
     11979              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11980              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11981              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     11982              /*xcpt?    */ false, false },
     11983    /** @todo More Normals. */
     11984    /*
     11985     * Denormals.
     11986     */
     11987    /*46*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V0(1), FP64_RAND_V3(0) } },
     11988            { /*src1     */ { FP64_0(0),          FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V2(1) } },
     11989            { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V2(1) } },
     11990              /*mxcsr:in */ 0,
     11991              /*128:out  */ X86_MXCSR_DE,
     11992              /*256:out  */ X86_MXCSR_DE,
     11993              /*xcpt?    */ true, true },
     11994          { { /*src2     */ { FP64_0(0),          FP64_SNAN(0),    FP64_QNAN(1),    FP64_QNAN(0)    } },
     11995            { /*src1     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V3(1), FP64_RAND_V2(0) } },
     11996            { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V3(1), FP64_RAND_V2(0) } },
     11997              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     11998              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     11999              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12000              /*xcpt?    */ false, false },
     12001          { { /*src2     */ { FP64_DENORM_MIN(0), FP64_INF(1), FP64_SNAN(0), FP64_INF(1)  } },
     12002            { /*src1     */ { FP64_DENORM_MAX(0), FP64_INF(0), FP64_QNAN(1), FP64_SNAN(1) } },
     12003            { /* =>      */ { FP64_0(0),          FP64_INF(0), FP64_QNAN(1), FP64_SNAN(1) } },
     12004              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     12005              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     12006              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     12007              /*xcpt?    */ false, false },
     12008          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V0(1), FP64_RAND_V3(0) } },
     12009            { /*src1     */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     12010            { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
     12011              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12012              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12013              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12014              /*xcpt?    */ false, false },
     12015          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V2(0) } },
     12016            { /*src1     */ { FP64_DENORM_MAX(1), FP64_RAND_V0(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
     12017            { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V0(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
     12018              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12019              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12020              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12021              /*xcpt?    */ false, false },
     12022          { { /*src2     */ { FP64_DENORM_MAX(1), FP64_RAND_V3(1), FP64_RAND_V0(0), FP64_RAND_V3(1) } },
     12023            { /*src1     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } },
     12024            { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } },
     12025              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12026              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12027              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12028              /*xcpt?    */ false, false },
     12029          { { /*src2     */ { FP64_DENORM_MIN(1), FP64_RAND_V0(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } },
     12030            { /*src1     */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
     12031            { /* =>      */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
     12032              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12033              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12034              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12035              /*xcpt?    */ false, false },
     12036          { { /*src2     */ { FP64_DENORM_MIN(1), FP64_INF(0),     FP64_QNAN(1),    FP64_SNAN_V(1, 1) } },
     12037            { /*src1     */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1)   } },
     12038            { /* =>      */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1)   } },
     12039              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12040              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12041              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12042              /*xcpt?    */ false, false },
     12043          { { /*src2     */ { FP64_DENORM_MIN(1), FP64_SNAN(1),    FP64_SNAN(0),    FP64_QNAN(0)    } },
     12044            { /*src1     */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     12045            { /* =>      */ { FP64_0(1),          FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
     12046              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     12047              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     12048              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     12049              /*xcpt?    */ false, false },
     12050          { { /*src2     */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
     12051            { /*src1     */ { FP64_0(0),          FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
     12052            { /* =>      */ { FP64_DENORM_MIN(0), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
     12053              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12054              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12055              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     12056              /*xcpt?    */ false, false },
     12057    /** @todo More Denormals. */
     12058    /*
     12059     * Invalids.
     12060     */
     12061    /*56*/ FP64_TABLE_D9_SD_INVALIDS
     12062    };
     12063
     12064#define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
     12065    static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
     12066    {
     12067        { bs3CpuInstr4_maxsd_XMM3_XMM4_icebp_c16,  255, RM_REG, T_SSE2, 3, 3, 4,   PASS_s_aValues },
     12068        { bs3CpuInstr4_maxsd_XMM3_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues },
     12069
     12070        { bs3CpuInstr4_vmaxsd_XMM1_XMM6_XMM7_icebp_c16,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
     12071        { bs3CpuInstr4_vmaxsd_XMM1_XMM6_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
     12072    };
     12073    static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
     12074    {
     12075        { bs3CpuInstr4_maxsd_XMM3_XMM4_icebp_c32,  255, RM_REG, T_SSE2, 3, 3, 4,   PASS_s_aValues },
     12076        { bs3CpuInstr4_maxsd_XMM3_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues },
     12077
     12078        { bs3CpuInstr4_vmaxsd_XMM1_XMM6_XMM7_icebp_c32,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
     12079        { bs3CpuInstr4_vmaxsd_XMM1_XMM6_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
     12080    };
     12081    static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
     12082    {
     12083        { bs3CpuInstr4_maxsd_XMM3_XMM4_icebp_c64,  255, RM_REG, T_SSE2, 3, 3, 4,   PASS_s_aValues },
     12084        { bs3CpuInstr4_maxsd_XMM3_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues },
     12085
     12086        { bs3CpuInstr4_vmaxsd_XMM1_XMM6_XMM7_icebp_c64,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
     12087        { bs3CpuInstr4_vmaxsd_XMM1_XMM6_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
     12088
     12089        { bs3CpuInstr4_maxsd_XMM8_XMM9_icebp_c64,  255,         RM_REG, T_SSE2, 8, 8, 9,   PASS_s_aValues },
     12090        { bs3CpuInstr4_maxsd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_SSE2, 8, 8, 255, PASS_s_aValues },
     12091
     12092        { bs3CpuInstr4_vmaxsd_XMM8_XMM9_XMM10_icebp_c64, 255,         RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
     12093        { bs3CpuInstr4_vmaxsd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
     12094    };
     12095#undef PASS_s_aValues
     12096
     12097    static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     12098    unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
     12099    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     12100                                        g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3));
     12101}
     12102
     12103
     12104/*
     12105 * [V]MINPS.
     12106 */
     12107BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_minps(uint8_t bMode)
     12108{
     12109    static BS3CPUINSTR4_TEST1_VALUES_PS_T const s_aValues[] =
     12110    {
     12111    /*
     12112     * Zero.
     12113     */
     12114    /* 0*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12115            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12116            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12117              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12118              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12119              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12120              /*xcpt?    */ false, false },
     12121          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12122            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12123            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12124              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12125              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12126              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12127              /*xcpt?    */ false, false },
     12128          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12129            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12130            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12131              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12132              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12133              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12134              /*xcpt?    */ false, false },
     12135          { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
     12136            { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0) } },
     12137            { /* =>      */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
     12138              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12139              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12140              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12141              /*xcpt?    */ false, false },
     12142          { { /*src2     */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
     12143            { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12144            { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
     12145              /*mxcsr:in */ 0,
     12146              /*128:out  */ 0,
     12147              /*256:out  */ 0,
     12148              /*xcpt?    */ false, false },
     12149          { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
     12150            { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0) } },
     12151            { /* =>      */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
     12152              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12153              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12154              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12155              /*xcpt?    */ false, false },
     12156          { { /*src2     */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
     12157            { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12158            { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
     12159              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12160              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12161              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12162              /*xcpt?    */ false, false },
     12163          { { /*src2     */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
     12164            { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0) } },
     12165            { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
     12166              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12167              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12168              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12169              /*xcpt?    */ false, false },
     12170          { { /*src2     */ { FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
     12171            { /*src1     */ { FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0) } },
     12172            { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
     12173              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12174              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12175              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12176              /*xcpt?    */ false, false },
     12177    /*
     12178     * Infinity.
     12179     */
     12180    /*9 */{ { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     12181            { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     12182            { /* =>      */ { FP32_0(0),   FP32_0(0),   FP32_INF(1), FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
     12183              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12184              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12185              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12186              /*xcpt?    */ false, false },
     12187          { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     12188            { /*src1     */ { FP32_0(0),   FP32_INF(1), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     12189            { /* =>      */ { FP32_0(0),   FP32_INF(1), FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
     12190              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12191              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12192              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12193              /*xcpt?    */ false, false },
     12194          { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     12195            { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     12196            { /* =>      */ { FP32_0(0),   FP32_0(0),   FP32_0(1),   FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
     12197              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12198              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12199              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12200              /*xcpt?    */ false, false },
     12201          { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     12202            { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     12203            { /* =>      */ { FP32_0(0),   FP32_0(0),   FP32_0(1),   FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
     12204              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12205              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12206              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12207              /*xcpt?    */ false, false },
     12208          { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     12209            { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     12210            { /* =>      */ { FP32_0(0),   FP32_0(0),   FP32_0(1),   FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
     12211              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12212              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12213              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12214              /*xcpt?    */ false, false },
     12215          { { /*src2     */ { FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(0) } },
     12216            { /*src1     */ { FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(0) } },
     12217            { /* =>      */ { FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0) } },
     12218              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12219              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12220              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12221              /*xcpt?    */ false, false },
     12222          { { /*src2     */ { FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(0) } },
     12223            { /*src1     */ { FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(0) } },
     12224            { /* =>      */ { FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0) } },
     12225              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12226              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12227              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12228              /*xcpt?    */ false, false },
     12229          { { /*src2     */ { FP32_INF(0),     FP32_NORM_V1(0), FP32_INF(1),     FP32_NORM_V3(1), FP32_INF(1),     FP32_NORM_V5(0), FP32_INF(1),     FP32_NORM_V7(0) } },
     12230            { /*src1     */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_NORM_V2(0), FP32_INF(1),     FP32_NORM_V4(1), FP32_INF(1),     FP32_NORM_V6(0), FP32_INF(0)     } },
     12231            { /* =>      */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_INF(1),     FP32_INF(1),     FP32_INF(1),     FP32_INF(1),     FP32_INF(1),     FP32_NORM_V7(0) } },
     12232              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12233              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12234              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12235              /*xcpt?    */ false, false },
     12236          { { /*src2     */ { FP32_INF(0),     FP32_NORM_V1(0), FP32_INF(1),     FP32_NORM_V3(1), FP32_INF(0),     FP32_NORM_V5(0), FP32_INF(1),     FP32_NORM_V7(0) } },
     12237            { /*src1     */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_NORM_V2(0), FP32_INF(0),     FP32_NORM_V4(1), FP32_INF(1),     FP32_NORM_V6(0), FP32_INF(0)     } },
     12238            { /* =>      */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_INF(1),     FP32_NORM_V3(1), FP32_NORM_V4(1), FP32_INF(1),     FP32_INF(1),     FP32_NORM_V7(0) } },
     12239              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12240              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12241              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12242              /*xcpt?    */ false, false },
     12243          { { /*src2     */ { FP32_NORM_V7(0), FP32_INF(0),     FP32_NORM_V5(0), FP32_INF(0),     FP32_NORM_V3(0), FP32_INF(0),     FP32_NORM_V1(0), FP32_INF(0)     } },
     12244            { /*src1     */ { FP32_INF(1),     FP32_NORM_V6(1), FP32_INF(0),     FP32_NORM_V4(0), FP32_INF(0),     FP32_NORM_V2(1), FP32_INF(1),     FP32_NORM_V0(1) } },
     12245            { /* =>      */ { FP32_INF(1),     FP32_NORM_V6(1), FP32_NORM_V5(0), FP32_NORM_V4(0), FP32_NORM_V3(0), FP32_NORM_V2(1), FP32_INF(1),     FP32_NORM_V0(1) } },
     12246              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12247              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12248              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12249              /*xcpt?    */ false, false },
     12250          { { /*src2     */ { FP32_NORM_V7(0), FP32_INF(0),     FP32_NORM_V5(1), FP32_INF(0),     FP32_NORM_V3(1), FP32_INF(0),     FP32_NORM_V1(1), FP32_INF(0)     } },
     12251            { /*src1     */ { FP32_INF(0),     FP32_NORM_V6(1), FP32_INF(0),     FP32_NORM_V4(1), FP32_INF(0),     FP32_NORM_V2(1), FP32_INF(0),     FP32_NORM_V0(1) } },
     12252            { /* =>      */ { FP32_NORM_V7(0), FP32_NORM_V6(1), FP32_NORM_V5(1), FP32_NORM_V4(1), FP32_NORM_V3(1), FP32_NORM_V2(1), FP32_NORM_V1(1), FP32_NORM_V0(1) } },
     12253              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12254              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12255              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12256              /*xcpt?    */ false, false },
     12257    /*
     12258     * Normals.
     12259     */
     12260    /*20*/{ { /*src2     */ { FP32_NORM_MAX(0), FP32_0(0),        FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_0(1),        FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
     12261            { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_0(1),        FP32_NORM_MAX(0) } },
     12262            { /* =>      */ { FP32_NORM_MAX(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
     12263              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12264              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12265              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12266              /*xcpt?    */ false, false },
     12267          { { /*src2     */ { FP32_NORM_MIN(0), FP32_0(0),        FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_0(1),        FP32_NORM_MIN(1), FP32_NORM_MIN(1) } },
     12268            { /*src1     */ { FP32_NORM_MIN(0), FP32_NORM_MIN(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_0(1),        FP32_NORM_MIN(0) } },
     12269            { /* =>      */ { FP32_NORM_MIN(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(1) } },
     12270              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12271              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12272              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12273              /*xcpt?    */ false, false },
     12274          { { /*src2     */ { FP32_NORM_MIN(0), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
     12275            { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_NORM_MIN(1) } },
     12276            { /* =>      */ { FP32_NORM_MIN(0), FP32_NORM_MAX(1), FP32_NORM_MIN(1), FP32_NORM_MAX(1), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
     12277              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12278              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12279              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12280              /*xcpt?    */ false, false },
     12281          { { /*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) } },
     12282            { /*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) } },
     12283            { /* =>      */ { 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) } },
     12284              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12285              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12286              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12287              /*xcpt?    */ false, false },
     12288          { { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_V(0, 0, 0x7d)/* 0.25*/, FP32_V(0, 0x600000, 0x7f)/*1.75*/, FP32_V(1, 0, 0x7d)/*-0.25*/ } },
     12289            { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0, 0x7e)/*0.50*/, FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0, 0x7e)/*0.50*/, FP32_V(1, 0x600000, 0x7f)/*-1.75*/, FP32_V(1, 0, 0x7e)/*-0.50*/, FP32_V(1, 0,        0x7d)/*0.25*/, FP32_V(1, 0, 0x7e)/*-0.50*/ } },
     12290            { /* =>      */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_V(1, 0x600000, 0x7f)/*-1.75*/, FP32_V(1, 0, 0x7e)/*-0.50*/, FP32_V(1, 0,        0x7d)/*0.25*/, FP32_V(1, 0, 0x7e)/*-0.50*/ } },
     12291              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12292              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12293              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12294              /*xcpt?    */ false, false },
     12295          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_V1(0), FP32_NORM_V2(1), FP32_NORM_V3(1), FP32_NORM_V5(0), FP32_0(1),       FP32_NORM_V5(1), FP32_0(0)       } },
     12296            { /*src1     */ { FP32_NORM_V1(0),  FP32_NORM_V1(1), FP32_NORM_V2(0), FP32_NORM_V3(1), FP32_0(1),       FP32_NORM_V6(0), FP32_0(1),       FP32_NORM_V7(1) } },
     12297            { /* =>      */ { FP32_NORM_V1(0),  FP32_NORM_V1(1), FP32_NORM_V2(1), FP32_NORM_V3(1), FP32_0(1),       FP32_0(1),       FP32_NORM_V5(1), FP32_NORM_V7(1) } },
     12298              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12299              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12300              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12301              /*xcpt?    */ false, false },
     12302          { { /*src2     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_V(0, 0x600000, 0x81)/* 7*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(0, 0x5c0000, 0x84)/* 55*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(1, 0x534000, 0x86)/*-211.25*/, FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_1(1) } },
     12303            { /*src1     */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_V(0, 0x5c0000, 0x84)/*55*/, FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_V(1, 0x600000, 0x81)/* -7*/, FP32_V(0, 0x253468, 0x93)/*1353357.00*/, FP32_1(1),                            FP32_V(0, 0x712060, 0x92)/*  987654*/, FP32_1(0) } },
     12304            { /* =>      */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_V(0, 0x600000, 0x81)/* 7*/, FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_V(1, 0x600000, 0x81)/* -7*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(1, 0x534000, 0x86)/*-211.25*/, FP32_V(0, 0x712060, 0x92)/*  987654*/, FP32_1(1) } },
     12305              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12306              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12307              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12308              /*xcpt?    */ false, false },
     12309          { { /*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*/ } },
     12310            { /*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*/ } },
     12311            { /* =>      */ { 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*/ } },
     12312              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12313              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12314              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12315              /*xcpt?    */ false, false },
     12316          { { /*src2     */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_V(0, 0x620b2e, 0x92)/*925874.9*/, FP32_V(0, 0x5dd520, 0x8e)/* 56789.125*/, FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_V(1, 0x490fda, 0x80)/*-3.1415926*/, FP32_V(1, 0x620b2e, 0x92)/*-925874.8*/, FP32_V(0, 0x5dd520, 0x8e)/*56789.125*/, FP32_V(0, 0x40e6b6, 0x8c)/*12345.678*/ } },
     12317            { /*src1     */ { FP32_V(0, 0x490fdb, 0x80)/*3.1415927*/, FP32_V(0, 0x620b2d, 0x92)/*925874.8*/, FP32_V(1, 0x5dd521, 0x8e)/*-56789.127*/, FP32_V(1, 0x40e6b7, 0x8c)/*-12345.679*/, FP32_V(1, 0x490fdb, 0x80)/*-3.1415927*/, FP32_V(0, 0x620b2d, 0x92)/* 925874.9*/, FP32_V(0, 0x5dd521, 0x8e)/*56789.127*/, FP32_V(0, 0x40e6b7, 0x8c)/*12345.679*/ } },
     12318            { /* =>      */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_V(0, 0x620b2d, 0x92)/*925874.8*/, FP32_V(1, 0x5dd521, 0x8e)/*-56789.127*/, FP32_V(1, 0x40e6b7, 0x8c)/*-12345.679*/, FP32_V(1, 0x490fdb, 0x80)/*-3.1415927*/, FP32_V(1, 0x620b2e, 0x92)/*-925874.8*/, FP32_V(0, 0x5dd520, 0x8e)/*56789.125*/, FP32_V(0, 0x40e6b6, 0x8c)/*12345.678*/ } },
     12319              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12320              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12321              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12322              /*xcpt?    */ false, false },
     12323    /** @todo More Normals. */
     12324    /*
     12325     * Denormals.
     12326     */
     12327    /*29*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0)          } },
     12328            { /*src1     */ { FP32_0(0),          FP32_DENORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(1) } },
    1077112329            { /* =>      */ { FP32_0(0),          FP32_DENORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(1) } },
    1077212330              /*mxcsr:in */ 0,
     
    1077612334          { { /*src2     */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0) } },
    1077712335            { /*src1     */ { FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0) } },
    10778             { /* =>      */ { FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0) } },
     12336            { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0) } },
    1077912337              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    1078012338              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     
    1081612374    static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
    1081712375    {
    10818         { bs3CpuInstr4_maxps_XMM1_XMM2_icebp_c16,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
    10819         { bs3CpuInstr4_maxps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
    10820 
    10821         { bs3CpuInstr4_vmaxps_XMM1_XMM2_XMM3_icebp_c16,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    10822         { bs3CpuInstr4_vmaxps_XMM1_XMM2_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    10823 
    10824         { bs3CpuInstr4_vmaxps_YMM1_YMM2_YMM3_icebp_c16,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
    10825         { bs3CpuInstr4_vmaxps_YMM1_YMM2_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
    10826     };
    10827     static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
    10828     {
    10829         { bs3CpuInstr4_maxps_XMM1_XMM2_icebp_c32,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
    10830         { bs3CpuInstr4_maxps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
    10831 
    10832         { bs3CpuInstr4_vmaxps_XMM1_XMM2_XMM3_icebp_c32,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    10833         { bs3CpuInstr4_vmaxps_XMM1_XMM2_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    10834 
    10835         { bs3CpuInstr4_vmaxps_YMM1_YMM2_YMM3_icebp_c32,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
    10836         { bs3CpuInstr4_vmaxps_YMM1_YMM2_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
    10837     };
    10838     static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
    10839     {
    10840         { bs3CpuInstr4_maxps_XMM1_XMM2_icebp_c64,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
    10841         { bs3CpuInstr4_maxps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
    10842 
    10843         { bs3CpuInstr4_vmaxps_XMM1_XMM2_XMM3_icebp_c64,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    10844         { bs3CpuInstr4_vmaxps_XMM1_XMM2_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    10845 
    10846         { bs3CpuInstr4_vmaxps_YMM1_YMM2_YMM3_icebp_c64,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
    10847         { bs3CpuInstr4_vmaxps_YMM1_YMM2_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
    10848 
    10849         { bs3CpuInstr4_maxps_XMM8_XMM9_icebp_c64,  255, RM_REG, T_SSE, 8, 8, 9,   PASS_s_aValues },
    10850         { bs3CpuInstr4_maxps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, PASS_s_aValues },
    10851 
    10852         { bs3CpuInstr4_vmaxps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
    10853         { bs3CpuInstr4_vmaxps_XMM8_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
    10854         { bs3CpuInstr4_vmaxps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10,  PASS_s_aValues },
    10855         { bs3CpuInstr4_vmaxps_YMM8_YMM9_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 8, 9, 255, PASS_s_aValues },
    10856     };
    10857 #undef PASS_s_aValues
    10858 
    10859     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
    10860     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
    10861     return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    10862                                         g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2));
    10863 }
    10864 
    10865 
    10866 /*
    10867  * [V]MAXPD.
    10868  */
    10869 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_maxpd(uint8_t bMode)
    10870 {
    10871     static BS3CPUINSTR4_TEST1_VALUES_PD_T const s_aValues[] =
    10872     {
    10873     /*
    10874      * Zero.
    10875      */
    10876     /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10877             { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10878             { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10879               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    10880               /*128:out  */ X86_MXCSR_XCPT_MASK,
    10881               /*256:out  */ X86_MXCSR_XCPT_MASK,
    10882               /*xcpt?    */ false, false },
    10883           { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10884             { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10885             { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10886               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10887               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10888               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10889               /*xcpt?    */ false, false },
    10890           { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10891             { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10892             { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10893               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10894               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10895               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10896               /*xcpt?    */ false, false },
    10897           { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
    10898             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
    10899             { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
    10900               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    10901               /*128:out  */ X86_MXCSR_XCPT_MASK,
    10902               /*256:out  */ X86_MXCSR_XCPT_MASK,
    10903               /*xcpt?    */ false, false },
    10904           { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    10905             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10906             { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    10907               /*mxcsr:in */ 0,
    10908               /*128:out  */ 0,
    10909               /*256:out  */ 0,
    10910               /*xcpt?    */ false, false },
    10911           { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
    10912             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
    10913             { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
    10914               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    10915               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    10916               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    10917               /*xcpt?    */ false, false },
    10918           { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    10919             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10920             { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    10921               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    10922               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    10923               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    10924               /*xcpt?    */ false, false },
    10925           { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    10926             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
    10927             { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    10928               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10929               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10930               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10931               /*xcpt?    */ false, false },
    10932           { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
    10933             { /*src1     */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
    10934             { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
    10935               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    10936               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    10937               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    10938               /*xcpt?    */ false, false },
    10939     /*
    10940      * Infinity.
    10941      */
    10942     /*9 */{ { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    10943             { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
    10944             { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
    10945               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    10946               /*128:out  */ X86_MXCSR_XCPT_MASK,
    10947               /*256:out  */ X86_MXCSR_XCPT_MASK,
    10948               /*xcpt?    */ false, false },
    10949           { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    10950             { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
    10951             { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
    10952               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    10953               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    10954               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    10955               /*xcpt?    */ false, false },
    10956           { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    10957             { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
    10958             { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
    10959               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    10960               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    10961               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    10962               /*xcpt?    */ false, false },
    10963           { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    10964             { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
    10965             { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
    10966               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10967               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10968               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10969               /*xcpt?    */ false, false },
    10970           { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    10971             { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(0) } },
    10972             { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
    10973               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10974               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10975               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    10976               /*xcpt?    */ false, false },
    10977           { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
    10978             { /*src1     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
    10979             { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(1) } },
    10980               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    10981               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    10982               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    10983               /*xcpt?    */ false, false },
    10984           { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
    10985             { /*src1     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
    10986             { /* =>      */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(1) } },
    10987               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10988               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10989               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    10990               /*xcpt?    */ false, false },
    10991           { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
    10992             { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
    10993             { /* =>      */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_NORM_V2(0), FP64_NORM_V3(1) } },
    10994               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    10995               /*128:out  */ X86_MXCSR_XCPT_MASK,
    10996               /*256:out  */ X86_MXCSR_XCPT_MASK,
    10997               /*xcpt?    */ false, false },
    10998           { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
    10999             { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
    11000             { /* =>      */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_NORM_V2(0), FP64_NORM_V3(1) } },
    11001               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11002               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11003               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11004               /*xcpt?    */ false, false },
    11005           { { /*src2     */ { FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V2(1), FP64_INF(1)     } },
    11006             { /*src1     */ { FP64_INF(1),     FP64_NORM_V3(0), FP64_INF(1),     FP64_NORM_V0(1) } },
    11007             { /* =>      */ { FP64_NORM_V1(0), FP64_NORM_V3(0), FP64_NORM_V2(1), FP64_NORM_V0(1) } },
    11008               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11009               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11010               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11011               /*xcpt?    */ false, false },
    11012           { { /*src2     */ { FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1), FP64_INF(1)     } },
    11013             { /*src1     */ { FP64_INF(0),     FP64_NORM_V2(0), FP64_INF(0),     FP64_NORM_V0(1) } },
    11014             { /* =>      */ { FP64_INF(0),     FP64_NORM_V2(0), FP64_INF(0),     FP64_NORM_V0(1) } },
    11015               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11016               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11017               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11018               /*xcpt?    */ false, false },
    11019     /*
    11020      * Normals.
    11021      */
    11022     /*20*/{ { /*src2     */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_NORM_V2(0), FP64_NORM_V1(1) } },
    11023             { /*src1     */ { FP64_NORM_V3(1), FP64_NORM_V1(0), FP64_NORM_V2(1), FP64_NORM_V1(0) } },
    11024             { /* =>      */ { FP64_NORM_V0(0), FP64_NORM_V1(0), FP64_NORM_V2(0), FP64_NORM_V1(0) } },
    11025               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11026               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11027               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11028               /*xcpt?    */ false, false },
    11029           { { /*src2     */ { FP64_NORM_V0(0), FP64_0(1),       FP64_NORM_V2(0), FP64_0(1)       } },
    11030             { /*src1     */ { FP64_0(0),       FP64_NORM_V1(1), FP64_0(0),       FP64_NORM_V1(0) } },
    11031             { /* =>      */ { FP64_NORM_V0(0), FP64_0(1),       FP64_NORM_V2(0), FP64_NORM_V1(0) } },
    11032               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11033               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11034               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11035               /*xcpt?    */ false, false },
    11036           { { /*src2     */ { FP64_V(0, 0, 0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(0, 0xf000000000000, 0x404)/* 62*/ } },
    11037             { /*src1     */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_V(0, 0xc000000000000, 0x401)/* 7*/, FP64_1(1),                                 FP64_V(1, 0xf000000000000, 0x404)/*-62*/ } },
    11038             { /* =>      */ { FP64_V(0, 0, 0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(0, 0xf000000000000, 0x404)/* 62*/ } },
    11039               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11040               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11041               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11042               /*xcpt?    */ false, false },
    11043           { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
    11044             { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*      100*/, FP64_1(0),                                      FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
    11045             { /* =>      */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
    11046               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11047               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11048               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11049               /*xcpt?    */ false, false },
    11050           { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
    11051             { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*     -100*/, FP64_1(0),                                      FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
    11052             { /* =>      */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
    11053               /*mxcsr:in */ X86_MXCSR_RC_ZERO,
    11054               /*128:out  */ X86_MXCSR_RC_ZERO,
    11055               /*256:out  */ X86_MXCSR_RC_ZERO,
    11056               /*xcpt?    */ false, false },
    11057           { { /*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) } },
    11058             { /*src1     */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
    11059             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_SAFE_INT_MIN(0) } },
    11060               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11061               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11062               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11063               /*xcpt?    */ false, false },
    11064           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
    11065             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0) } },
    11066             { /* =>      */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(0) } },
    11067               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11068               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11069               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11070               /*xcpt?    */ false, false },
    11071           { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/ } },
    11072             { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/ } },
    11073             { /* =>      */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/ } },
    11074               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11075               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11076               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11077               /*xcpt?    */ false, false },
    11078           { { /*src2     */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_V(0, 0, 0x3fd)/*0.25*/, FP64_V(0, 0x26580b4c7e6b7, 0x41d)/*1234567891.1234567*/, FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/ } },
    11079             { /*src1     */ { FP64_V(0, 0,               0x3fd)/*0.25*/, FP64_V(0, 0, 0x3fe)/*0.50*/, FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_V(0, 0xf9b0207d0617d, 0x3fb)/*0.1234589833333128*/ } },
    11080             { /* =>      */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_V(0, 0, 0x3fe)/*0.50*/, FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/ } },
    11081               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11082               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11083               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11084               /*xcpt?    */ false, false },
    11085     /*
    11086      * Denormals.
    11087      */
    11088     /*29*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)         } },
    11089             { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(1), FP64_0(0),          FP64_DENORM_MAX(1) } },
    11090             { /* =>      */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)          } },
    11091               /*mxcsr:in */ 0,
    11092               /*128:out  */ X86_MXCSR_DE,
    11093               /*256:out  */ X86_MXCSR_DE,
    11094               /*xcpt?    */ true, true },
    11095           { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_DENORM_MAX(0) } },
    11096             { /*src1     */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_0(0)          } },
    11097             { /* =>      */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
    11098               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11099               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11100               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11101               /*xcpt?    */ false, false },
    11102           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
    11103             { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
    11104             { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
    11105               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11106               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11107               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11108               /*xcpt?    */ false, false },
    11109           { { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)          } },
    11110             { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
    11111             { /* =>      */ { FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
    11112               /*mxcsr:in */ 0,
    11113               /*128:out  */ X86_MXCSR_DE,
    11114               /*256:out  */ X86_MXCSR_DE,
    11115               /*xcpt?    */ true, true },
    11116           { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_DENORM_MAX(1) } },
    11117             { /*src1     */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_0(0)          } },
    11118             { /* =>      */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_0(1)          } },
    11119               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11120               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11121               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11122               /*xcpt?    */ false, false },
    11123           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0) } },
    11124             { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
    11125             { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
    11126               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11127               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11128               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11129               /*xcpt?    */ false, false },
    11130     /** @todo Denormals. */
    11131     /*
    11132      * Invalids.
    11133      */
    11134     /*35*/ FP64_TABLE_D9_PD_INVALIDS
    11135     };
    11136 
    11137 #define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
    11138     static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
    11139     {
    11140         { bs3CpuInstr4_maxpd_XMM1_XMM2_icebp_c16,  255, RM_REG, T_SSE2, 1, 1, 2,   PASS_s_aValues },
    11141         { bs3CpuInstr4_maxpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, PASS_s_aValues },
    11142 
    11143         { bs3CpuInstr4_vmaxpd_XMM1_XMM2_XMM3_icebp_c16,  X86_XCPT_GP, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    11144         { bs3CpuInstr4_vmaxpd_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    11145 
    11146         { bs3CpuInstr4_vmaxpd_YMM1_YMM2_YMM3_icebp_c16,  X86_XCPT_GP, RM_REG, T_AVX2_256, 1, 2, 3,   PASS_s_aValues },
    11147         { bs3CpuInstr4_vmaxpd_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX2_256, 1, 2, 255, PASS_s_aValues },
    11148     };
    11149     static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
    11150     {
    11151         { bs3CpuInstr4_maxpd_XMM1_XMM2_icebp_c32,  255, RM_REG, T_SSE2, 1, 1, 2,   PASS_s_aValues },
    11152         { bs3CpuInstr4_maxpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, PASS_s_aValues },
    11153 
    11154         { bs3CpuInstr4_vmaxpd_XMM1_XMM2_XMM3_icebp_c32,  X86_XCPT_GP, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    11155         { bs3CpuInstr4_vmaxpd_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    11156 
    11157         { bs3CpuInstr4_vmaxpd_YMM1_YMM2_YMM3_icebp_c32,  X86_XCPT_GP, RM_REG, T_AVX2_256, 1, 2, 3,   PASS_s_aValues },
    11158         { bs3CpuInstr4_vmaxpd_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX2_256, 1, 2, 255, PASS_s_aValues },
    11159     };
    11160     static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
    11161     {
    11162         { bs3CpuInstr4_maxpd_XMM1_XMM2_icebp_c64,  255, RM_REG, T_SSE2, 1, 1, 2,   PASS_s_aValues },
    11163         { bs3CpuInstr4_maxpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, PASS_s_aValues },
    11164 
    11165         { bs3CpuInstr4_vmaxpd_XMM1_XMM2_XMM3_icebp_c64,  X86_XCPT_GP, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    11166         { bs3CpuInstr4_vmaxpd_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    11167 
    11168         { bs3CpuInstr4_vmaxpd_YMM1_YMM2_YMM3_icebp_c64,  X86_XCPT_GP, RM_REG, T_AVX2_256, 1, 2, 3,   PASS_s_aValues },
    11169         { bs3CpuInstr4_vmaxpd_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX2_256, 1, 2, 255, PASS_s_aValues },
    11170 
    11171         { bs3CpuInstr4_maxpd_XMM8_XMM9_icebp_c64,  255, RM_REG, T_SSE2, 8, 8, 9,   PASS_s_aValues },
    11172         { bs3CpuInstr4_maxpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, PASS_s_aValues },
    11173 
    11174         { bs3CpuInstr4_vmaxpd_XMM8_XMM9_XMM10_icebp_c64, X86_XCPT_GP, RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
    11175         { bs3CpuInstr4_vmaxpd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
    11176         { bs3CpuInstr4_vmaxpd_YMM8_YMM9_YMM10_icebp_c64, X86_XCPT_GP, RM_REG, T_AVX_256, 8, 9, 10,  PASS_s_aValues },
    11177         { bs3CpuInstr4_vmaxpd_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, 8, 9, 255, PASS_s_aValues },
    11178     };
    11179 #undef PASS_s_aValues
    11180 
    11181     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
    11182     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
    11183     return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    11184                                         g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2));
    11185 }
    11186 
    11187 
    11188 /*
    11189  * [V]MAXSS.
    11190  */
    11191 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_maxss(uint8_t bMode)
    11192 {
    11193     static BS3CPUINSTR4_TEST1_VALUES_SS_T const s_aValues[] =
    11194     {
    11195     /*
    11196      * Zero.
    11197      */
    11198     /* 0*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    11199             { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    11200             { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    11201               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11202               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11203               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11204               /*xcpt?    */ false, false },
    11205           { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    11206             { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    11207             { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    11208               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11209               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11210               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11211               /*xcpt?    */ false, false },
    11212           { { /*src2     */ { FP32_0(0), FP32_INF(0), FP32_SNAN(0), FP32_SNAN(0), FP32_SNAN(1),      FP32_QNAN(1),      FP32_INF(1),       FP32_RAND_V7(0)   } },
    11213             { /*src1     */ { FP32_0(0), FP32_INF(1), FP32_QNAN(0), FP32_SNAN(1), FP32_QNAN_V(0, 1), FP32_QNAN_V(1, 1), FP32_SNAN_V(1, 1), FP32_SNAN_V(0, 1) } },
    11214             { /* =>      */ { FP32_0(0), FP32_INF(1), FP32_QNAN(0), FP32_SNAN(1), FP32_QNAN_V(0, 1), FP32_QNAN_V(1, 1), FP32_SNAN_V(1, 1), FP32_SNAN_V(0, 1) } },
    11215               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11216               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11217               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11218               /*xcpt?    */ false, false },
    11219           { { /*src2     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0), FP32_RAND_V0(0) } },
    11220             { /*src1     */ { FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
    11221             { /* =>      */ { FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
    11222               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11223               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11224               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11225               /*xcpt?    */ false, false },
    11226           { { /*src2     */ { FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
    11227             { /*src1     */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
    11228             { /* =>      */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
    11229               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11230               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11231               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11232               /*xcpt?    */ false, false },
    11233           { { /*src2     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V7(0), FP32_RAND_V4(0), FP32_RAND_V5(0), FP32_RAND_V6(0) } },
    11234             { /*src1     */ { FP32_0(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
    11235             { /* =>      */ { FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V0(0) } },
    11236               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11237               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11238               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11239               /*xcpt?    */ false, false },
    11240           { { /*src2     */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V7(0), FP32_RAND_V4(0), FP32_RAND_V5(0), FP32_RAND_V6(0) } },
    11241             { /*src1     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(0), FP32_RAND_V2(1), FP32_RAND_V1(0), FP32_RAND_V3(1) } },
    11242             { /* =>      */ { FP32_0(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(0), FP32_RAND_V2(1), FP32_RAND_V1(0), FP32_RAND_V3(1) } },
    11243               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11244               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11245               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11246               /*xcpt?    */ false, false },
    11247           { { /*src2     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
    11248             { /*src1     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
    11249             { /* =>      */ { FP32_0(1), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
    11250               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11251               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11252               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11253               /*xcpt?    */ false, false },
    11254           { { /*src2     */ { FP32_0(1), FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V0(0) } },
    11255             { /*src1     */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V6(0), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V2(1) } },
    11256             { /* =>      */ { FP32_0(1), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V6(0), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V2(1) } },
    11257               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11258               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11259               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11260               /*xcpt?    */ false, false },
    11261           { { /*src2     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
    11262             { /*src1     */ { FP32_0(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V7(0), FP32_RAND_V3(0), FP32_RAND_V6(1), FP32_RAND_V4(1) } },
    11263             { /* =>      */ { FP32_0(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V7(0), FP32_RAND_V3(0), FP32_RAND_V6(1), FP32_RAND_V4(1) } },
    11264               /*mxcsr:in */ 0,
    11265               /*128:out  */ 0,
    11266               /*256:out  */ 0,
    11267               /*xcpt?    */ false, false },
    11268           { { /*src2     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
    11269             { /*src1     */ { FP32_0(1), FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
    11270             { /* =>      */ { FP32_0(1), FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
    11271               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11272               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11273               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11274               /*xcpt?    */ false, false },
    11275     /*
    11276      * Infinity.
    11277      */
    11278     /*11*/{ { /*src2     */ { FP32_INF(0), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
    11279             { /*src1     */ { FP32_0(0),   FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
    11280             { /* =>      */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
    11281               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11282               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11283               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11284               /*xcpt?    */ false, false },
    11285           { { /*src2     */ { FP32_0(0),   FP32_RAND_V5(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
    11286             { /*src1     */ { FP32_INF(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V7(1) } },
    11287             { /* =>      */ { FP32_INF(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V7(1) } },
    11288               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11289               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11290               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11291               /*xcpt?    */ false, false },
    11292           { { /*src2     */ { FP32_INF(0), FP32_INF(1),     FP32_SNAN(1),    FP32_QNAN(1),    FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
    11293             { /*src1     */ { FP32_0(0),   FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0),    FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
    11294             { /* =>      */ { FP32_INF(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0),    FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
    11295               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11296               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11297               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11298               /*xcpt?    */ false, false },
    11299           { { /*src2     */ { FP32_0(0),   FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
    11300             { /*src1     */ { FP32_INF(1), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
    11301             { /* =>      */ { FP32_0(0),   FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
    11302               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11303               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11304               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11305               /*xcpt?    */ false, false },
    11306           { { /*src2     */ { FP32_INF(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V4(1), FP32_RAND_V5(1),   FP32_RAND_V7(1),   FP32_RAND_V0(1) } },
    11307             { /*src1     */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_SNAN_V(0, 1), FP32_SNAN_V(1, 1), FP32_RAND_V2(1) } },
    11308             { /* =>      */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_SNAN_V(0, 1), FP32_SNAN_V(1, 1), FP32_RAND_V2(1) } },
    11309               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11310               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11311               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11312               /*xcpt?    */ false, false },
    11313           { { /*src2     */ { FP32_INF(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V4(0), FP32_RAND_V5(1),   FP32_RAND_V7(1),   FP32_RAND_V0(1) } },
    11314             { /*src1     */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V0(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_SNAN_V(1, 1), FP32_QNAN_V(1, 1), FP32_RAND_V3(1) } },
    11315             { /* =>      */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V0(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_SNAN_V(1, 1), FP32_QNAN_V(1, 1), FP32_RAND_V3(1) } },
    11316               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11317               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11318               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11319               /*xcpt?    */ false, false },
    11320           { { /*src2     */ { FP32_INF(1), FP32_RAND_V3(0),   FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V7(1),   FP32_RAND_V0(0) } },
    11321             { /*src1     */ { FP32_INF(1), FP32_QNAN_V(1, 1), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_QNAN_V(1, 0), FP32_RAND_V1(0) } },
    11322             { /* =>      */ { FP32_INF(1), FP32_QNAN_V(1, 1), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_QNAN_V(1, 0), FP32_RAND_V1(0) } },
    11323               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11324               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11325               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11326               /*xcpt?    */ false, false },
    11327           { { /*src2     */ { FP32_INF(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
    11328             { /*src1     */ { FP32_INF(1), FP32_RAND_V0(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V5(1) } },
    11329             { /* =>      */ { FP32_INF(1), FP32_RAND_V0(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V5(1) } },
    11330               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11331               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11332               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11333               /*xcpt?    */ false, false },
    11334           { { /*src2     */ { FP32_INF(1), FP32_RAND_V1(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(0), FP32_RAND_V1(1) } },
    11335             { /*src1     */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V2(0), FP32_RAND_V3(1) } },
    11336             { /* =>      */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V2(0), FP32_RAND_V3(1) } },
    11337               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11338               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11339               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11340               /*xcpt?    */ false, false },
    11341           { { /*src2     */ { FP32_INF(1), FP32_RAND_V0(1), FP32_RAND_V2(1), FP32_RAND_V4(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11342             { /*src1     */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V4(1) } },
    11343             { /* =>      */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V4(1) } },
    11344               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11345               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11346               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11347               /*xcpt?    */ false, false },
    11348           { { /*src2     */ { FP32_INF(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V1(1), FP32_RAND_V7(1), FP32_RAND_V2(0) } },
    11349             { /*src1     */ { FP32_INF(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V1(1), FP32_RAND_V0(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
    11350             { /* =>      */ { FP32_INF(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V1(1), FP32_RAND_V0(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
    11351               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11352               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11353               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11354               /*xcpt?    */ false, false },
    11355           { { /*src2     */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V2(1), FP32_RAND_V4(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11356             { /*src1     */ { FP32_INF(1), FP32_RAND_V0(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V4(1) } },
    11357             { /* =>      */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V4(1) } },
    11358               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11359               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11360               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11361               /*xcpt?    */ false, false },
    11362           { { /*src2     */ { FP32_INF(0),     FP32_RAND_V0(0), FP32_RAND_V2(1), FP32_RAND_V4(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V1(0) } },
    11363             { /*src1     */ { FP32_NORM_V0(0), FP32_RAND_V1(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V6(1), FP32_RAND_V2(1), FP32_RAND_V4(0) } },
    11364             { /* =>      */ { FP32_INF(0),     FP32_RAND_V1(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V6(1), FP32_RAND_V2(1), FP32_RAND_V4(0) } },
    11365               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11366               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11367               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11368               /*xcpt?    */ false, false },
    11369           { { /*src2     */ { FP32_INF(0),     FP32_INF(0), FP32_SNAN(1), FP32_INF(1),  FP32_RAND_V3(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V4(0) } },
    11370             { /*src1     */ { FP32_NORM_V3(0), FP32_INF(1), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11371             { /* =>      */ { FP32_INF(0),     FP32_INF(1), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11372               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11373               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11374               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11375               /*xcpt?    */ false, false },
    11376           { { /*src2     */ { FP32_NORM_V7(0), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_INF(1), FP32_SNAN(0), FP32_INF(0),  FP32_RAND_V2(0) } },
    11377             { /*src1     */ { FP32_INF(1),     FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_INF(1), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V3(0) } },
    11378             { /* =>      */ { FP32_NORM_V7(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_INF(1), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V3(0) } },
    11379               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11380               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11381               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11382               /*xcpt?    */ false, false },
    11383           { { /*src2     */ { FP32_NORM_V7(0), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_QNAN(1), FP32_SNAN(0), FP32_INF(1),  FP32_RAND_V2(1) } },
    11384             { /*src1     */ { FP32_INF(0),     FP32_RAND_V7(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_QNAN(1), FP32_QNAN(1), FP32_SNAN(0), FP32_RAND_V3(1) } },
    11385             { /* =>      */ { FP32_INF(0),     FP32_RAND_V7(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_QNAN(1), FP32_QNAN(1), FP32_SNAN(0), FP32_RAND_V3(1) } },
    11386               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11387               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11388               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11389               /*xcpt?    */ false, false },
    11390     /*
    11391      * Normals.
    11392      */
    11393     /*27*/{ { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V1(1) } },
    11394             { /*src1     */ { FP32_NORM_MAX(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V3(1), FP32_RAND_V1(1) } },
    11395             { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V3(1), FP32_RAND_V1(1) } },
    11396               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11397               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11398               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11399               /*xcpt?    */ false, false },
    11400           { { /*src2     */ { FP32_NORM_MIN(0), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
    11401             { /*src1     */ { FP32_NORM_MIN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V0(1), FP32_RAND_V7(0) } },
    11402             { /* =>      */ { FP32_NORM_MIN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V0(1), FP32_RAND_V7(0) } },
    11403               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11404               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11405               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11406               /*xcpt?    */ false, false },
    11407           { { /*src2     */ { FP32_NORM_MIN(0), FP32_RAND_V3(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
    11408             { /*src1     */ { FP32_NORM_MAX(0), FP32_RAND_V1(0), FP32_RAND_V6(0), FP32_RAND_V4(0), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V6(0), FP32_RAND_V4(1) } },
    11409             { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V1(0), FP32_RAND_V6(0), FP32_RAND_V4(0), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V6(0), FP32_RAND_V4(1) } },
    11410               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11411               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11412               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11413               /*xcpt?    */ false, false },
    11414           { { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
    11415             { /*src1     */ { FP32_NORM_MAX(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
    11416             { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
    11417               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11418               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11419               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11420               /*xcpt?    */ false, false },
    11421           { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
    11422             { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(0), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V0(0), FP32_RAND_V1(1) } },
    11423             { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(0), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V0(0), FP32_RAND_V1(1) } },
    11424               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11425               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11426               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11427               /*xcpt?    */ false, false },
    11428           { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
    11429             { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
    11430             { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
    11431               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11432               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11433               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11434               /*xcpt?    */ false, false },
    11435           { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_INF(0),     FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(1), FP32_SNAN(1),    FP32_SNAN(0),    FP32_QNAN(1)    } },
    11436             { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
    11437             { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
    11438               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11439               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11440               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11441               /*xcpt?    */ false, false },
    11442           { { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1) } },
    11443             { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1) } },
    11444             { /* =>      */ { FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1) } },
    11445               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11446               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11447               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11448               /*xcpt?    */ false, false },
    11449           { { /*src2     */ { FP32_V(0, 0, 0x7d)/*0.25*/, FP32_RAND_V2(1), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V4(0), FP32_RAND_V3(1),   FP32_RAND_V7(0),   FP32_RAND_V1(1) } },
    11450             { /*src1     */ { FP32_V(0, 0, 0x7e)/*0.50*/, FP32_RAND_V0(0), FP32_RAND_V5(0), FP32_RAND_V7(0), FP32_RAND_V2(1), FP32_SNAN_V(1, 1), FP32_SNAN_V(0, 1), FP32_RAND_V3(0) } },
    11451             { /* =>      */ { FP32_V(0, 0, 0x7e)/*0.50*/, FP32_RAND_V0(0), FP32_RAND_V5(0), FP32_RAND_V7(0), FP32_RAND_V2(1), FP32_SNAN_V(1, 1), FP32_SNAN_V(0, 1), FP32_RAND_V3(0) } },
    11452               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11453               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11454               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11455               /*xcpt?    */ false, false },
    11456           { { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V0(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1) } },
    11457             { /*src1     */ { FP32_NORM_V1(0),  FP32_RAND_V0(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(0), FP32_RAND_V7(0) } },
    11458             { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V0(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(0), FP32_RAND_V7(0) } },
    11459               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    11460               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    11461               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    11462               /*xcpt?    */ false, false },
    11463           { { /*src2     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V4(0), FP32_RAND_V7(0), FP32_RAND_V6(0) } },
    11464             { /*src1     */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V3(1) } },
    11465             { /* =>      */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V4(0), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V3(1) } },
    11466               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11467               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11468               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11469               /*xcpt?    */ false, false },
    11470           { { /*src2     */ { FP32_V(1, 0x2514d6, 0x93)/*-1352346.75*/, FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V7(0), FP32_RAND_V1(0) } },
    11471             { /*src1     */ { FP32_V(0, 0x7c9000, 0x88)/*    1010.25*/, FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
    11472             { /* =>      */ { FP32_V(0, 0x7c9000, 0x88)/*    1010.25*/, FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V2(1), FP32_RAND_V2(1) } },
    11473               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11474               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11475               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11476               /*xcpt?    */ false, false },
    11477           { { /*src2     */ { FP32_V(1, 0x2514d6, 0x93)/*-1352346.75*/, FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
    11478             { /*src1     */ { FP32_V(0, 0x253468, 0x93)/* 1353357.00*/, FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V0(1), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V4(0), FP32_RAND_V4(1) } },
    11479             { /* =>      */ { FP32_V(0, 0x253468, 0x93)/* 1353357.00*/, FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V0(1), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V4(0), FP32_RAND_V4(1) } },
    11480               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11481               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11482               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11483               /*xcpt?    */ false, false },
    11484           { { /*src2     */ { FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
    11485             { /*src1     */ { FP32_V(1, 0x40e6b7, 0x8c)/*-12345.679*/, FP32_RAND_V1(1), FP32_RAND_V0(0), FP32_RAND_V0(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V4(1) } },
    11486             { /* =>      */ { FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_RAND_V1(1), FP32_RAND_V0(0), FP32_RAND_V0(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V4(1) } },
    11487               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11488               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11489               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11490               /*xcpt?    */ false, false },
    11491           { { /*src2     */ { FP32_V(0, 0x620b2e, 0x92)/*925874.9*/, FP32_RAND_V5(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V1(1) } },
    11492             { /*src1     */ { FP32_V(0, 0x620b2d, 0x92)/*925874.8*/, FP32_RAND_V3(0), FP32_RAND_V6(1), FP32_RAND_V0(1), FP32_RAND_V6(0), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
    11493             { /* =>      */ { FP32_V(0, 0x620b2e, 0x92)/*925874.9*/, FP32_RAND_V3(0), FP32_RAND_V6(1), FP32_RAND_V0(1), FP32_RAND_V6(0), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
    11494               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11495               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11496               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11497               /*xcpt?    */ false, false },
    11498           { { /*src2     */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_RAND_V6(1), FP32_RAND_V2(1), FP32_RAND_V4(1), FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11499             { /*src1     */ { FP32_V(0, 0x490fdb, 0x80)/*3.1415927*/, FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V3(0), FP32_RAND_V7(0), FP32_RAND_V1(0), FP32_RAND_V1(1) } },
    11500             { /* =>      */ { FP32_V(0, 0x490fdb, 0x80)/*3.1415927*/, FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V3(0), FP32_RAND_V7(0), FP32_RAND_V1(0), FP32_RAND_V1(1) } },
    11501               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11502               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11503               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11504               /*xcpt?    */ false, false },
    11505           { { /*src2     */ { FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_INF(1), FP32_SNAN(1), FP32_INF(1),  FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V6(1) } },
    11506             { /*src1     */ { FP32_V(1, 0x40e6b7, 0x8c)/*-12345.679*/, FP32_INF(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V7(1) } },
    11507             { /* =>      */ { FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_INF(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V7(1) } },
    11508               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11509               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11510               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11511               /*xcpt?    */ false, false },
    11512           { { /*src2     */ { FP32_V(0, 0x5dd520, 0x8e)/* 56789.125*/, FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_QNAN(0), FP32_SNAN(1), FP32_INF(0),  FP32_RAND_V3(1) } },
    11513             { /*src1     */ { FP32_V(1, 0x5dd521, 0x8e)/*-56789.127*/, FP32_RAND_V7(0), FP32_RAND_V7(0), FP32_RAND_V5(1), FP32_QNAN(0), FP32_QNAN(0), FP32_SNAN(1), FP32_RAND_V2(0) } },
    11514             { /* =>      */ { FP32_V(0, 0x5dd520, 0x8e)/* 56789.125*/, FP32_RAND_V7(0), FP32_RAND_V7(0), FP32_RAND_V5(1), FP32_QNAN(0), FP32_QNAN(0), FP32_SNAN(1), FP32_RAND_V2(0) } },
    11515               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11516               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11517               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11518               /*xcpt?    */ false, false },
    11519           { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/* 0.875*/, FP32_RAND_V4(0), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V0(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11520             { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.250*/, FP32_RAND_V2(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V7(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(1) } },
    11521             { /* =>      */ { FP32_V(0, 0x600000, 0x7e)/* 0.875*/, FP32_RAND_V2(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V7(1), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(1) } },
    11522               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11523               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11524               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11525               /*xcpt?    */ false, false },
    11526     /** @todo More Normals. */
    11527     /*
    11528      * Denormals.
    11529      */
    11530     /*46*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
    11531             { /*src1     */ { FP32_0(0),          FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
    11532             { /* =>      */ { FP32_0(0),          FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
    11533               /*mxcsr:in */ 0,
    11534               /*128:out  */ X86_MXCSR_DE,
    11535               /*256:out  */ X86_MXCSR_DE,
    11536               /*xcpt?    */ true, true },
    11537           { { /*src2     */ { FP32_0(0),          FP32_SNAN(0),    FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(0), FP32_SNAN(0),    FP32_SNAN(0),    FP32_QNAN(1)    } },
    11538             { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_QNAN(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
    11539             { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_QNAN(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
    11540               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11541               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11542               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11543               /*xcpt?    */ false, false },
    11544           { { /*src2     */ { FP32_DENORM_MIN(0), FP32_INF(1), FP32_SNAN(0), FP32_INF(1),  FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
    11545             { /*src1     */ { FP32_DENORM_MAX(0), FP32_INF(0), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V3(0) } },
    11546             { /* =>      */ { FP32_0(0),          FP32_INF(0), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V3(0) } },
    11547               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11548               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11549               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11550               /*xcpt?    */ false, false },
    11551           { { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V7(0), FP32_RAND_V0(0) } },
    11552             { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V4(1) } },
    11553             { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V4(1) } },
    11554               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11555               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11556               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11557               /*xcpt?    */ false, false },
    11558           { { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1) } },
    11559             { /*src1     */ { FP32_DENORM_MAX(1), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
    11560             { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
    11561               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11562               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11563               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11564               /*xcpt?    */ false, false },
    11565           { { /*src2     */ { FP32_DENORM_MAX(1), FP32_RAND_V3(1), FP32_RAND_V7(0), FP32_RAND_V6(1), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V7(1), FP32_RAND_V2(1) } },
    11566             { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11567             { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11568               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11569               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11570               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11571               /*xcpt?    */ false, false },
    11572           { { /*src2     */ { FP32_DENORM_MIN(1), FP32_RAND_V7(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
    11573             { /*src1     */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
    11574             { /* =>      */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
    11575               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11576               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11577               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11578               /*xcpt?    */ false, false },
    11579           { { /*src2     */ { FP32_DENORM_MIN(1), FP32_INF(0),     FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(1), FP32_SNAN(1),    FP32_SNAN(0),    FP32_QNAN(1)    } },
    11580             { /*src1     */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
    11581             { /* =>      */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
    11582               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11583               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11584               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11585               /*xcpt?    */ false, false },
    11586           { { /*src2     */ { FP32_DENORM_MIN(1), FP32_INF(0),     FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(1), FP32_SNAN(1),    FP32_SNAN(0),    FP32_QNAN(1)    } },
    11587             { /*src1     */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
    11588             { /* =>      */ { FP32_0(1),          FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
    11589               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11590               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11591               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    11592               /*xcpt?    */ false, false },
    11593           { { /*src2     */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
    11594             { /*src1     */ { FP32_0(0),          FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
    11595             { /* =>      */ { FP32_DENORM_MIN(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
    11596               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11597               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11598               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11599               /*xcpt?    */ false, false },
    11600     /** @todo More Denormals. */
    11601     /*56*/ FP32_TABLE_D9_SS_INVALIDS
    11602     /** @todo Rounding; FZ etc. */
    11603     };
    11604 
    11605 #define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
    11606     static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
    11607     {
    11608         { bs3CpuInstr4_maxss_XMM3_XMM4_icebp_c16,  255, RM_REG, T_SSE, 3, 3, 4,   PASS_s_aValues },
    11609         { bs3CpuInstr4_maxss_XMM3_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 3, 3, 255, PASS_s_aValues },
    11610 
    11611         { bs3CpuInstr4_vmaxss_XMM1_XMM6_XMM7_icebp_c16,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
    11612         { bs3CpuInstr4_vmaxss_XMM1_XMM6_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
    11613     };
    11614     static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
    11615     {
    11616         { bs3CpuInstr4_maxss_XMM3_XMM4_icebp_c32,  255, RM_REG, T_SSE, 3, 3, 4,   PASS_s_aValues },
    11617         { bs3CpuInstr4_maxss_XMM3_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 3, 3, 255, PASS_s_aValues },
    11618 
    11619         { bs3CpuInstr4_vmaxss_XMM1_XMM6_XMM7_icebp_c32,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
    11620         { bs3CpuInstr4_vmaxss_XMM1_XMM6_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
    11621     };
    11622     static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
    11623     {
    11624         { bs3CpuInstr4_maxss_XMM3_XMM4_icebp_c64,  255, RM_REG, T_SSE, 3, 3, 4,   PASS_s_aValues },
    11625         { bs3CpuInstr4_maxss_XMM3_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 3, 3, 255, PASS_s_aValues },
    11626 
    11627         { bs3CpuInstr4_vmaxss_XMM1_XMM6_XMM7_icebp_c64,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
    11628         { bs3CpuInstr4_vmaxss_XMM1_XMM6_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
    11629 
    11630         { bs3CpuInstr4_maxss_XMM8_XMM9_icebp_c64,  255,         RM_REG, T_SSE, 8, 8, 9,   PASS_s_aValues },
    11631         { bs3CpuInstr4_maxss_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_SSE, 8, 8, 255, PASS_s_aValues },
    11632 
    11633         { bs3CpuInstr4_vmaxss_XMM8_XMM9_XMM10_icebp_c64, 255,         RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
    11634         { bs3CpuInstr4_vmaxss_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
    11635     };
    11636 #undef PASS_s_aValues
    11637 
    11638     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
    11639     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
    11640     return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    11641                                         g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3));
    11642 }
    11643 
    11644 
    11645 /*
    11646  * [V]MAXSD.
    11647  */
    11648 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_maxsd(uint8_t bMode)
    11649 {
    11650     static BS3CPUINSTR4_TEST1_VALUES_SD_T const s_aValues[] =
    11651     {
    11652     /*
    11653      * Zero.
    11654      */
    11655     /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    11656             { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    11657             { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    11658               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11659               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11660               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11661               /*xcpt?    */ false, false },
    11662           { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    11663             { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    11664             { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    11665               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11666               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11667               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    11668               /*xcpt?    */ false, false },
    11669           { { /*src2     */ { FP64_0(0), FP64_INF(0), FP64_SNAN(0), FP64_SNAN(0) } },
    11670             { /*src1     */ { FP64_0(0), FP64_INF(1), FP64_QNAN(0), FP64_SNAN(1) } },
    11671             { /* =>      */ { FP64_0(0), FP64_INF(1), FP64_QNAN(0), FP64_SNAN(1) } },
    11672               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11673               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11674               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11675               /*xcpt?    */ false, false },
    11676           { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V0(0) } },
    11677             { /*src1     */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
    11678             { /* =>      */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
    11679               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11680               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11681               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11682               /*xcpt?    */ false, false },
    11683           { { /*src2     */ { FP64_0(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
    11684             { /*src1     */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
    11685             { /* =>      */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
    11686               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11687               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11688               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11689               /*xcpt?    */ false, false },
    11690           { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V3(0) } },
    11691             { /*src1     */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
    11692             { /* =>      */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
    11693               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11694               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11695               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11696               /*xcpt?    */ false, false },
    11697           { { /*src2     */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } },
    11698             { /*src1     */ { FP64_0(1), FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } },
    11699             { /* =>      */ { FP64_0(0), FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } },
    11700               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11701               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11702               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11703               /*xcpt?    */ false, false },
    11704           { { /*src2     */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(1) } },
    11705             { /*src1     */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11706             { /* =>      */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11707               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11708               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11709               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11710               /*xcpt?    */ false, false },
    11711           { { /*src2     */ { FP64_0(1), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
    11712             { /*src1     */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
    11713             { /* =>      */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
    11714               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11715               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11716               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11717               /*xcpt?    */ false, false },
    11718           { { /*src2     */ { FP64_0(1), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11719             { /*src1     */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } },
    11720             { /* =>      */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } },
    11721               /*mxcsr:in */ 0,
    11722               /*128:out  */ 0,
    11723               /*256:out  */ 0,
    11724               /*xcpt?    */ false, false },
    11725           { { /*src2     */ { FP64_0(1), FP64_RAND_V3(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } },
    11726             { /*src1     */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V0(1), FP64_RAND_V2(1) } },
    11727             { /* =>      */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V0(1), FP64_RAND_V2(1) } },
    11728               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11729               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11730               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11731               /*xcpt?    */ false, false },
    11732     /*
    11733      * Infinity.
    11734      */
    11735     /*11*/{ { /*src2     */ { FP64_INF(0), FP64_RAND_V3(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } },
    11736             { /*src1     */ { FP64_0(0),   FP64_RAND_V1(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
    11737             { /* =>      */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
    11738               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11739               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11740               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11741               /*xcpt?    */ false, false },
    11742           { { /*src2     */ { FP64_0(0),   FP64_RAND_V1(1), FP64_RAND_V1(1), FP64_RAND_V3(1) } },
    11743             { /*src1     */ { FP64_INF(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11744             { /* =>      */ { FP64_INF(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11745               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11746               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11747               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11748               /*xcpt?    */ false, false },
    11749           { { /*src2     */ { FP64_INF(0), FP64_INF(1),     FP64_SNAN(1),    FP64_QNAN(1)    } },
    11750             { /*src1     */ { FP64_0(0),   FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11751             { /* =>      */ { FP64_INF(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11752               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11753               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11754               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11755               /*xcpt?    */ false, false },
    11756           { { /*src2     */ { FP64_0(0),   FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11757             { /*src1     */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
    11758             { /* =>      */ { FP64_0(0),   FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
    11759               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11760               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11761               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    11762               /*xcpt?    */ false, false },
    11763           { { /*src2     */ { FP64_INF(0), FP64_RAND_V3(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
    11764             { /*src1     */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
    11765             { /* =>      */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
    11766               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11767               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11768               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11769               /*xcpt?    */ false, false },
    11770           { { /*src2     */ { FP64_INF(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
    11771             { /*src1     */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } },
    11772             { /* =>      */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } },
    11773               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11774               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11775               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11776               /*xcpt?    */ false, false },
    11777           { { /*src2     */ { FP64_INF(1), FP64_RAND_V3(0),   FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11778             { /*src1     */ { FP64_INF(1), FP64_QNAN_V(1, 1), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
    11779             { /* =>      */ { FP64_INF(1), FP64_QNAN_V(1, 1), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
    11780               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11781               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11782               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11783               /*xcpt?    */ false, false },
    11784           { { /*src2     */ { FP64_INF(1), FP64_RAND_V2(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } },
    11785             { /*src1     */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
    11786             { /* =>      */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
    11787               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11788               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11789               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11790               /*xcpt?    */ false, false },
    11791           { { /*src2     */ { FP64_INF(1), FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
    11792             { /*src1     */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
    11793             { /* =>      */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
    11794               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11795               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11796               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11797               /*xcpt?    */ false, false },
    11798           { { /*src2     */ { FP64_INF(1), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11799             { /*src1     */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    11800             { /* =>      */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    11801               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11802               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11803               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11804               /*xcpt?    */ false, false },
    11805           { { /*src2     */ { FP64_INF(0), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
    11806             { /*src1     */ { FP64_INF(1), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } },
    11807             { /* =>      */ { FP64_INF(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } },
    11808               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11809               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11810               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11811               /*xcpt?    */ false, false },
    11812           { { /*src2     */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11813             { /*src1     */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    11814             { /* =>      */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    11815               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11816               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11817               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    11818               /*xcpt?    */ false, false },
    11819           { { /*src2     */ { FP64_INF(0),     FP64_RAND_V0(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11820             { /*src1     */ { FP64_NORM_V0(0), FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V1(1) } },
    11821             { /* =>      */ { FP64_INF(0),     FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V1(1) } },
    11822               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11823               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11824               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11825               /*xcpt?    */ false, false },
    11826           { { /*src2     */ { FP64_INF(0),     FP64_INF(0), FP64_SNAN(1), FP64_INF(1)  } },
    11827             { /*src1     */ { FP64_NORM_V3(0), FP64_INF(1), FP64_QNAN(1), FP64_SNAN(1) } },
    11828             { /* =>      */ { FP64_INF(0),     FP64_INF(1), FP64_QNAN(1), FP64_SNAN(1) } },
    11829               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11830               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11831               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11832               /*xcpt?    */ false, false },
    11833           { { /*src2     */ { FP64_NORM_V2(0), FP64_RAND_V3(1), FP64_QNAN(1),    FP64_SNAN(1)    } },
    11834             { /*src1     */ { FP64_INF(1),     FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
    11835             { /* =>      */ { FP64_NORM_V2(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
    11836               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11837               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11838               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    11839               /*xcpt?    */ false, false },
    11840           { { /*src2     */ { FP64_NORM_V2(0), FP64_SNAN_V(0, 1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
    11841             { /*src1     */ { FP64_INF(0),     FP64_RAND_V2(0),   FP64_RAND_V1(0), FP64_RAND_V2(1) } },
    11842             { /* =>      */ { FP64_INF(0),     FP64_RAND_V2(0),   FP64_RAND_V1(0), FP64_RAND_V2(1) } },
    11843               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11844               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11845               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11846               /*xcpt?    */ false, false },
    11847     /*
    11848      * Normals.
    11849      */
    11850     /*27*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } },
    11851             { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V2(1) } },
    11852             { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V2(1) } },
    11853               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11854               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11855               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11856               /*xcpt?    */ false, false },
    11857           { { /*src2     */ { FP64_NORM_MIN(0), FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11858             { /*src1     */ { FP64_NORM_MIN(0), FP64_RAND_V2(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
    11859             { /* =>      */ { FP64_NORM_MIN(0), FP64_RAND_V2(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
    11860               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11861               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11862               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11863               /*xcpt?    */ false, false },
    11864           { { /*src2     */ { FP64_NORM_MIN(0), FP64_RAND_V3(1), FP64_RAND_V0(1), FP64_RAND_V3(0) } },
    11865             { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V1(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
    11866             { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V1(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
    11867               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11868               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11869               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11870               /*xcpt?    */ false, false },
    11871           { { /*src2     */ { FP64_NORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11872             { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
    11873             { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
    11874               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11875               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11876               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11877               /*xcpt?    */ false, false },
    11878           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11879             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
    11880             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
    11881               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11882               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11883               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11884               /*xcpt?    */ false, false },
    11885           { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    11886             { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11887             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11888               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11889               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11890               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11891               /*xcpt?    */ false, false },
    11892           { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_INF(0),     FP64_QNAN(1),    FP64_QNAN(0)    } },
    11893             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11894             { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    11895               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11896               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11897               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11898               /*xcpt?    */ false, false },
    11899           { { /*src2     */ { FP64_V(0, 0, 0x409)/*1024*/,  FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11900             { /*src1     */ { FP64_V(0, 0, 0x408)/* 512*/,  FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11901             { /* =>      */ { FP64_V(0, 0, 0x409)/*1024*/,  FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11902               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11903               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11904               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11905               /*xcpt?    */ false, false },
    11906           { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/,  FP64_RAND_V2(1), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    11907             { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/,  FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
    11908             { /* =>      */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/,  FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
    11909               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11910               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11911               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11912               /*xcpt?    */ false, false },
    11913           { { /*src2     */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11914             { /*src1     */ { FP64_NORM_V1(0),  FP64_RAND_V0(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
    11915             { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
    11916               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    11917               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    11918               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    11919               /*xcpt?    */ false, false },
    11920           { { /*src2     */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11921             { /*src1     */ { FP64_V(0, 0,               0x3fd)/*0.25*/, FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V1(0) } },
    11922             { /* =>      */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V1(0) } },
    11923               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11924               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11925               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11926               /*xcpt?    */ false, false },
    11927           { { /*src2     */ { FP64_V(1, 0, 0x3fd)/*-0.25*/, FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11928             { /*src1     */ { FP64_V(1, 0, 0x3fe)/*-0.50*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
    11929             { /* =>      */ { FP64_V(1, 0, 0x3fd)/*-0.25*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
    11930               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11931               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11932               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11933               /*xcpt?    */ false, false },
    11934           { { /*src2     */ { FP64_V(0, 0x26580b4c7e6b7, 0x41d)/*1234567891.1234567*/, FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V3(1) } },
    11935             { /*src1     */ { FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_RAND_V3(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
    11936             { /* =>      */ { FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_RAND_V3(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
    11937               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11938               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11939               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11940               /*xcpt?    */ false, false },
    11941           { { /*src2     */ { FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/, FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11942             { /*src1     */ { FP64_V(0, 0xf9b0207d0617d, 0x3fb)/*0.1234589833333128*/, FP64_RAND_V1(1), FP64_RAND_V0(0), FP64_RAND_V0(1) } },
    11943             { /* =>      */ { FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/, FP64_RAND_V1(1), FP64_RAND_V0(0), FP64_RAND_V0(1) } },
    11944               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11945               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11946               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11947               /*xcpt?    */ false, false },
    11948           { { /*src2     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/,  FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
    11949             { /*src1     */ { FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/,  FP64_RAND_V3(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
    11950             { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/,  FP64_RAND_V3(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } },
    11951               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11952               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11953               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11954               /*xcpt?    */ false, false },
    11955           { { /*src2     */ { FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/, FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
    11956             { /*src1     */ { FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    11957             { /* =>      */ { FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    11958               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11959               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11960               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    11961               /*xcpt?    */ false, false },
    11962           { { /*src2     */ { FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/, FP64_INF(1), FP64_SNAN(1), FP64_INF(1)  } },
    11963             { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/, FP64_INF(1), FP64_QNAN(0), FP64_SNAN(0) } },
    11964             { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/, FP64_INF(1), FP64_QNAN(0), FP64_SNAN(0) } },
    11965               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11966               /*128:out  */ X86_MXCSR_XCPT_MASK,
    11967               /*256:out  */ X86_MXCSR_XCPT_MASK,
    11968               /*xcpt?    */ false, false },
    11969           { { /*src2     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/* 244555555308646.00*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
    11970             { /*src1     */ { FP64_V(1, 0xb88e0395d49b0, 0x42d)/*-121098765432102.75*/, FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V2(1) } },
    11971             { /* =>      */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/* 244555555308646.00*/, FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V2(1) } },
    11972               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11973               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11974               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    11975               /*xcpt?    */ false, false },
    11976           { { /*src2     */ { FP64_V(1, 0xcf0033a34f337, 0x432)/*-4072598000007579.5*/, FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
    11977             { /*src1     */ { FP64_V(0, 0xd6eca42000000, 0x419)/*        123450000.5*/, FP64_RAND_V2(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11978             { /* =>      */ { FP64_V(0, 0xd6eca42000000, 0x419)/*        123450000.5*/, FP64_RAND_V2(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } },
    11979               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11980               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11981               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    11982               /*xcpt?    */ false, false },
    11983     /** @todo More Normals. */
    11984     /*
    11985      * Denormals.
    11986      */
    11987     /*46*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V0(1), FP64_RAND_V3(0) } },
    11988             { /*src1     */ { FP64_0(0),          FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V2(1) } },
    11989             { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V2(1) } },
    11990               /*mxcsr:in */ 0,
    11991               /*128:out  */ X86_MXCSR_DE,
    11992               /*256:out  */ X86_MXCSR_DE,
    11993               /*xcpt?    */ true, true },
    11994           { { /*src2     */ { FP64_0(0),          FP64_SNAN(0),    FP64_QNAN(1),    FP64_QNAN(0)    } },
    11995             { /*src1     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V3(1), FP64_RAND_V2(0) } },
    11996             { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V3(1), FP64_RAND_V2(0) } },
    11997               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    11998               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    11999               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12000               /*xcpt?    */ false, false },
    12001           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_INF(1), FP64_SNAN(0), FP64_INF(1)  } },
    12002             { /*src1     */ { FP64_DENORM_MAX(0), FP64_INF(0), FP64_QNAN(1), FP64_SNAN(1) } },
    12003             { /* =>      */ { FP64_0(0),          FP64_INF(0), FP64_QNAN(1), FP64_SNAN(1) } },
    12004               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12005               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12006               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12007               /*xcpt?    */ false, false },
    12008           { { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V0(1), FP64_RAND_V3(0) } },
    12009             { /*src1     */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    12010             { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
    12011               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12012               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12013               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12014               /*xcpt?    */ false, false },
    12015           { { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V2(0) } },
    12016             { /*src1     */ { FP64_DENORM_MAX(1), FP64_RAND_V0(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
    12017             { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V0(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
    12018               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12019               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12020               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12021               /*xcpt?    */ false, false },
    12022           { { /*src2     */ { FP64_DENORM_MAX(1), FP64_RAND_V3(1), FP64_RAND_V0(0), FP64_RAND_V3(1) } },
    12023             { /*src1     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } },
    12024             { /* =>      */ { FP64_DENORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } },
    12025               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12026               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12027               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12028               /*xcpt?    */ false, false },
    12029           { { /*src2     */ { FP64_DENORM_MIN(1), FP64_RAND_V0(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } },
    12030             { /*src1     */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
    12031             { /* =>      */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
    12032               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12033               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12034               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12035               /*xcpt?    */ false, false },
    12036           { { /*src2     */ { FP64_DENORM_MIN(1), FP64_INF(0),     FP64_QNAN(1),    FP64_SNAN_V(1, 1) } },
    12037             { /*src1     */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1)   } },
    12038             { /* =>      */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1)   } },
    12039               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12040               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12041               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12042               /*xcpt?    */ false, false },
    12043           { { /*src2     */ { FP64_DENORM_MIN(1), FP64_SNAN(1),    FP64_SNAN(0),    FP64_QNAN(0)    } },
    12044             { /*src1     */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    12045             { /* =>      */ { FP64_0(1),          FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
    12046               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12047               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12048               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12049               /*xcpt?    */ false, false },
    12050           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
    12051             { /*src1     */ { FP64_0(0),          FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
    12052             { /* =>      */ { FP64_DENORM_MIN(0), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
    12053               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12054               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12055               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12056               /*xcpt?    */ false, false },
    12057     /** @todo More Denormals. */
    12058     /*
    12059      * Invalids.
    12060      */
    12061     /*56*/ FP64_TABLE_D9_SD_INVALIDS
    12062     };
    12063 
    12064 #define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
    12065     static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
    12066     {
    12067         { bs3CpuInstr4_maxsd_XMM3_XMM4_icebp_c16,  255, RM_REG, T_SSE2, 3, 3, 4,   PASS_s_aValues },
    12068         { bs3CpuInstr4_maxsd_XMM3_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues },
    12069 
    12070         { bs3CpuInstr4_vmaxsd_XMM1_XMM6_XMM7_icebp_c16,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
    12071         { bs3CpuInstr4_vmaxsd_XMM1_XMM6_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
    12072     };
    12073     static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
    12074     {
    12075         { bs3CpuInstr4_maxsd_XMM3_XMM4_icebp_c32,  255, RM_REG, T_SSE2, 3, 3, 4,   PASS_s_aValues },
    12076         { bs3CpuInstr4_maxsd_XMM3_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues },
    12077 
    12078         { bs3CpuInstr4_vmaxsd_XMM1_XMM6_XMM7_icebp_c32,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
    12079         { bs3CpuInstr4_vmaxsd_XMM1_XMM6_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
    12080     };
    12081     static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
    12082     {
    12083         { bs3CpuInstr4_maxsd_XMM3_XMM4_icebp_c64,  255, RM_REG, T_SSE2, 3, 3, 4,   PASS_s_aValues },
    12084         { bs3CpuInstr4_maxsd_XMM3_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues },
    12085 
    12086         { bs3CpuInstr4_vmaxsd_XMM1_XMM6_XMM7_icebp_c64,  255,         RM_REG, T_AVX_128, 1, 6, 7,   PASS_s_aValues },
    12087         { bs3CpuInstr4_vmaxsd_XMM1_XMM6_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues },
    12088 
    12089         { bs3CpuInstr4_maxsd_XMM8_XMM9_icebp_c64,  255,         RM_REG, T_SSE2, 8, 8, 9,   PASS_s_aValues },
    12090         { bs3CpuInstr4_maxsd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_SSE2, 8, 8, 255, PASS_s_aValues },
    12091 
    12092         { bs3CpuInstr4_vmaxsd_XMM8_XMM9_XMM10_icebp_c64, 255,         RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
    12093         { bs3CpuInstr4_vmaxsd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
    12094     };
    12095 #undef PASS_s_aValues
    12096 
    12097     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
    12098     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
    12099     return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    12100                                         g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3));
    12101 }
    12102 
    12103 
    12104 /*
    12105  * [V]MINPS.
    12106  */
    12107 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_minps(uint8_t bMode)
    12108 {
    12109     static BS3CPUINSTR4_TEST1_VALUES_PS_T const s_aValues[] =
    12110     {
    12111     /*
    12112      * Zero.
    12113      */
    12114     /* 0*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12115             { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12116             { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12117               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12118               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12119               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12120               /*xcpt?    */ false, false },
    12121           { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12122             { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12123             { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12124               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12125               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12126               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12127               /*xcpt?    */ false, false },
    12128           { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12129             { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12130             { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12131               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12132               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12133               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12134               /*xcpt?    */ false, false },
    12135           { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
    12136             { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0) } },
    12137             { /* =>      */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
    12138               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12139               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12140               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12141               /*xcpt?    */ false, false },
    12142           { { /*src2     */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
    12143             { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12144             { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
    12145               /*mxcsr:in */ 0,
    12146               /*128:out  */ 0,
    12147               /*256:out  */ 0,
    12148               /*xcpt?    */ false, false },
    12149           { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
    12150             { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0) } },
    12151             { /* =>      */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
    12152               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12153               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12154               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12155               /*xcpt?    */ false, false },
    12156           { { /*src2     */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
    12157             { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12158             { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
    12159               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12160               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12161               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12162               /*xcpt?    */ false, false },
    12163           { { /*src2     */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
    12164             { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12165             { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
    12166               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12167               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12168               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12169               /*xcpt?    */ false, false },
    12170           { { /*src2     */ { FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
    12171             { /*src1     */ { FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0) } },
    12172             { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1) } },
    12173               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12174               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12175               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12176               /*xcpt?    */ false, false },
    12177     /*
    12178      * Infinity.
    12179      */
    12180     /*9 */{ { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
    12181             { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
    12182             { /* =>      */ { FP32_0(0),   FP32_0(0),   FP32_INF(1), FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
    12183               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12184               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12185               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12186               /*xcpt?    */ false, false },
    12187           { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
    12188             { /*src1     */ { FP32_0(0),   FP32_INF(1), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
    12189             { /* =>      */ { FP32_0(0),   FP32_INF(1), FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
    12190               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12191               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12192               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12193               /*xcpt?    */ false, false },
    12194           { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
    12195             { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
    12196             { /* =>      */ { FP32_0(0),   FP32_0(0),   FP32_0(1),   FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
    12197               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12198               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12199               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12200               /*xcpt?    */ false, false },
    12201           { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
    12202             { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
    12203             { /* =>      */ { FP32_0(0),   FP32_0(0),   FP32_0(1),   FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
    12204               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12205               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12206               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12207               /*xcpt?    */ false, false },
    12208           { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
    12209             { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
    12210             { /* =>      */ { FP32_0(0),   FP32_0(0),   FP32_0(1),   FP32_0(1),   FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
    12211               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12212               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12213               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12214               /*xcpt?    */ false, false },
    12215           { { /*src2     */ { FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(0) } },
    12216             { /*src1     */ { FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(0) } },
    12217             { /* =>      */ { FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0) } },
    12218               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12219               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12220               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12221               /*xcpt?    */ false, false },
    12222           { { /*src2     */ { FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(0) } },
    12223             { /*src1     */ { FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(0) } },
    12224             { /* =>      */ { FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0) } },
    12225               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12226               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12227               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12228               /*xcpt?    */ false, false },
    12229           { { /*src2     */ { FP32_INF(0),     FP32_NORM_V1(0), FP32_INF(1),     FP32_NORM_V3(1), FP32_INF(1),     FP32_NORM_V5(0), FP32_INF(1),     FP32_NORM_V7(0) } },
    12230             { /*src1     */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_NORM_V2(0), FP32_INF(1),     FP32_NORM_V4(1), FP32_INF(1),     FP32_NORM_V6(0), FP32_INF(0)     } },
    12231             { /* =>      */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_INF(1),     FP32_INF(1),     FP32_INF(1),     FP32_INF(1),     FP32_INF(1),     FP32_NORM_V7(0) } },
    12232               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12233               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12234               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12235               /*xcpt?    */ false, false },
    12236           { { /*src2     */ { FP32_INF(0),     FP32_NORM_V1(0), FP32_INF(1),     FP32_NORM_V3(1), FP32_INF(0),     FP32_NORM_V5(0), FP32_INF(1),     FP32_NORM_V7(0) } },
    12237             { /*src1     */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_NORM_V2(0), FP32_INF(0),     FP32_NORM_V4(1), FP32_INF(1),     FP32_NORM_V6(0), FP32_INF(0)     } },
    12238             { /* =>      */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_INF(1),     FP32_NORM_V3(1), FP32_NORM_V4(1), FP32_INF(1),     FP32_INF(1),     FP32_NORM_V7(0) } },
    12239               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12240               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12241               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12242               /*xcpt?    */ false, false },
    12243           { { /*src2     */ { FP32_NORM_V7(0), FP32_INF(0),     FP32_NORM_V5(0), FP32_INF(0),     FP32_NORM_V3(0), FP32_INF(0),     FP32_NORM_V1(0), FP32_INF(0)     } },
    12244             { /*src1     */ { FP32_INF(1),     FP32_NORM_V6(1), FP32_INF(0),     FP32_NORM_V4(0), FP32_INF(0),     FP32_NORM_V2(1), FP32_INF(1),     FP32_NORM_V0(1) } },
    12245             { /* =>      */ { FP32_INF(1),     FP32_NORM_V6(1), FP32_NORM_V5(0), FP32_NORM_V4(0), FP32_NORM_V3(0), FP32_NORM_V2(1), FP32_INF(1),     FP32_NORM_V0(1) } },
    12246               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12247               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12248               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12249               /*xcpt?    */ false, false },
    12250           { { /*src2     */ { FP32_NORM_V7(0), FP32_INF(0),     FP32_NORM_V5(1), FP32_INF(0),     FP32_NORM_V3(1), FP32_INF(0),     FP32_NORM_V1(1), FP32_INF(0)     } },
    12251             { /*src1     */ { FP32_INF(0),     FP32_NORM_V6(1), FP32_INF(0),     FP32_NORM_V4(1), FP32_INF(0),     FP32_NORM_V2(1), FP32_INF(0),     FP32_NORM_V0(1) } },
    12252             { /* =>      */ { FP32_NORM_V7(0), FP32_NORM_V6(1), FP32_NORM_V5(1), FP32_NORM_V4(1), FP32_NORM_V3(1), FP32_NORM_V2(1), FP32_NORM_V1(1), FP32_NORM_V0(1) } },
    12253               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12254               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12255               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12256               /*xcpt?    */ false, false },
    12257     /*
    12258      * Normals.
    12259      */
    12260     /*20*/{ { /*src2     */ { FP32_NORM_MAX(0), FP32_0(0),        FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_0(1),        FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
    12261             { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_0(1),        FP32_NORM_MAX(0) } },
    12262             { /* =>      */ { FP32_NORM_MAX(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
    12263               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12264               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12265               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12266               /*xcpt?    */ false, false },
    12267           { { /*src2     */ { FP32_NORM_MIN(0), FP32_0(0),        FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_0(1),        FP32_NORM_MIN(1), FP32_NORM_MIN(1) } },
    12268             { /*src1     */ { FP32_NORM_MIN(0), FP32_NORM_MIN(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_0(1),        FP32_NORM_MIN(0) } },
    12269             { /* =>      */ { FP32_NORM_MIN(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(1) } },
    12270               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12271               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12272               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12273               /*xcpt?    */ false, false },
    12274           { { /*src2     */ { FP32_NORM_MIN(0), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
    12275             { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_NORM_MIN(1) } },
    12276             { /* =>      */ { FP32_NORM_MIN(0), FP32_NORM_MAX(1), FP32_NORM_MIN(1), FP32_NORM_MAX(1), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
    12277               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12278               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12279               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12280               /*xcpt?    */ false, false },
    12281           { { /*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) } },
    12282             { /*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) } },
    12283             { /* =>      */ { 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) } },
    12284               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12285               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12286               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12287               /*xcpt?    */ false, false },
    12288           { { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_V(0, 0, 0x7d)/* 0.25*/, FP32_V(0, 0x600000, 0x7f)/*1.75*/, FP32_V(1, 0, 0x7d)/*-0.25*/ } },
    12289             { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0, 0x7e)/*0.50*/, FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0, 0x7e)/*0.50*/, FP32_V(1, 0x600000, 0x7f)/*-1.75*/, FP32_V(1, 0, 0x7e)/*-0.50*/, FP32_V(1, 0,        0x7d)/*0.25*/, FP32_V(1, 0, 0x7e)/*-0.50*/ } },
    12290             { /* =>      */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_V(1, 0x600000, 0x7f)/*-1.75*/, FP32_V(1, 0, 0x7e)/*-0.50*/, FP32_V(1, 0,        0x7d)/*0.25*/, FP32_V(1, 0, 0x7e)/*-0.50*/ } },
    12291               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12292               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12293               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12294               /*xcpt?    */ false, false },
    12295           { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_V1(0), FP32_NORM_V2(1), FP32_NORM_V3(1), FP32_NORM_V5(0), FP32_0(1),       FP32_NORM_V5(1), FP32_0(0)       } },
    12296             { /*src1     */ { FP32_NORM_V1(0),  FP32_NORM_V1(1), FP32_NORM_V2(0), FP32_NORM_V3(1), FP32_0(1),       FP32_NORM_V6(0), FP32_0(1),       FP32_NORM_V7(1) } },
    12297             { /* =>      */ { FP32_NORM_V1(0),  FP32_NORM_V1(1), FP32_NORM_V2(1), FP32_NORM_V3(1), FP32_0(1),       FP32_0(1),       FP32_NORM_V5(1), FP32_NORM_V7(1) } },
    12298               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12299               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12300               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12301               /*xcpt?    */ false, false },
    12302           { { /*src2     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_V(0, 0x600000, 0x81)/* 7*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(0, 0x5c0000, 0x84)/* 55*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(1, 0x534000, 0x86)/*-211.25*/, FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_1(1) } },
    12303             { /*src1     */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_V(0, 0x5c0000, 0x84)/*55*/, FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_V(1, 0x600000, 0x81)/* -7*/, FP32_V(0, 0x253468, 0x93)/*1353357.00*/, FP32_1(1),                            FP32_V(0, 0x712060, 0x92)/*  987654*/, FP32_1(0) } },
    12304             { /* =>      */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_V(0, 0x600000, 0x81)/* 7*/, FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_V(1, 0x600000, 0x81)/* -7*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(1, 0x534000, 0x86)/*-211.25*/, FP32_V(0, 0x712060, 0x92)/*  987654*/, FP32_1(1) } },
    12305               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12306               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12307               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12308               /*xcpt?    */ false, false },
    12309           { { /*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*/ } },
    12310             { /*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*/ } },
    12311             { /* =>      */ { 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*/ } },
    12312               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12313               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12314               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12315               /*xcpt?    */ false, false },
    12316           { { /*src2     */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_V(0, 0x620b2e, 0x92)/*925874.9*/, FP32_V(0, 0x5dd520, 0x8e)/* 56789.125*/, FP32_V(1, 0x40e6b6, 0x8c)/*-12345.678*/, FP32_V(1, 0x490fda, 0x80)/*-3.1415926*/, FP32_V(1, 0x620b2e, 0x92)/*-925874.8*/, FP32_V(0, 0x5dd520, 0x8e)/*56789.125*/, FP32_V(0, 0x40e6b6, 0x8c)/*12345.678*/ } },
    12317             { /*src1     */ { FP32_V(0, 0x490fdb, 0x80)/*3.1415927*/, FP32_V(0, 0x620b2d, 0x92)/*925874.8*/, FP32_V(1, 0x5dd521, 0x8e)/*-56789.127*/, FP32_V(1, 0x40e6b7, 0x8c)/*-12345.679*/, FP32_V(1, 0x490fdb, 0x80)/*-3.1415927*/, FP32_V(0, 0x620b2d, 0x92)/* 925874.9*/, FP32_V(0, 0x5dd521, 0x8e)/*56789.127*/, FP32_V(0, 0x40e6b7, 0x8c)/*12345.679*/ } },
    12318             { /* =>      */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_V(0, 0x620b2d, 0x92)/*925874.8*/, FP32_V(1, 0x5dd521, 0x8e)/*-56789.127*/, FP32_V(1, 0x40e6b7, 0x8c)/*-12345.679*/, FP32_V(1, 0x490fdb, 0x80)/*-3.1415927*/, FP32_V(1, 0x620b2e, 0x92)/*-925874.8*/, FP32_V(0, 0x5dd520, 0x8e)/*56789.125*/, FP32_V(0, 0x40e6b6, 0x8c)/*12345.678*/ } },
    12319               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12320               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12321               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12322               /*xcpt?    */ false, false },
    12323     /** @todo More Normals. */
    12324     /*
    12325      * Denormals.
    12326      */
    12327     /*29*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0)          } },
    12328             { /*src1     */ { FP32_0(0),          FP32_DENORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(1) } },
    12329             { /* =>      */ { FP32_0(0),          FP32_DENORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(1) } },
    12330               /*mxcsr:in */ 0,
    12331               /*128:out  */ X86_MXCSR_DE,
    12332               /*256:out  */ X86_MXCSR_DE,
    12333               /*xcpt?    */ true, true },
    12334           { { /*src2     */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0) } },
    12335             { /*src1     */ { FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0) } },
    12336             { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0) } },
    12337               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12338               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12339               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12340               /*xcpt?    */ false, false },
    12341           { { /*src2     */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0) } },
    12342             { /*src1     */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0) } },
    12343             { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
    12344               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12345               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12346               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12347               /*xcpt?    */ false, false },
    12348           { { /*src2     */ { FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0) } },
    12349              { /*src1     */ { FP32_0(0),         FP32_0(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
    12350              { /* =>      */ { FP32_0(0),         FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0) } },
    12351                /*mxcsr:in */ 0,
    12352                /*128:out  */ X86_MXCSR_DE,
    12353                /*256:out  */ X86_MXCSR_DE,
    12354                /*xcpt?    */ true, true },
    12355           { { /*src2     */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_DENORM_MAX(1) } },
    12356             { /*src1     */ { FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_DENORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0)          } },
    12357             { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(1)          } },
    12358               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12359               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12360               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12361               /*xcpt?    */ false, false },
    12362           { { /*src2     */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0) } },
    12363             { /*src1     */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0) } },
    12364             { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
    12365               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12366               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12367               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12368               /*xcpt?    */ false, false },
    12369     /** @todo More Denormals. */
    12370     /*35*/ FP32_TABLE_D9_PS_INVALIDS
    12371     };
    12372 
    12373 #define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
    12374     static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
    12375     {
    1237612376        { bs3CpuInstr4_minps_XMM1_XMM2_icebp_c16,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
    1237712377        { bs3CpuInstr4_minps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
     
    1241712417    static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
    1241812418    unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
    12419     return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     12419    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    1242012420                                        g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2));
    1242112421}
Note: See TracChangeset for help on using the changeset viewer.

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