VirtualBox

Changeset 106176 in vbox for trunk


Ignore:
Timestamp:
Sep 28, 2024 9:13:01 AM (5 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: adapt maxpd, minpd to auto-MXCSR; bugref:10658

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

Legend:

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

    r106175 r106176  
    14431443            { /*src1     */ { FP64_1(0),    FP64_1(1),                          FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },       \
    14441444            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_QNAN_V(0, FP64_FRAC_V1) } },       \
    1445               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS,                                                                               \
    1446               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS,                                                                               \
    1447               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS,                                                                               \
     1445              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                                                                      \
     1446              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                                                                       \
     1447              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                                                                       \
    14481448              /*xcpt?    */ false, false },                                                                                                           \
    14491449          { { /*src2     */ { FP64_SNAN(1), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_SNAN_V(0, FP64_FRAC_V1) } },       \
     
    14701470          { { /*src2     */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V1) } },       \
    14711471            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } },       \
    1472             { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V1) } },       \
     1472            { /* =>      */ { FP64_SNAN(0), FP64_SNAN(0),                      FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V1) } },       \
    14731473              /*mxcsr:in */ 0,                                                                                                                        \
    14741474              /*128:out  */ X86_MXCSR_IE,                                                                                                             \
     
    1108811088    /*29*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)         } },
    1108911089            { /*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) } },
     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    {
     12376        { bs3CpuInstr4_minps_XMM1_XMM2_icebp_c16,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
     12377        { bs3CpuInstr4_minps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
     12378
     12379        { bs3CpuInstr4_vminps_XMM1_XMM2_XMM3_icebp_c16,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     12380        { bs3CpuInstr4_vminps_XMM1_XMM2_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     12381
     12382        { bs3CpuInstr4_vminps_YMM1_YMM2_YMM3_icebp_c16,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
     12383        { bs3CpuInstr4_vminps_YMM1_YMM2_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
     12384    };
     12385    static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
     12386    {
     12387        { bs3CpuInstr4_minps_XMM1_XMM2_icebp_c32,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
     12388        { bs3CpuInstr4_minps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
     12389
     12390        { bs3CpuInstr4_vminps_XMM1_XMM2_XMM3_icebp_c32,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     12391        { bs3CpuInstr4_vminps_XMM1_XMM2_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     12392
     12393        { bs3CpuInstr4_vminps_YMM1_YMM2_YMM3_icebp_c32,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
     12394        { bs3CpuInstr4_vminps_YMM1_YMM2_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
     12395    };
     12396    static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
     12397    {
     12398        { bs3CpuInstr4_minps_XMM1_XMM2_icebp_c64,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
     12399        { bs3CpuInstr4_minps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
     12400
     12401        { bs3CpuInstr4_vminps_XMM1_XMM2_XMM3_icebp_c64,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
     12402        { bs3CpuInstr4_vminps_XMM1_XMM2_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
     12403
     12404        { bs3CpuInstr4_vminps_YMM1_YMM2_YMM3_icebp_c64,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
     12405        { bs3CpuInstr4_vminps_YMM1_YMM2_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
     12406
     12407        { bs3CpuInstr4_minps_XMM8_XMM9_icebp_c64,  255, RM_REG, T_SSE, 8, 8, 9,   PASS_s_aValues },
     12408        { bs3CpuInstr4_minps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, PASS_s_aValues },
     12409
     12410        { bs3CpuInstr4_vminps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
     12411        { bs3CpuInstr4_vminps_XMM8_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
     12412        { bs3CpuInstr4_vminps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10,  PASS_s_aValues },
     12413        { bs3CpuInstr4_vminps_YMM8_YMM9_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 8, 9, 255, PASS_s_aValues },
     12414    };
     12415#undef PASS_s_aValues
     12416
     12417    static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     12418    unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
     12419    return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     12420                                        g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2));
     12421}
     12422
     12423
     12424/*
     12425 * [V]MINPD.
     12426 */
     12427BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_minpd(uint8_t bMode)
     12428{
     12429    static BS3CPUINSTR4_TEST1_VALUES_PD_T const s_aValues[] =
     12430    {
     12431    /*
     12432     * Zero.
     12433     */
     12434    /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12435            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12436            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12437              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12438              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12439              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12440              /*xcpt?    */ false, false },
     12441          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12442            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12443            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12444              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12445              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12446              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12447              /*xcpt?    */ false, false },
     12448          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12449            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12450            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12451              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12452              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12453              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12454              /*xcpt?    */ false, false },
     12455          { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
     12456            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
     12457            { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
     12458              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12459              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12460              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12461              /*xcpt?    */ false, false },
     12462          { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     12463            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12464            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     12465              /*mxcsr:in */ 0,
     12466              /*128:out  */ 0,
     12467              /*256:out  */ 0,
     12468              /*xcpt?    */ false, false },
     12469          { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
     12470            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
     12471            { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
     12472              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12473              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12474              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12475              /*xcpt?    */ false, false },
     12476          { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     12477            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12478            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     12479              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12480              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12481              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12482              /*xcpt?    */ false, false },
     12483          { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     12484            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
     12485            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
     12486              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12487              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12488              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12489              /*xcpt?    */ false, false },
     12490          { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
     12491            { /*src1     */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
     12492            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
     12493              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12494              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12495              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12496              /*xcpt?    */ false, false },
     12497    /*
     12498     * Infinity.
     12499     */
     12500    /*9 */{ { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     12501            { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(1) } },
     12502            { /* =>      */ { FP64_0(0),   FP64_0(0),   FP64_0(1),   FP64_INF(1) } },
     12503              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12504              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12505              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12506              /*xcpt?    */ false, false },
     12507          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     12508            { /*src1     */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
     12509            { /* =>      */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
     12510              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12511              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12512              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12513              /*xcpt?    */ false, false },
     12514          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     12515            { /*src1     */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
     12516            { /* =>      */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
     12517              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12518              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12519              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     12520              /*xcpt?    */ false, false },
     12521          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     12522            { /*src1     */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
     12523            { /* =>      */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
     12524              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12525              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12526              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12527              /*xcpt?    */ false, false },
     12528          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
     12529            { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(1) } },
     12530            { /* =>      */ { FP64_0(0),   FP64_0(0),   FP64_0(1),   FP64_INF(1) } },
     12531              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12532              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12533              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12534              /*xcpt?    */ false, false },
     12535          { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
     12536            { /*src1     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
     12537            { /* =>      */ { FP64_INF(0), FP64_INF(1), FP64_INF(1), FP64_INF(1) } },
     12538              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12539              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12540              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12541              /*xcpt?    */ false, false },
     12542          { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
     12543            { /*src1     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
     12544            { /* =>      */ { FP64_INF(0), FP64_INF(1), FP64_INF(1), FP64_INF(1) } },
     12545              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12546              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12547              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12548              /*xcpt?    */ false, false },
     12549          { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
     12550            { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
     12551            { /* =>      */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(1)     } },
     12552              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12553              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12554              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12555              /*xcpt?    */ false, false },
     12556          { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
     12557            { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
     12558            { /* =>      */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(1)     } },
     12559              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12560              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12561              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12562              /*xcpt?    */ false, false },
     12563          { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
     12564            { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
     12565            { /* =>      */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(1)     } },
     12566              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12567              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12568              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     12569              /*xcpt?    */ false, false },
     12570          { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
     12571            { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
     12572            { /* =>      */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(1)     } },
     12573              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12574              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12575              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12576              /*xcpt?    */ false, false },
     12577    /*
     12578     * Normals.
     12579     */
     12580    /*20*/{ { /*src2     */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_NORM_V2(0), FP64_NORM_V1(1) } },
     12581            { /*src1     */ { FP64_NORM_V3(1), FP64_NORM_V1(0), FP64_NORM_V2(1), FP64_NORM_V1(0) } },
     12582            { /* =>      */ { FP64_NORM_V3(1), FP64_NORM_V1(1), FP64_NORM_V2(1), FP64_NORM_V1(1) } },
     12583              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     12584              /*128:out  */ X86_MXCSR_XCPT_MASK,
     12585              /*256:out  */ X86_MXCSR_XCPT_MASK,
     12586              /*xcpt?    */ false, false },
     12587          { { /*src2     */ { FP64_NORM_V0(0), FP64_0(1),       FP64_NORM_V2(0), FP64_0(1)       } },
     12588            { /*src1     */ { FP64_0(0),       FP64_NORM_V1(1), FP64_0(0),       FP64_NORM_V1(0) } },
     12589            { /* =>      */ { FP64_0(0),       FP64_NORM_V1(1), FP64_0(0),       FP64_0(1)       } },
     12590              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12591              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12592              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     12593              /*xcpt?    */ false, false },
     12594          { { /*src2     */ { FP64_V(0, 0, 0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(1, 0x8000000000000, 0x409)/*-1536*/, FP64_V(0, 0xf000000000000, 0x404)/* 62*/ } },
     12595            { /*src1     */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_V(0, 0xc000000000000, 0x401)/* 7*/, FP64_1(1),                                  FP64_V(1, 0xf000000000000, 0x404)/*-62*/ } },
     12596            { /* =>      */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_V(0, 0xc000000000000, 0x401)/* 7*/, FP64_V(1, 0x8000000000000, 0x409)/*-1536*/, FP64_V(1, 0xf000000000000, 0x404)/*-62*/ } },
     12597              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     12598              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     12599              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
     12600              /*xcpt?    */ false, false },
     12601          { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(1, 0xd6f3426800000, 0x41c)/*-987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
     12602            { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*      100*/, FP64_1(0),                                       FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
     12603            { /* =>      */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*      100*/, FP64_V(1, 0xd6f3426800000, 0x41c)/*-987654221*/, FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
     12604              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     12605              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     12606              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     12607              /*xcpt?    */ false, false },
     12608          { { /*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*/ } },
     12609            { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*     -100*/, FP64_1(0),                                      FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
     12610            { /* =>      */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*     -100*/, FP64_1(0),                                      FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
     12611              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
     12612              /*128:out  */ X86_MXCSR_RC_ZERO,
     12613              /*256:out  */ X86_MXCSR_RC_ZERO,
     12614              /*xcpt?    */ false, false },
     12615          { { /*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) } },
     12616            { /*src1     */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
     12617            { /* =>      */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
     12618              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12619              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12620              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     12621              /*xcpt?    */ false, false },
     12622          { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
     12623            { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0) } },
     12624            { /* =>      */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(1) } },
     12625              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12626              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12627              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12628              /*xcpt?    */ false, false },
     12629          { { /*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*/ } },
     12630            { /*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*/ } },
     12631            { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/ } },
     12632              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12633              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12634              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     12635              /*xcpt?    */ false, false },
     12636          { { /*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*/ } },
     12637            { /*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*/ } },
     12638            { /* =>      */ { FP64_V(0, 0,               0x3fd)/*0.25*/, FP64_V(0, 0, 0x3fd)/*0.25*/, FP64_V(0, 0x26580b4c7e6b7, 0x41d)/*1234567891.1234567*/, FP64_V(0, 0xf9b0207d0617d, 0x3fb)/*0.1234589833333128*/ } },
     12639              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12640              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12641              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     12642              /*xcpt?    */ false, false },
     12643    /*
     12644     * Denormals.
     12645     */
     12646    /*29*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)          } },
     12647            { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(1), FP64_0(0),          FP64_DENORM_MAX(1) } },
    1109012648            { /* =>      */ { FP64_0(0),          FP64_DENORM_MAX(1), FP64_0(0),          FP64_DENORM_MAX(1) } },
    1109112649              /*mxcsr:in */ 0,
     
    1109512653          { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_DENORM_MAX(0) } },
    1109612654            { /*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) } },
     12655            { /* =>      */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
    1109812656              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    1109912657              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     
    1113812696    static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
    1113912697    {
    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_WorkerTestType1(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     {
    12376         { bs3CpuInstr4_minps_XMM1_XMM2_icebp_c16,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
    12377         { bs3CpuInstr4_minps_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
    12378 
    12379         { bs3CpuInstr4_vminps_XMM1_XMM2_XMM3_icebp_c16,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    12380         { bs3CpuInstr4_vminps_XMM1_XMM2_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    12381 
    12382         { bs3CpuInstr4_vminps_YMM1_YMM2_YMM3_icebp_c16,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
    12383         { bs3CpuInstr4_vminps_YMM1_YMM2_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
    12384     };
    12385     static BS3CPUINSTR4_TEST1_T const s_aTests32[] =
    12386     {
    12387         { bs3CpuInstr4_minps_XMM1_XMM2_icebp_c32,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
    12388         { bs3CpuInstr4_minps_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
    12389 
    12390         { bs3CpuInstr4_vminps_XMM1_XMM2_XMM3_icebp_c32,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    12391         { bs3CpuInstr4_vminps_XMM1_XMM2_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    12392 
    12393         { bs3CpuInstr4_vminps_YMM1_YMM2_YMM3_icebp_c32,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
    12394         { bs3CpuInstr4_vminps_YMM1_YMM2_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
    12395     };
    12396     static BS3CPUINSTR4_TEST1_T const s_aTests64[] =
    12397     {
    12398         { bs3CpuInstr4_minps_XMM1_XMM2_icebp_c64,  255, RM_REG, T_SSE, 1, 1, 2,   PASS_s_aValues },
    12399         { bs3CpuInstr4_minps_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues },
    12400 
    12401         { bs3CpuInstr4_vminps_XMM1_XMM2_XMM3_icebp_c64,  255, RM_REG, T_AVX_128, 1, 2, 3,   PASS_s_aValues },
    12402         { bs3CpuInstr4_vminps_XMM1_XMM2_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 1, 2, 255, PASS_s_aValues },
    12403 
    12404         { bs3CpuInstr4_vminps_YMM1_YMM2_YMM3_icebp_c64,  255, RM_REG, T_AVX_256, 1, 2, 3,   PASS_s_aValues },
    12405         { bs3CpuInstr4_vminps_YMM1_YMM2_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 1, 2, 255, PASS_s_aValues },
    12406 
    12407         { bs3CpuInstr4_minps_XMM8_XMM9_icebp_c64,  255, RM_REG, T_SSE, 8, 8, 9,   PASS_s_aValues },
    12408         { bs3CpuInstr4_minps_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, PASS_s_aValues },
    12409 
    12410         { bs3CpuInstr4_vminps_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10,  PASS_s_aValues },
    12411         { bs3CpuInstr4_vminps_XMM8_XMM9_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues },
    12412         { bs3CpuInstr4_vminps_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX_256, 8, 9, 10,  PASS_s_aValues },
    12413         { bs3CpuInstr4_vminps_YMM8_YMM9_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 8, 9, 255, PASS_s_aValues },
    12414     };
    12415 #undef PASS_s_aValues
    12416 
    12417     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
    12418     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
    12419     return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    12420                                         g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2));
    12421 }
    12422 
    12423 
    12424 /*
    12425  * [V]MINPD.
    12426  */
    12427 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_minpd(uint8_t bMode)
    12428 {
    12429     static BS3CPUINSTR4_TEST1_VALUES_PD_T const s_aValues[] =
    12430     {
    12431     /*
    12432      * Zero.
    12433      */
    12434     /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12435             { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12436             { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12437               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12438               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12439               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12440               /*xcpt?    */ false, false },
    12441           { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12442             { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12443             { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12444               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12445               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12446               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12447               /*xcpt?    */ false, false },
    12448           { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12449             { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12450             { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12451               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12452               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12453               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12454               /*xcpt?    */ false, false },
    12455           { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
    12456             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
    12457             { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
    12458               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12459               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12460               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12461               /*xcpt?    */ false, false },
    12462           { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    12463             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12464             { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    12465               /*mxcsr:in */ 0,
    12466               /*128:out  */ 0,
    12467               /*256:out  */ 0,
    12468               /*xcpt?    */ false, false },
    12469           { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
    12470             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
    12471             { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
    12472               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12473               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12474               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12475               /*xcpt?    */ false, false },
    12476           { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    12477             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12478             { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    12479               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12480               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12481               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12482               /*xcpt?    */ false, false },
    12483           { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    12484             { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
    12485             { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(0) } },
    12486               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12487               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12488               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12489               /*xcpt?    */ false, false },
    12490           { { /*src2     */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
    12491             { /*src1     */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
    12492             { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } },
    12493               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12494               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12495               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12496               /*xcpt?    */ false, false },
    12497     /*
    12498      * Infinity.
    12499      */
    12500     /*9 */{ { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    12501             { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(1) } },
    12502             { /* =>      */ { FP64_0(0),   FP64_0(0),   FP64_0(1),   FP64_INF(1) } },
    12503               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12504               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12505               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12506               /*xcpt?    */ false, false },
    12507           { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    12508             { /*src1     */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
    12509             { /* =>      */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
    12510               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12511               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12512               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12513               /*xcpt?    */ false, false },
    12514           { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    12515             { /*src1     */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
    12516             { /* =>      */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
    12517               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12518               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12519               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
    12520               /*xcpt?    */ false, false },
    12521           { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    12522             { /*src1     */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
    12523             { /* =>      */ { FP64_0(0),   FP64_INF(1), FP64_0(1),   FP64_INF(1) } },
    12524               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12525               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12526               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12527               /*xcpt?    */ false, false },
    12528           { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_INF(0), FP64_0(1)   } },
    12529             { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_0(1),   FP64_INF(1) } },
    12530             { /* =>      */ { FP64_0(0),   FP64_0(0),   FP64_0(1),   FP64_INF(1) } },
    12531               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12532               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12533               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12534               /*xcpt?    */ false, false },
    12535           { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
    12536             { /*src1     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
    12537             { /* =>      */ { FP64_INF(0), FP64_INF(1), FP64_INF(1), FP64_INF(1) } },
    12538               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12539               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12540               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12541               /*xcpt?    */ false, false },
    12542           { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
    12543             { /*src1     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
    12544             { /* =>      */ { FP64_INF(0), FP64_INF(1), FP64_INF(1), FP64_INF(1) } },
    12545               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12546               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12547               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12548               /*xcpt?    */ false, false },
    12549           { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
    12550             { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
    12551             { /* =>      */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(1)     } },
    12552               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12553               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12554               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12555               /*xcpt?    */ false, false },
    12556           { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
    12557             { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
    12558             { /* =>      */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(1)     } },
    12559               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12560               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12561               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12562               /*xcpt?    */ false, false },
    12563           { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
    12564             { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
    12565             { /* =>      */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(1)     } },
    12566               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12567               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12568               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12569               /*xcpt?    */ false, false },
    12570           { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_NORM_V3(1) } },
    12571             { /*src1     */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_NORM_V2(0), FP64_INF(1)     } },
    12572             { /* =>      */ { FP64_NORM_V0(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(1)     } },
    12573               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12574               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12575               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12576               /*xcpt?    */ false, false },
    12577     /*
    12578      * Normals.
    12579      */
    12580     /*20*/{ { /*src2     */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_NORM_V2(0), FP64_NORM_V1(1) } },
    12581             { /*src1     */ { FP64_NORM_V3(1), FP64_NORM_V1(0), FP64_NORM_V2(1), FP64_NORM_V1(0) } },
    12582             { /* =>      */ { FP64_NORM_V3(1), FP64_NORM_V1(1), FP64_NORM_V2(1), FP64_NORM_V1(1) } },
    12583               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12584               /*128:out  */ X86_MXCSR_XCPT_MASK,
    12585               /*256:out  */ X86_MXCSR_XCPT_MASK,
    12586               /*xcpt?    */ false, false },
    12587           { { /*src2     */ { FP64_NORM_V0(0), FP64_0(1),       FP64_NORM_V2(0), FP64_0(1)       } },
    12588             { /*src1     */ { FP64_0(0),       FP64_NORM_V1(1), FP64_0(0),       FP64_NORM_V1(0) } },
    12589             { /* =>      */ { FP64_0(0),       FP64_NORM_V1(1), FP64_0(0),       FP64_0(1)       } },
    12590               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12591               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12592               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
    12593               /*xcpt?    */ false, false },
    12594           { { /*src2     */ { FP64_V(0, 0, 0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(1, 0x8000000000000, 0x409)/*-1536*/, FP64_V(0, 0xf000000000000, 0x404)/* 62*/ } },
    12595             { /*src1     */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_V(0, 0xc000000000000, 0x401)/* 7*/, FP64_1(1),                                  FP64_V(1, 0xf000000000000, 0x404)/*-62*/ } },
    12596             { /* =>      */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_V(0, 0xc000000000000, 0x401)/* 7*/, FP64_V(1, 0x8000000000000, 0x409)/*-1536*/, FP64_V(1, 0xf000000000000, 0x404)/*-62*/ } },
    12597               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    12598               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    12599               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
    12600               /*xcpt?    */ false, false },
    12601           { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(1, 0xd6f3426800000, 0x41c)/*-987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
    12602             { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*      100*/, FP64_1(0),                                       FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
    12603             { /* =>      */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*      100*/, FP64_V(1, 0xd6f3426800000, 0x41c)/*-987654221*/, FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
    12604               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12605               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12606               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12607               /*xcpt?    */ false, false },
    12608           { { /*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*/ } },
    12609             { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*     -100*/, FP64_1(0),                                      FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
    12610             { /* =>      */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*     -100*/, FP64_1(0),                                      FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
    12611               /*mxcsr:in */ X86_MXCSR_RC_ZERO,
    12612               /*128:out  */ X86_MXCSR_RC_ZERO,
    12613               /*256:out  */ X86_MXCSR_RC_ZERO,
    12614               /*xcpt?    */ false, false },
    12615           { { /*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) } },
    12616             { /*src1     */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
    12617             { /* =>      */ { FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_0(0)                 } },
    12618               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12619               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12620               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
    12621               /*xcpt?    */ false, false },
    12622           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
    12623             { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0) } },
    12624             { /* =>      */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(1) } },
    12625               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12626               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12627               /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12628               /*xcpt?    */ false, false },
    12629           { { /*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*/ } },
    12630             { /*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*/ } },
    12631             { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/ } },
    12632               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12633               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12634               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
    12635               /*xcpt?    */ false, false },
    12636           { { /*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*/ } },
    12637             { /*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*/ } },
    12638             { /* =>      */ { FP64_V(0, 0,               0x3fd)/*0.25*/, FP64_V(0, 0, 0x3fd)/*0.25*/, FP64_V(0, 0x26580b4c7e6b7, 0x41d)/*1234567891.1234567*/, FP64_V(0, 0xf9b0207d0617d, 0x3fb)/*0.1234589833333128*/ } },
    12639               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12640               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12641               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    12642               /*xcpt?    */ false, false },
    12643     /*
    12644      * Denormals.
    12645      */
    12646     /*29*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)          } },
    12647             { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(1), FP64_0(0),          FP64_DENORM_MAX(1) } },
    12648             { /* =>      */ { FP64_0(0),          FP64_DENORM_MAX(1), FP64_0(0),          FP64_DENORM_MAX(1) } },
    12649               /*mxcsr:in */ 0,
    12650               /*128:out  */ X86_MXCSR_DE,
    12651               /*256:out  */ X86_MXCSR_DE,
    12652               /*xcpt?    */ true, true },
    12653           { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_DENORM_MAX(0) } },
    12654             { /*src1     */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_0(0)          } },
    12655             { /* =>      */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
    12656               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
    12657               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12658               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
    12659               /*xcpt?    */ false, false },
    12660           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
    12661             { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
    12662             { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
    12663               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12664               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12665               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
    12666               /*xcpt?    */ false, false },
    12667           { { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)          } },
    12668             { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
    12669             { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
    12670               /*mxcsr:in */ 0,
    12671               /*128:out  */ X86_MXCSR_DE,
    12672               /*256:out  */ X86_MXCSR_DE,
    12673               /*xcpt?    */ true, true },
    12674           { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_DENORM_MAX(1) } },
    12675             { /*src1     */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_0(0)          } },
    12676             { /* =>      */ { FP64_0(0), FP64_0(0),          FP64_0(0),          FP64_0(1)          } },
    12677               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12678               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12679               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
    12680               /*xcpt?    */ false, false },
    12681           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0) } },
    12682             { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
    12683             { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
    12684               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12685               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12686               /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
    12687               /*xcpt?    */ false, false },
    12688     /** @todo Denormals. */
    12689     /*
    12690      * Invalids.
    12691      */
    12692     /*35*/ FP64_TABLE_D9_PD_INVALIDS
    12693     };
    12694 
    12695 #define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues
    12696     static BS3CPUINSTR4_TEST1_T const s_aTests16[] =
    12697     {
    1269812698        { bs3CpuInstr4_minpd_XMM1_XMM2_icebp_c16,  255, RM_REG, T_SSE2, 1, 1, 2,   PASS_s_aValues },
    1269912699        { bs3CpuInstr4_minpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, PASS_s_aValues },
     
    1273912739    static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
    1274012740    unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
    12741     return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
     12741    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
    1274212742                                        g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2));
    1274312743}
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