Index: trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
===================================================================
--- trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32	(revision 105370)
+++ trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32	(revision 105393)
@@ -54,5 +54,5 @@
 
 /** Maximum length for the names of all SIMD FP exception flags combined. */
-#define BS3_FP_XCPT_NAMES_MAXLEN              sizeof(" IE DE ZE OE UE PE ")
+#define FP_XCPT_NAMES_MAXLEN                sizeof(" IE DE ZE OE UE PE ")
 
 /*
@@ -60,36 +60,36 @@
  */
 /** The max exponent value for a single-precision floating-point normal. */
-#define BS3_FP32_EXP_NORMAL_MAX               254
+#define FP32_EXP_NORM_MAX                   254
 /** The min exponent value for a single-precision floating-point normal. */
-#define BS3_FP32_EXP_NORMAL_MIN               1
+#define FP32_EXP_NORM_MIN                   1
 /** The max fraction value for a single-precision floating-point normal. */
-#define BS3_FP32_FRACTION_NORMAL_MAX          0x7fffff
+#define FP32_FRAC_NORM_MAX                  0x7fffff
 /** The min fraction value for a single-precision floating-point normal. */
-#define BS3_FP32_FRACTION_NORMAL_MIN          0
+#define FP32_FRAC_NORM_MIN                  0
 /** The exponent bias for the single-precision floating-point format. */
-#define BS3_FP32_EXP_BIAS                     RTFLOAT32U_EXP_BIAS
+#define FP32_EXP_BIAS                       RTFLOAT32U_EXP_BIAS
 /** Fraction width (in bits) for the single-precision floating-point format. */
-#define BS3_FP32_FRACTION_BITS                RTFLOAT32U_FRACTION_BITS
+#define FP32_FRAC_BITS                      RTFLOAT32U_FRACTION_BITS
 /** The max exponent value for a single-precision floating-point integer without
  *  losing precision. */
-#define BS3_FP32_EXP_SAFE_INT_MAX             BS3_FP32_EXP_BIAS + BS3_FP32_FRACTION_BITS
+#define FP32_EXP_SAFE_INT_MAX               FP32_EXP_BIAS + FP32_FRAC_BITS
 /** The min exponent value for a single-precision floating-point integer without
  *  losing precision. */
-#define BS3_FP32_EXP_SAFE_INT_MIN             1
+#define FP32_EXP_SAFE_INT_MIN               1
 /** The max fraction value for a double-precision floating-point denormal. */
-#define BS3_FP32_FRACTION_DENORMAL_MAX        0x7fffff
+#define FP32_FRAC_DENORM_MAX                0x7fffff
 /** The min fraction value for a double-precision floating-point denormal. */
-#define BS3_FP32_FRACTION_DENORMAL_MIN        1
-
-#define BS3_FP32_NORMAL_MAX(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_NORMAL_MAX)
-#define BS3_FP32_NORMAL_MIN(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_NORMAL_MIN, BS3_FP32_EXP_NORMAL_MIN)
-#define BS3_FP32_ZERO(a_Sign)                 RTFLOAT32U_INIT_ZERO(a_Sign)
-#define BS3_FP32_ONE(a_Sign)                  RTFLOAT32U_INIT_C(a_Sign, 0, RTFLOAT32U_EXP_BIAS)
-#define BS3_FP32_VAL(a_Sign, a_Frac, a_Exp)   RTFLOAT32U_INIT_C(a_Sign, a_Frac, a_Exp)
-#define BS3_FP32_INF(a_Sign)                  RTFLOAT32U_INIT_INF(a_Sign)
-#define BS3_FP32_QNAN(a_Sign)                 RTFLOAT32U_INIT_QNAN(a_Sign)
-#define BS3_FP32_QNAN_VAL(a_Sign, a_Val)      RTFLOAT32U_INIT_QNAN_EX(a_Sign, a_Val)
-#define BS3_FP32_SNAN(a_Sign)                 RTFLOAT32U_INIT_SNAN(a_Sign)
-#define BS3_FP32_SNAN_VAL(a_Sign, a_Val)      RTFLOAT32U_INIT_SNAN_EX(a_Sign, a_Val)
+#define FP32_FRAC_DENORM_MIN                1
+
+#define FP32_NORM_MAX(a_Sign)               RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_NORM_MAX, FP32_EXP_NORM_MAX)
+#define FP32_NORM_MIN(a_Sign)               RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_NORM_MIN, FP32_EXP_NORM_MIN)
+#define FP32_0(a_Sign)                      RTFLOAT32U_INIT_ZERO(a_Sign)
+#define FP32_1(a_Sign)                      RTFLOAT32U_INIT_C(a_Sign, 0, RTFLOAT32U_EXP_BIAS)
+#define FP32_V(a_Sign, a_Frac, a_Exp)       RTFLOAT32U_INIT_C(a_Sign, a_Frac, a_Exp)
+#define FP32_INF(a_Sign)                    RTFLOAT32U_INIT_INF(a_Sign)
+#define FP32_QNAN(a_Sign)                   RTFLOAT32U_INIT_QNAN(a_Sign)
+#define FP32_QNAN_VAL(a_Sign, a_Val)        RTFLOAT32U_INIT_QNAN_EX(a_Sign, a_Val)
+#define FP32_SNAN(a_Sign)                   RTFLOAT32U_INIT_SNAN(a_Sign)
+#define FP32_SNAN_VAL(a_Sign, a_Val)        RTFLOAT32U_INIT_SNAN_EX(a_Sign, a_Val)
 
 /*
@@ -98,40 +98,40 @@
  * Exponent - 8 bits, least significant bit MBZ.
  */
-#define BS3_FP32_FRACTION_VAL_0               0x401ac0
-#define BS3_FP32_FRACTION_VAL_1               0x5fcabd
-#define BS3_FP32_FRACTION_VAL_2               0x7e117a
-#define BS3_FP32_FRACTION_VAL_3               0x5b5b5b
-#define BS3_FP32_FRACTION_VAL_4               0x1e0f1f
-#define BS3_FP32_FRACTION_VAL_5               0x012345
-#define BS3_FP32_FRACTION_VAL_6               0x330b3b
-#define BS3_FP32_FRACTION_VAL_7               0x4ebeb4
-#define BS3_FP32_EXP_VAL_0                    0x78
-#define BS3_FP32_EXP_VAL_1                    0xbc
-#define BS3_FP32_EXP_VAL_2                    0x7e
-#define BS3_FP32_EXP_VAL_3                    0x9a
-#define BS3_FP32_EXP_VAL_4                    0x32
-#define BS3_FP32_EXP_VAL_5                    0x56
-#define BS3_FP32_EXP_VAL_6                    0x90
-#define BS3_FP32_EXP_VAL_7                    0x30
-AssertCompile(!(BS3_FP32_EXP_VAL_0 & RT_BIT(0)));
-AssertCompile(!(BS3_FP32_EXP_VAL_1 & RT_BIT(0)));
-AssertCompile(!(BS3_FP32_EXP_VAL_2 & RT_BIT(0)));
-AssertCompile(!(BS3_FP32_EXP_VAL_3 & RT_BIT(0)));
-AssertCompile(!(BS3_FP32_EXP_VAL_4 & RT_BIT(0)));
-AssertCompile(!(BS3_FP32_EXP_VAL_5 & RT_BIT(0)));
-AssertCompile(!(BS3_FP32_EXP_VAL_6 & RT_BIT(0)));
-AssertCompile(!(BS3_FP32_EXP_VAL_7 & RT_BIT(0)));
-#define BS3_FP32_NORMAL_VAL_0(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_VAL_0, BS3_FP32_EXP_VAL_0)
-#define BS3_FP32_NORMAL_VAL_1(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_VAL_1, BS3_FP32_EXP_VAL_1)
-#define BS3_FP32_NORMAL_VAL_2(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_VAL_2, BS3_FP32_EXP_VAL_2)
-#define BS3_FP32_NORMAL_VAL_3(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_VAL_3, BS3_FP32_EXP_VAL_3)
-#define BS3_FP32_NORMAL_VAL_4(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_VAL_4, BS3_FP32_EXP_VAL_4)
-#define BS3_FP32_NORMAL_VAL_5(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_VAL_5, BS3_FP32_EXP_VAL_5)
-#define BS3_FP32_NORMAL_VAL_6(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_VAL_6, BS3_FP32_EXP_VAL_6)
-#define BS3_FP32_NORMAL_VAL_7(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_VAL_7, BS3_FP32_EXP_VAL_7)
+#define FP32_FRAC_V0                        0x401ac0
+#define FP32_FRAC_V1                        0x5fcabd
+#define FP32_FRAC_V2                        0x7e117a
+#define FP32_FRAC_V3                        0x5b5b5b
+#define FP32_FRAC_V4                        0x1e0f1f
+#define FP32_FRAC_V5                        0x012345
+#define FP32_FRAC_V6                        0x330b3b
+#define FP32_FRAC_V7                        0x4ebeb4
+#define FP32_EXP_V0                         0x78
+#define FP32_EXP_V1                         0xbc
+#define FP32_EXP_V2                         0x7e
+#define FP32_EXP_V3                         0x9a
+#define FP32_EXP_V4                         0x32
+#define FP32_EXP_V5                         0x56
+#define FP32_EXP_V6                         0x90
+#define FP32_EXP_V7                         0x30
+AssertCompile(!(FP32_EXP_V0 & RT_BIT(0)));
+AssertCompile(!(FP32_EXP_V1 & RT_BIT(0)));
+AssertCompile(!(FP32_EXP_V2 & RT_BIT(0)));
+AssertCompile(!(FP32_EXP_V3 & RT_BIT(0)));
+AssertCompile(!(FP32_EXP_V4 & RT_BIT(0)));
+AssertCompile(!(FP32_EXP_V5 & RT_BIT(0)));
+AssertCompile(!(FP32_EXP_V6 & RT_BIT(0)));
+AssertCompile(!(FP32_EXP_V7 & RT_BIT(0)));
+#define FP32_NORM_V0(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_V0, FP32_EXP_V0)
+#define FP32_NORM_V1(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_V1, FP32_EXP_V1)
+#define FP32_NORM_V2(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_V2, FP32_EXP_V2)
+#define FP32_NORM_V3(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_V3, FP32_EXP_V3)
+#define FP32_NORM_V4(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_V4, FP32_EXP_V4)
+#define FP32_NORM_V5(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_V5, FP32_EXP_V5)
+#define FP32_NORM_V6(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_V6, FP32_EXP_V6)
+#define FP32_NORM_V7(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_V7, FP32_EXP_V7)
 /* The maximum integer value (all 23 + 1 implied bit of the fraction part set) without losing precision. */
-#define BS3_FP32_NORMAL_SAFE_INT_MAX(a_Sign)  RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_SAFE_INT_MAX)
+#define FP32_NORM_SAFE_INT_MAX(a_Sign)      RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX)
 /* The minimum integer value without losing precision. */
-#define BS3_FP32_NORMAL_SAFE_INT_MIN(a_Sign)  RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_NORMAL_MIN, BS3_FP32_EXP_SAFE_INT_MIN)
+#define FP32_NORM_SAFE_INT_MIN(a_Sign)      RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_NORM_MIN, FP32_EXP_SAFE_INT_MIN)
 
 /*
@@ -139,7 +139,7 @@
  */
 /** The maximum denormal value. */
-#define BS3_FP32_DENORMAL_MAX(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_DENORMAL_MAX, 0)
+#define FP32_DENORM_MAX(a_Sign)             RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_DENORM_MAX, 0)
 /** The maximum denormal value. */
-#define BS3_FP32_DENORMAL_MIN(a_Sign)         RTFLOAT32U_INIT_C(a_Sign, BS3_FP32_FRACTION_DENORMAL_MIN, 0)
+#define FP32_DENORM_MIN(a_Sign)             RTFLOAT32U_INIT_C(a_Sign, FP32_FRAC_DENORM_MIN, 0)
 
 /*
@@ -148,12 +148,12 @@
  * unmodified operands and be compared bitwise.
  */
-#define BS3_FP32_RAND_VAL_0(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, 0x7bacda, 0x55)
-#define BS3_FP32_RAND_VAL_1(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, 0x7010f0, 0xc0)
-#define BS3_FP32_RAND_VAL_2(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, 0x4ffcbe, 0xf1)
-#define BS3_FP32_RAND_VAL_3(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, 0x2fd7c8, 0x1f)
-#define BS3_FP32_RAND_VAL_4(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, 0x5b5b5b, 0x09)
-#define BS3_FP32_RAND_VAL_5(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, 0x3d2d1d, 0x99)
-#define BS3_FP32_RAND_VAL_6(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, 0x123456, 0x5e)
-#define BS3_FP32_RAND_VAL_7(a_Sign)           RTFLOAT32U_INIT_C(a_Sign, 0x05432f, 0xd7)
+#define FP32_RAND_V0(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, 0x7bacda, 0x55)
+#define FP32_RAND_V1(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, 0x7010f0, 0xc0)
+#define FP32_RAND_V2(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, 0x4ffcbe, 0xf1)
+#define FP32_RAND_V3(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, 0x2fd7c8, 0x1f)
+#define FP32_RAND_V4(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, 0x5b5b5b, 0x09)
+#define FP32_RAND_V5(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, 0x3d2d1d, 0x99)
+#define FP32_RAND_V6(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, 0x123456, 0x5e)
+#define FP32_RAND_V7(a_Sign)                RTFLOAT32U_INIT_C(a_Sign, 0x05432f, 0xd7)
 
 /*
@@ -161,36 +161,36 @@
  */
 /** The max exponent value for a double-precision floating-point normal. */
-#define BS3_FP64_EXP_NORMAL_MAX               2046
+#define FP64_EXP_NORM_MAX                   2046
 /** The min exponent value for a double-precision floating-point normal. */
-#define BS3_FP64_EXP_NORMAL_MIN               1
+#define FP64_EXP_NORM_MIN                   1
 /** The max fraction value for a double-precision floating-point normal. */
-#define BS3_FP64_FRACTION_NORMAL_MAX          0xfffffffffffff
+#define FP64_FRAC_NORM_MAX                  0xfffffffffffff
 /** The min fraction value for a double-precision floating-point normal. */
-#define BS3_FP64_FRACTION_NORMAL_MIN          0
+#define FP64_FRAC_NORM_MIN                  0
 /** The exponent bias for the double-precision floating-point format. */
-#define BS3_FP64_EXP_BIAS                     RTFLOAT64U_EXP_BIAS
+#define FP64_EXP_BIAS                       RTFLOAT64U_EXP_BIAS
 /** Fraction width (in bits) for the double-precision floating-point format. */
-#define BS3_FP64_FRACTION_BITS                RTFLOAT64U_FRACTION_BITS
+#define FP64_FRAC_BITS                      RTFLOAT64U_FRACTION_BITS
 /** The max exponent value for a double-precision floating-point integer without
  *  losing precision. */
-#define BS3_FP64_EXP_SAFE_INT_MAX             BS3_FP64_EXP_BIAS + BS3_FP64_FRACTION_BITS
+#define FP64_EXP_SAFE_INT_MAX               FP64_EXP_BIAS + FP64_FRAC_BITS
 /** The min exponent value for a double-precision floating-point integer without
  *  losing precision. */
-#define BS3_FP64_EXP_SAFE_INT_MIN             1
+#define FP64_EXP_SAFE_INT_MIN               1
 /** The max fraction value for a double-precision floating-point denormal. */
-#define BS3_FP64_FRACTION_DENORMAL_MAX        0xfffffffffffff
+#define FP64_FRAC_DENORM_MAX                0xfffffffffffff
 /** The min fraction value for a double-precision floating-point denormal. */
-#define BS3_FP64_FRACTION_DENORMAL_MIN        1
-
-#define BS3_FP64_NORMAL_MAX(a_Sign)           RTFLOAT64U_INIT_C(a_Sign, BS3_FP64_FRACTION_NORMAL_MAX, BS3_FP64_EXP_NORMAL_MAX)
-#define BS3_FP64_NORMAL_MIN(a_Sign)           RTFLOAT64U_INIT_C(a_Sign, BS3_FP64_FRACTION_NORMAL_MIN, BS3_FP64_EXP_NORMAL_MIN)
-#define BS3_FP64_ZERO(a_Sign)                 RTFLOAT64U_INIT_ZERO(a_Sign)
-#define BS3_FP64_ONE(a_Sign)                  RTFLOAT64U_INIT_C(a_Sign, 0, RTFLOAT64U_EXP_BIAS)
-#define BS3_FP64_VAL(a_Sign, a_Frac, a_Exp)   RTFLOAT64U_INIT_C(a_Sign, a_Frac, a_Exp)
-#define BS3_FP64_INF(a_Sign)                  RTFLOAT64U_INIT_INF(a_Sign)
-#define BS3_FP64_QNAN(a_Sign)                 RTFLOAT64U_INIT_QNAN(a_Sign)
-#define BS3_FP64_QNAN_VAL(a_Sign, a_Val)      RTFLOAT64U_INIT_QNAN_EX(a_Sign, a_Val)
-#define BS3_FP64_SNAN(a_Sign)                 RTFLOAT64U_INIT_SNAN(a_Sign)
-#define BS3_FP64_SNAN_VAL(a_Sign, a_Val)      RTFLOAT64U_INIT_SNAN_EX(a_Sign, a_Val)
+#define FP64_FRAC_DENORM_MIN                1
+
+#define FP64_NORM_MAX(a_Sign)               RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_NORM_MAX, FP64_EXP_NORM_MAX)
+#define FP64_NORM_MIN(a_Sign)               RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_NORM_MIN, FP64_EXP_NORM_MIN)
+#define FP64_0(a_Sign)                      RTFLOAT64U_INIT_ZERO(a_Sign)
+#define FP64_1(a_Sign)                      RTFLOAT64U_INIT_C(a_Sign, 0, RTFLOAT64U_EXP_BIAS)
+#define FP64_V(a_Sign, a_Frac, a_Exp)       RTFLOAT64U_INIT_C(a_Sign, a_Frac, a_Exp)
+#define FP64_INF(a_Sign)                    RTFLOAT64U_INIT_INF(a_Sign)
+#define FP64_QNAN(a_Sign)                   RTFLOAT64U_INIT_QNAN(a_Sign)
+#define FP64_QNAN_VAL(a_Sign, a_Val)        RTFLOAT64U_INIT_QNAN_EX(a_Sign, a_Val)
+#define FP64_SNAN(a_Sign)                   RTFLOAT64U_INIT_SNAN(a_Sign)
+#define FP64_SNAN_VAL(a_Sign, a_Val)        RTFLOAT64U_INIT_SNAN_EX(a_Sign, a_Val)
 
 /*
@@ -199,12 +199,12 @@
  * Exponent - 11 bits, least significant bit MBZ.
  */
-#define BS3_FP64_NORMAL_VAL_0(a_Sign)         RTFLOAT64U_INIT_C(a_Sign, 0xacc01adec0de5, 0x30c)
-#define BS3_FP64_NORMAL_VAL_1(a_Sign)         RTFLOAT64U_INIT_C(a_Sign, 0xf10a7ab1ec01a, 0x4bc)
-#define BS3_FP64_NORMAL_VAL_2(a_Sign)         RTFLOAT64U_INIT_C(a_Sign, 0xca5cadea1b1ed, 0x3ae)
-#define BS3_FP64_NORMAL_VAL_3(a_Sign)         RTFLOAT64U_INIT_C(a_Sign, 0xb5b5b5b5b5b5b, 0x7fe)
+#define FP64_NORM_V0(a_Sign)                RTFLOAT64U_INIT_C(a_Sign, 0xacc01adec0de5, 0x30c)
+#define FP64_NORM_V1(a_Sign)                RTFLOAT64U_INIT_C(a_Sign, 0xf10a7ab1ec01a, 0x4bc)
+#define FP64_NORM_V2(a_Sign)                RTFLOAT64U_INIT_C(a_Sign, 0xca5cadea1b1ed, 0x3ae)
+#define FP64_NORM_V3(a_Sign)                RTFLOAT64U_INIT_C(a_Sign, 0xb5b5b5b5b5b5b, 0x7fe)
 /* The maximum integer value (all 52 + 1 implied bit of the fraction part set) without losing precision. */
-#define BS3_FP64_NORMAL_SAFE_INT_MAX(a_Sign)  RTFLOAT64U_INIT_C(a_Sign, BS3_FP64_FRACTION_NORMAL_MAX, BS3_FP64_EXP_SAFE_INT_MAX)
+#define FP64_NORM_SAFE_INT_MAX(a_Sign)      RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX)
 /* The minimum integer value without losing precision. */
-#define BS3_FP64_NORMAL_SAFE_INT_MIN(a_Sign)  RTFLOAT64U_INIT_C(a_Sign, BS3_FP64_FRACTION_NORMAL_MIN, BS3_FP64_EXP_SAFE_INT_MIN)
+#define FP64_NORM_SAFE_INT_MIN(a_Sign)      RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_NORM_MIN, FP64_EXP_SAFE_INT_MIN)
 
 /*
@@ -212,7 +212,7 @@
  */
 /** The maximum denormal value. */
-#define BS3_FP64_DENORMAL_MAX(a_Sign)         RTFLOAT64U_INIT_C(a_Sign, BS3_FP64_FRACTION_DENORMAL_MAX, 0)
+#define FP64_DENORM_MAX(a_Sign)             RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_DENORM_MAX, 0)
 /** The maximum denormal value. */
-#define BS3_FP64_DENORMAL_MIN(a_Sign)         RTFLOAT64U_INIT_C(a_Sign, BS3_FP64_FRACTION_DENORMAL_MIN, 0)
+#define FP64_DENORM_MIN(a_Sign)             RTFLOAT64U_INIT_C(a_Sign, FP64_FRAC_DENORM_MIN, 0)
 
 
@@ -402,22 +402,4 @@
 static uint8_t  g_enmExtCtxMethod       = BS3EXTCTXMETHOD_INVALID;
 static bool     g_fMxCsrDazSupported    = false;
-
-/** Zero value (indexed by fSign). */
-RTFLOAT32U const g_ar32Zero[] = { RTFLOAT32U_INIT_ZERO(0), RTFLOAT32U_INIT_ZERO(1) };
-RTFLOAT64U const g_ar64Zero[] = { RTFLOAT64U_INIT_ZERO(0), RTFLOAT64U_INIT_ZERO(1) };
-
-/** One value (indexed by fSign). */
-RTFLOAT32U const g_ar32One[] = { RTFLOAT32U_INIT_C(0, 0, RTFLOAT32U_EXP_BIAS),
-                                 RTFLOAT32U_INIT_C(1, 0, RTFLOAT32U_EXP_BIAS) };
-RTFLOAT64U const g_ar64One[] = { RTFLOAT64U_INIT_C(0, 0, RTFLOAT64U_EXP_BIAS),
-                                 RTFLOAT64U_INIT_C(1, 0, RTFLOAT64U_EXP_BIAS) };
-
-/** Infinity (indexed by fSign). */
-RTFLOAT32U const g_ar32Infinity[] = { RTFLOAT32U_INIT_INF(0), RTFLOAT32U_INIT_INF(1) };
-RTFLOAT64U const g_ar64Infinity[] = { RTFLOAT64U_INIT_INF(0), RTFLOAT64U_INIT_INF(1) };
-
-/** Default QNaNs (indexed by fSign). */
-RTFLOAT32U const g_ar32QNaN[] = { RTFLOAT32U_INIT_QNAN(0), RTFLOAT32U_INIT_QNAN(1) };
-RTFLOAT64U const g_ar64QNaN[] = { RTFLOAT64U_INIT_QNAN(0), RTFLOAT64U_INIT_QNAN(1) };
 
 /** Size of g_pbBuf - at least three pages. */
@@ -552,5 +534,5 @@
 static size_t bs3CpuInstr4GetXcptFlags(char BS3_FAR *pszBuf, size_t cchBuf, uint32_t fMxCsr)
 {
-    BS3_ASSERT(cchBuf >= BS3_FP_XCPT_NAMES_MAXLEN);
+    BS3_ASSERT(cchBuf >= FP_XCPT_NAMES_MAXLEN);
     if (!(fMxCsr & X86_MXCSR_XCPT_FLAGS))
         return Bs3StrPrintf(pszBuf, cchBuf, " None");
@@ -1252,6 +1234,6 @@
         if (fMxCsrXcptFlags != (fExpectedMxCsrFlags & X86_MXCSR_XCPT_FLAGS))
         {
-            char szGotBuf[BS3_FP_XCPT_NAMES_MAXLEN];
-            char szExpectBuf[BS3_FP_XCPT_NAMES_MAXLEN];
+            char szGotBuf[FP_XCPT_NAMES_MAXLEN];
+            char szExpectBuf[FP_XCPT_NAMES_MAXLEN];
             bs3CpuInstr4GetXcptFlags(&szExpectBuf[0], sizeof(szExpectBuf), fExpectedMxCsrFlags);
             bs3CpuInstr4GetXcptFlags(&szGotBuf[0], sizeof(szGotBuf), fMxCsrXcptFlags);
@@ -1490,37 +1472,37 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-           { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 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) } },
+           { /*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) } },
+           { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-           { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(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) } },
+           { /*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) } },
+           { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-           { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-           { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
+         { { /*src2     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
+           { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
+           { /* =>      */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-           { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
+         { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
+           { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
+           { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-           { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
+         { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
+           { /*src1     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
+           { /* =>      */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
              /*mask     */ X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -1529,31 +1511,31 @@
      * Infinity.
      */
-    /* 6*/{ { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 6*/{ { /*src2     */ { FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_INF(1),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_QNAN(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_QNAN(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0),  BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0),  FP32_0(1), FP32_0(1), FP32_0(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1),  FP32_0(1), FP32_0(1), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_QNAN(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0)  } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1)  } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0)  } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1)  } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_QNAN(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_INF(1), BS3_FP32_ZERO(1), BS3_FP32_INF(1),  BS3_FP32_INF(1),  BS3_FP32_INF(0) } },
-            { /*src1     */ { BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_ZERO(1), BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0),  BS3_FP32_INF(0),  BS3_FP32_INF(1) } },
-            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_ZERO(1), BS3_FP32_INF(0), BS3_FP32_ZERO(1), BS3_FP32_QNAN(1), BS3_FP32_QNAN(1), BS3_FP32_INF(1) } },
+          { { /*src2     */ { FP32_INF(0), FP32_INF(1), FP32_0(0), FP32_INF(1), FP32_0(1), FP32_INF(1),  FP32_INF(1),  FP32_INF(0) } },
+            { /*src1     */ { FP32_INF(1), FP32_INF(0), FP32_0(1), FP32_INF(0), FP32_0(0), FP32_INF(0),  FP32_INF(0),  FP32_INF(1) } },
+            { /* =>      */ { FP32_INF(1), FP32_INF(0), FP32_0(1), FP32_INF(0), FP32_0(1), FP32_QNAN(1), FP32_QNAN(1), FP32_INF(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -1562,43 +1544,43 @@
      * Overflow, Precision.
      */
-    /*11*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_INF(0),       } },
+    /*11*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),        FP32_0(0), FP32_0(0),        FP32_INF(0),       } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_OE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_0(1), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_0(1), FP32_0(1), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_NORM_MAX(0), FP32_0(0),        FP32_0(0), FP32_0(0), FP32_0(0),        FP32_0(1), FP32_0(0), FP32_NORM_MAX(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_INF(0),        BS3_FP32_VAL(1, 0, 2),  BS3_FP32_ZERO(0), BS3_FP32_INF(0),        BS3_FP32_INF(0),        BS3_FP32_VAL(1, 0, 2),  BS3_FP32_ZERO(0), BS3_FP32_INF(0)        } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_INF(0),      FP32_V(1, 0, 2),  FP32_0(0), FP32_INF(0),      FP32_INF(0),      FP32_V(1, 0, 2),  FP32_0(0), FP32_INF(0)        } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1) } },
-            { /* =>      */ { BS3_FP32_VAL(1, 0, 2),  BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MAX(0), BS3_FP32_VAL(1, 0, 2)  } },
+          { { /*src2     */ { FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0), FP32_0(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MIN(1) } },
+            { /*src1     */ { FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_0(0), FP32_0(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_MIN(1) } },
+            { /* =>      */ { FP32_V(1, 0, 2),  FP32_NORM_MAX(0), FP32_0(0),        FP32_0(0), FP32_0(1), FP32_0(0),        FP32_NORM_MAX(0), FP32_V(1, 0, 2)  } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0),                                          BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1),                                          BS3_FP32_NORMAL_SAFE_INT_MIN(0),                                          BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1)                                              } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                          BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1),                                          BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                          BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1)                                              } },
-            { /* =>      */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_VAL(1, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_VAL(1, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_SAFE_INT_MAX + 1) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                            FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1),                            FP32_NORM_SAFE_INT_MIN(0),                            FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1)                                } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                            FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1),                            FP32_NORM_SAFE_INT_MAX(0),                            FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1)                                } },
+            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_NORM_MAX(1), FP32_0(0), FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_0(0),        FP32_0(0), FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX + 1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
@@ -1607,49 +1589,49 @@
      * Normals.
      */
-    /*18*/{ { /*src2     */ { BS3_FP32_VAL(0, 0x600000, 0x7f)/* 1.75*/, BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0,        0x7d)/*0.25*/, BS3_FP32_VAL(0, 0x600000, 0x7f)/* 1.75*/, BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0,        0x7d)/*0.25*/ } },
-            { /*src1     */ { BS3_FP32_VAL(1, 0,        0x7d)/*-0.25*/, BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0,        0x7e)/*0.50*/, BS3_FP32_VAL(1, 0,        0x7d)/*-0.25*/, BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0,        0x7e)/*0.50*/ } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x400000, 0x7f)/* 1.50*/, BS3_FP32_ZERO(1),       BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x400000, 0x7e)/*0.75*/, BS3_FP32_VAL(0, 0x400000, 0x7f)/* 1.50*/, BS3_FP32_ZERO(1),       BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x400000, 0x7e)/*0.75*/ } },
+    /*18*/{ { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_NORM_MAX(0), FP32_0(0), FP32_V(0, 0,        0x7d)/*0.25*/, FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_NORM_MAX(0), FP32_0(0), FP32_V(0, 0,        0x7d)/*0.25*/ } },
+            { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_NORM_MAX(1), FP32_0(0), FP32_V(0, 0,        0x7e)/*0.50*/, FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_NORM_MAX(1), FP32_0(0), FP32_V(0, 0,        0x7e)/*0.50*/ } },
+            { /* =>      */ { FP32_V(0, 0x400000, 0x7f)/* 1.50*/, FP32_0(1),        FP32_0(0), FP32_V(0, 0x400000, 0x7e)/*0.75*/, FP32_V(0, 0x400000, 0x7f)/* 1.50*/, FP32_0(1),        FP32_0(0), FP32_V(0, 0x400000, 0x7e)/*0.75*/ } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x5ca5b8, 0x93)/*1807543*/, BS3_FP32_VAL(0, 0x5c0000, 0x84)/*55*/, BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x5c0000, 0x84)/*55*/, BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_VAL(0, 0x534000, 0x86)/*211.25*/, BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x1ea980, 0x8f)/*  81235*/, BS3_FP32_VAL(0, 0x600000, 0x81)/* 7*/, BS3_FP32_VAL(0, 0x7c9000, 0x88)/*   1010.25*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x600000, 0x81)/* 7*/, BS3_FP32_VAL(0, 0x7c9000, 0x88)/*   1010.25*/, BS3_FP32_ONE(1)                /*- 1.00*/, BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x669050, 0x93)/*1888778*/, BS3_FP32_VAL(0, 0x780000, 0x84)/*62*/, BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357.00*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x780000, 0x84)/*62*/, BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357.00*/, BS3_FP32_VAL(0, 0x524000, 0x86)/*210.25*/, BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ONE(1),  BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_VAL(1, 0x712060, 0x92)/*- 987654*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ZERO(0), BS3_FP32_ONE(0),  BS3_FP32_VAL(1, 0x712060, 0x92)/*- 987654*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ONE(0),  BS3_FP32_ONE(0)  } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_VAL(0, 0x3c614e, 0x97)/*24691356*/, BS3_FP32_ZERO(0), BS3_FP32_ONE(0),  BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_VAL(0, 0x3c614e, 0x97)/*24691356*/, BS3_FP32_ZERO(0), BS3_FP32_ONE(0)  } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_ONE(0),  BS3_FP32_ONE(1),  BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(1),                                                              BS3_FP32_ONE(1),  BS3_FP32_ONE(0),  BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(1),                                                              BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_V1(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_V1(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_NORM_V1(1), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_V1(1), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0),        FP32_0(0),       FP32_0(0), FP32_0(0), FP32_0(0),        FP32_0(0),       FP32_0(0), FP32_0(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_V(0, 0x5c0000, 0x84)/*55*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_0(0), FP32_V(0, 0x5c0000, 0x84)/*55*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(0, 0x534000, 0x86)/*211.25*/, FP32_0(0) } },
+            { /*src1     */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_V(0, 0x600000, 0x81)/* 7*/, FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_0(0), FP32_V(0, 0x600000, 0x81)/* 7*/, FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_1(1)                /*- 1.00*/, FP32_0(0) } },
+            { /* =>      */ { FP32_V(0, 0x669050, 0x93)/*1888778*/, FP32_V(0, 0x780000, 0x84)/*62*/, FP32_V(0, 0x253468, 0x93)/*1353357.00*/, FP32_0(0), FP32_V(0, 0x780000, 0x84)/*62*/, FP32_V(0, 0x253468, 0x93)/*1353357.00*/, FP32_V(0, 0x524000, 0x86)/*210.25*/, FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_0(0), FP32_0(0), FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_1(1), FP32_0(0) } },
+            { /*src1     */ { FP32_V(1, 0x712060, 0x92)/*- 987654*/, FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_0(0), FP32_1(0), FP32_V(1, 0x712060, 0x92)/*- 987654*/, FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_1(0), FP32_1(0) } },
+            { /* =>      */ { FP32_V(0, 0x6cb99c, 0x97)/*31028024*/, FP32_V(0, 0x3c614e, 0x97)/*24691356*/, FP32_0(0), FP32_1(0), FP32_V(0, 0x6cb99c, 0x97)/*31028024*/, FP32_V(0, 0x3c614e, 0x97)/*24691356*/, FP32_0(0), FP32_1(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_NORM_SAFE_INT_MAX(0),                                FP32_1(0), FP32_1(1), FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_NORM_SAFE_INT_MAX(0),                                FP32_0(1), FP32_0(0) } },
+            { /*src1     */ { FP32_1(0),                                                FP32_1(1),                                                FP32_1(1), FP32_1(0), FP32_1(0),                                                FP32_1(1),                                                FP32_0(1), FP32_0(0) } },
+            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_0(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(0),                                FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_0(1), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(1),                                   BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(1),                                  } },
-            { /*src1     */ { BS3_FP32_ONE(0),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(1),                   BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ONE(0),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(1),                  } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_VAL(0, 0, 2)          , BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_VAL(0, 0, 2)           } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0),               FP32_1(1),                               FP32_0(1), FP32_1(1),  FP32_0(1), FP32_1(1),  FP32_NORM_SAFE_INT_MAX(0),                   FP32_1(1),                                  } },
+            { /*src1     */ { FP32_1(0),                               FP32_NORM_SAFE_INT_MAX(1),               FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1), FP32_1(0),                                   FP32_NORM_SAFE_INT_MAX(1),                  } },
+            { /* =>      */ { FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_0(1), FP32_1(1),  FP32_0(1), FP32_1(1),  FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0) } },
+            { /* =>      */ { FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0, 2),           FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0, 2)           } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x600000, 0x7e)/*      0.875*/, BS3_FP32_VAL(0, 0x3ce348, 0x90)/*193421.125*/, BS3_FP32_VAL(0, 0x6423f2, 0x92)/*934463.125*/, BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_VAL(0, 0x16b43a, 0x93)/*1234567.25*/, BS3_FP32_VAL(0, 0x792318, 0x91)/*510232.75*/, BS3_FP32_VAL(0, 0x600000, 0x7e)/*      0.875*/ } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x769b50, 0x92)/*1010101.000*/, BS3_FP32_VAL(0, 0x430ebc, 0x91)/*399477.875*/, BS3_FP32_VAL(1, 0x0a19f0, 0x8f)/*-70707.875*/, BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_VAL(0, 0x00c6d3, 0x94)/*2109876.75*/, BS3_FP32_VAL(1, 0x316740, 0x8e)/*-45415.25*/, BS3_FP32_VAL(0, 0x769b50, 0x92)/*1010101.000*/ } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x769b5e, 0x92)/*1010101.875*/, BS3_FP32_VAL(0, 0x10c030, 0x92)/*592899.000*/, BS3_FP32_VAL(0, 0x52e0b4, 0x92)/*863755.250*/, BS3_FP32_VAL(1, 0, 2),           BS3_FP32_VAL(0, 0, 2),           BS3_FP32_VAL(0, 0x4c20f0, 0x94)/*3344444.00*/, BS3_FP32_VAL(0, 0x62f630, 0x91)/*464817.50*/, BS3_FP32_VAL(0, 0x769b5e, 0x92)/*1010101.875*/ } },
+          { { /*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*/ } },
+            { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(1, 0x316740, 0x8e)/*-45415.25*/, FP32_V(0, 0x769b50, 0x92)/*1010101.000*/ } },
+            { /* =>      */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x10c030, 0x92)/*592899.000*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_V(1, 0, 2),           FP32_V(0, 0, 2),           FP32_V(0, 0x4c20f0, 0x94)/*3344444.00*/, FP32_V(0, 0x62f630, 0x91)/*464817.50*/, FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/ } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -1658,37 +1640,37 @@
     * Denormals.
     */
-    /*26*/{ { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_DENORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_DENORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(1) } },
+    /*26*/{ { /*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)         } },
+            { /*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) } },
+            { /* =>      */ { 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) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),        } },
+          { { /*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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+         { { /*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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),         FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
+          { { /*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) } },
+            { /*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)          } },
+            { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)        , BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
+          { { /*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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -1697,13 +1679,13 @@
      * Invalids.
      */
-    /*32*/{ { /*src2     */ { BS3_FP32_QNAN(0),        BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_0),      BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_1), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_2), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_3), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_4), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_5) } },
-            { /*src1     */ { BS3_FP32_SNAN(0),        BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_NORMAL_MIN), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_2), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_6), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_2), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_1), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_4) } },
-            { /* =>      */ { BS3_FP32_QNAN_VAL(0, 1), BS3_FP32_QNAN_VAL(0, 1),                            BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_2), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_6), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_2), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_1), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_4) } },
+    /*32*/{ { /*src2     */ { FP32_QNAN(0),        FP32_QNAN_VAL(0, FP32_FRAC_NORM_MAX), FP32_QNAN_VAL(0, FP32_FRAC_V0),       FP32_QNAN_VAL(0, FP32_FRAC_V1), FP32_QNAN_VAL(0, FP32_FRAC_V2), FP32_QNAN_VAL(0, FP32_FRAC_V3), FP32_QNAN_VAL(0, FP32_FRAC_V4), FP32_QNAN_VAL(0, FP32_FRAC_V5) } },
+            { /*src1     */ { FP32_SNAN(0),        FP32_SNAN_VAL(0, FP32_FRAC_NORM_MIN), FP32_SNAN_VAL(0, FP32_FRAC_NORM_MAX), FP32_SNAN_VAL(0, FP32_FRAC_V2), FP32_SNAN_VAL(0, FP32_FRAC_V6), FP32_SNAN_VAL(0, FP32_FRAC_V2), FP32_SNAN_VAL(0, FP32_FRAC_V1), FP32_SNAN_VAL(0, FP32_FRAC_V4) } },
+            { /* =>      */ { FP32_QNAN_VAL(0, 1), FP32_QNAN_VAL(0, 1),                  FP32_QNAN_VAL(0, FP32_FRAC_NORM_MAX), FP32_QNAN_VAL(0, FP32_FRAC_V2), FP32_QNAN_VAL(0, FP32_FRAC_V6), FP32_QNAN_VAL(0, FP32_FRAC_V2), FP32_QNAN_VAL(0, FP32_FRAC_V1), FP32_QNAN_VAL(0, FP32_FRAC_V4) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_SNAN(0), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_NORMAL_MIN), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_1), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_1), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_3), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_4), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_5), BS3_FP32_SNAN_VAL(0, BS3_FP32_FRACTION_VAL_6) } },
-            { /*src1     */ { BS3_FP32_QNAN(0), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_6), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_5), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_4), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_3), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_2), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_1) } },
-            { /* =>      */ { BS3_FP32_QNAN(0), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_6), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_5), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_4), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_3), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_2), BS3_FP32_QNAN_VAL(0, BS3_FP32_FRACTION_VAL_1) } },
+          { { /*src2     */ { FP32_SNAN(0), FP32_SNAN_VAL(0, FP32_FRAC_NORM_MIN), FP32_SNAN_VAL(0, FP32_FRAC_V1), FP32_SNAN_VAL(0, FP32_FRAC_V1), FP32_SNAN_VAL(0, FP32_FRAC_V3), FP32_SNAN_VAL(0, FP32_FRAC_V4), FP32_SNAN_VAL(0, FP32_FRAC_V5), FP32_SNAN_VAL(0, FP32_FRAC_V6) } },
+            { /*src1     */ { FP32_QNAN(0), FP32_QNAN_VAL(0, FP32_FRAC_NORM_MAX), FP32_QNAN_VAL(0, FP32_FRAC_V6), FP32_QNAN_VAL(0, FP32_FRAC_V5), FP32_QNAN_VAL(0, FP32_FRAC_V4), FP32_QNAN_VAL(0, FP32_FRAC_V3), FP32_QNAN_VAL(0, FP32_FRAC_V2), FP32_QNAN_VAL(0, FP32_FRAC_V1) } },
+            { /* =>      */ { FP32_QNAN(0), FP32_QNAN_VAL(0, FP32_FRAC_NORM_MAX), FP32_QNAN_VAL(0, FP32_FRAC_V6), FP32_QNAN_VAL(0, FP32_FRAC_V5), FP32_QNAN_VAL(0, FP32_FRAC_V4), FP32_QNAN_VAL(0, FP32_FRAC_V3), FP32_QNAN_VAL(0, FP32_FRAC_V2), FP32_QNAN_VAL(0, FP32_FRAC_V1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
@@ -1769,31 +1751,31 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+    /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
+          { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
+          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(1) } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(1) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
+          { { /*src2     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(0) } },
+            { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(0) } },
+            { /* =>      */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -1802,31 +1784,31 @@
      * Infinity.
      */
-    /* 5*/{ { /*src2     */ { BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+    /* 5*/{ { /*src2     */ { FP64_INF(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+          { { /*src2     */ { FP64_0(0), FP64_INF(1), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_INF(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_INF(0), FP64_0(0), FP64_0(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+          { { /*src2     */ { FP64_0(0), FP64_INF(1), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_INF(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_INF(0), FP64_0(0), FP64_0(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP64_INF(0),  BS3_FP64_INF(1),  BS3_FP64_ZERO(0), BS3_FP64_INF(1) } },
-            { /*src1     */ { BS3_FP64_INF(1),  BS3_FP64_INF(0),  BS3_FP64_ZERO(0), BS3_FP64_INF(0) } },
-            { /* =>      */ { BS3_FP64_QNAN(1), BS3_FP64_QNAN(1), BS3_FP64_ZERO(0), BS3_FP64_QNAN(1) } },
+          { { /*src2     */ { FP64_INF(0),  FP64_INF(1),  FP64_0(0), FP64_INF(1) } },
+            { /*src1     */ { FP64_INF(1),  FP64_INF(0),  FP64_0(0), FP64_INF(0) } },
+            { /* =>      */ { FP64_QNAN(1), FP64_QNAN(1), FP64_0(0), FP64_QNAN(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP64_VAL(0, 0,               0x3fd)/*0.25*/, BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_INF(1) } },
-            { /*src1     */ { BS3_FP64_VAL(0, 0,               0x3fe)/*0.50*/, BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_INF(0) } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0x8000000000000, 0x3fe)/*0.75*/, BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_QNAN(1) } },
+          { { /*src2     */ { FP64_V(0, 0,               0x3fd)/*0.25*/, FP64_0(1), FP64_0(0), FP64_INF(1) } },
+            { /*src1     */ { FP64_V(0, 0,               0x3fe)/*0.50*/, FP64_0(1), FP64_0(0), FP64_INF(0) } },
+            { /* =>      */ { FP64_V(0, 0x8000000000000, 0x3fe)/*0.75*/, FP64_0(1), FP64_0(0), FP64_QNAN(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
@@ -1835,44 +1817,44 @@
      * Overflow, Precision.
      */
-    /*10*/{ { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(1) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0), BS3_FP64_ZERO(0)       } },
+    /*10*/{ { /*src2     */ { FP64_0(0), FP64_NORM_MAX(1), FP64_0(0), FP64_NORM_MAX(1) } },
+            { /*src1     */ { FP64_0(0), FP64_NORM_MAX(1), FP64_0(0), FP64_NORM_MAX(1) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0),        FP64_0(0), FP64_0(0)        } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE, X86_MXCSR_OE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_0(0), FP64_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE, X86_MXCSR_OE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP64_INF(0),        BS3_FP64_VAL(1, 0, 2),  BS3_FP64_ZERO(0), BS3_FP64_INF(0),       } },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_0(0), FP64_NORM_MAX(0) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_0(0), FP64_NORM_MAX(0) } },
+            { /* =>      */ { FP64_INF(0),      FP64_V(1, 0, 2),  FP64_0(0), FP64_INF(0)      } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_VAL(1, 0, 2),  BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0) } },
+          { { /*src2     */ { FP64_NORM_MIN(1), FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_0(0) } },
+            { /*src1     */ { FP64_NORM_MIN(1), FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_0(0) } },
+            { /* =>      */ { FP64_V(1, 0, 2),  FP64_NORM_MAX(0), FP64_0(0),        FP64_0(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0) } },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MAX(0) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MAX(0) } },
+            { /* =>      */ { FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MAX(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_SAFE_INT_MIN(0),                                          BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_SAFE_INT_MAX(1) } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                          BS3_FP64_NORMAL_MAX(1), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_SAFE_INT_MAX(1) } },
-            { /* =>      */ { BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0), BS3_FP64_VAL(1, BS3_FP64_FRACTION_NORMAL_MAX, BS3_FP64_EXP_SAFE_INT_MAX + 1) } },
+          { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                            FP64_NORM_MAX(0), FP64_0(0), FP64_NORM_SAFE_INT_MAX(1)                                } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                            FP64_NORM_MAX(1), FP64_0(0), FP64_NORM_SAFE_INT_MAX(1)                                } },
+            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX), FP64_0(0),        FP64_0(0), FP64_V(1, FP64_FRAC_NORM_MAX, FP64_EXP_SAFE_INT_MAX + 1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
           /** @todo Why does the below on cause PE?! */
-          { { /*src2     */ { BS3_FP64_VAL(0, 0xc000000000000, 0x3ff)/* 1.75*/, BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0,               0x3fd)/*0.25*/ } },
-            { /*src1     */ { BS3_FP64_VAL(1, 0,               0x07d)/*-0.25*/, BS3_FP64_NORMAL_MAX(1), BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0,               0x3fe)/*0.50*/ } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0xbffffffffffff, 0x3ff)/* 1.50*/, BS3_FP64_ZERO(1),       BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0x8000000000000, 0x3fe)/*0.75*/ } },
+          { { /*src2     */ { FP64_V(0, 0xc000000000000, 0x3ff)/* 1.75*/, FP64_NORM_MAX(0), FP64_0(0), FP64_V(0, 0,               0x3fd)/*0.25*/ } },
+            { /*src1     */ { FP64_V(1, 0,               0x07d)/*-0.25*/, FP64_NORM_MAX(1), FP64_0(0), FP64_V(0, 0,               0x3fe)/*0.50*/ } },
+            { /* =>      */ { FP64_V(0, 0xbffffffffffff, 0x3ff)/* 1.50*/, FP64_0(1),        FP64_0(0), FP64_V(0, 0x8000000000000, 0x3fe)/*0.75*/ } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -1881,43 +1863,43 @@
      * Normals.
      */
-    /*17*/{ { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_VAL_1(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_VAL_1(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, 0,               0x409)/*1024*/, BS3_FP64_VAL(0, 0xb800000000000, 0x404)/*55*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_VAL(0, 0,               0x408)/* 512*/, BS3_FP64_VAL(0, 0xc000000000000, 0x401)/* 7*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0x8000000000000, 0x409)/*1536*/, BS3_FP64_VAL(0, 0xf000000000000, 0x404)/*62*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, 0x26580b4800000, 0x41d)/* 1234567890*/, BS3_FP64_VAL(0, 0xd6f3458800000, 0x41c)/*987654321*/, BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
-            { /*src1     */ { BS3_FP64_VAL(1, 0x26580b4800000, 0x41d)/*-1234567890*/, BS3_FP64_VAL(1, 0x9000000000000, 0x405)/*     -100*/, BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
-            { /* =>      */ { BS3_FP64_ZERO(0),                                       BS3_FP64_VAL(0, 0xd6f3426800000, 0x41c)/*987654221*/, BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0xcf00348ec5858, 0x432)/*4072598123457580.0*/ } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ONE(0),                                                              BS3_FP64_ONE(1),                                                              BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+    /*17*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_V1(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_NORM_MAX(1), FP64_NORM_V1(1), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0),        FP64_0(0),       FP64_0(0), FP64_0(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_V(0, 0,               0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_V(0, 0,               0x408)/* 512*/, FP64_V(0, 0xc000000000000, 0x401)/* 7*/, FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(0, 0xf000000000000, 0x404)/*62*/, FP64_0(0), FP64_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_0(0), FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
+            { /*src1     */ { FP64_V(1, 0x26580b4800000, 0x41d)/*-1234567890*/, FP64_V(1, 0x9000000000000, 0x405)/*     -100*/, FP64_0(0), FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
+            { /* =>      */ { FP64_0(0),                                        FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_0(0), FP64_V(0, 0xcf00348ec5858, 0x432)/*4072598123457580.0*/ } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(0),                                FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_1(0),                                                FP64_1(1),                                                FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0),                                FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_0(0), FP64_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                   BS3_FP64_ONE(1),                                   BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ONE(0),                                   BS3_FP64_NORMAL_SAFE_INT_MAX(1),                   BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0, BS3_FP64_EXP_SAFE_INT_MAX + 1), BS3_FP64_VAL(1, 0, BS3_FP64_EXP_SAFE_INT_MAX + 1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_ZERO(0),                BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_NORMAL_SAFE_INT_MIN(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MIN(1), BS3_FP64_NORMAL_SAFE_INT_MIN(1), BS3_FP64_ZERO(0),                BS3_FP64_NORMAL_SAFE_INT_MIN(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),                BS3_FP64_NORMAL_SAFE_INT_MIN(1), BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_VAL(0, 0, 2)           } },
+          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0),               FP64_1(1),                               FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_1(0),                               FP64_NORM_SAFE_INT_MAX(1),               FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_V(0, 0, FP64_EXP_SAFE_INT_MAX + 1), FP64_V(1, 0, FP64_EXP_SAFE_INT_MAX + 1), FP64_0(0), FP64_0(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(0) } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0) } },
+            { /* =>      */ { FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(0), FP64_V(0, 0, 2)           } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_SAFE_INT_MIN(1) } },
-            { /*src1     */ { BS3_FP64_VAL(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_SAFE_INT_MIN(1) } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_VAL(1, 0, 2)           } },
+          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_0(0), FP64_0(0), FP64_NORM_SAFE_INT_MIN(1) } },
+            { /*src1     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_0(0), FP64_0(0), FP64_NORM_SAFE_INT_MIN(1) } },
+            { /* =>      */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_0(0), FP64_0(0), FP64_V(1, 0, 2)           } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -1926,19 +1908,19 @@
      * Denormals.
      */
-    /*24*/{ { /*src2     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+    /*24*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0),          FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+          { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0),          FP64_0(0), FP64_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0)         } },
+          { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -2003,37 +1985,37 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+    /* 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
+          { { /*src2     */ { FP32_0(1), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_0(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_0(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -2042,37 +2024,37 @@
      * Infinity.
      */
-    /* 6*/{ { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 6*/{ { /*src2     */ { FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_INF(1),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0),    FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_RAND_VAL_7(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_INF(0),  FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_INF(1),  FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(0),    FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(1),  BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_INF(0),  BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_QNAN(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_INF(1),  FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_INF(0),  FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_QNAN(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_QNAN(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
+          { { /*src2     */ { FP32_INF(0),  FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_INF(1),  FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_QNAN(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_QNAN(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_INF(0),  FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_INF(1),  FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_INF(0),  BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1) } },
-            { /* =>      */ { BS3_FP32_QNAN(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1) } },
+          { { /*src2     */ { FP32_INF(1),  FP32_0(0), FP32_0(0), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_INF(0),  FP32_0(1), FP32_0(1), FP32_RAND_V3(1), FP32_RAND_V1(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V5(1) } },
+            { /* =>      */ { FP32_QNAN(1), FP32_0(1), FP32_0(1), FP32_RAND_V3(1), FP32_RAND_V1(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V5(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -2081,37 +2063,37 @@
      * Overflow, Precision.
      */
-    /*12*/{ { /*src2     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),       BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1) } },
+    /*12*/{ { /*src2     */ { FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_0(1), FP32_0(1), FP32_RAND_V1(1), FP32_RAND_V3(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V5(1) } },
+            { /* =>      */ { FP32_0(0),        FP32_0(1), FP32_0(1), FP32_RAND_V1(1), FP32_RAND_V3(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V5(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE, X86_MXCSR_OE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_NORM_MAX(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_RAND_V0(1),  FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_NORM_MAX(1), FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_NORM_MAX(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0),                                          BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                          BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0),                            FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                            FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(1),                                          BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(1),                                          BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1) } },
-            { /* =>      */ { BS3_FP32_VAL(1, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(1),                            FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(1),                            FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V0(0), FP32_RAND_V5(1) } },
+            { /* =>      */ { FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V0(0), FP32_RAND_V5(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
@@ -2120,55 +2102,55 @@
      * Normals.
      */
-    /*18*/{ { /*src2     */ { BS3_FP32_VAL(0, 0x600000, 0x7f)/* 1.75*/, BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_VAL(1, 0,        0x7d)/*-0.25*/, BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x400000, 0x7f)/* 1.50*/, BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1) } },
+    /*18*/{ { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/* 1.75*/, FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V0(0), FP32_RAND_V5(1) } },
+            { /* =>      */ { FP32_V(0, 0x400000, 0x7f)/* 1.50*/, FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V0(0), FP32_RAND_V5(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(1),       BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(1),        FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x5ca5b8, 0x93)/*1807543*/, BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x1ea980, 0x8f)/*  81235*/, BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x669050, 0x93)/*1888778*/, BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x7c9000, 0x88)/*   1010.25*/, BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357.00*/, BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_VAL(1, 0x712060, 0x92)/*- 987654*/, BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_ONE(0),                                                              BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_V(0, 0x669050, 0x93)/*1888778*/, FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_V(0, 0x253468, 0x93)/*1353357.00*/, FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_V(1, 0x712060, 0x92)/*- 987654*/, FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_V(0, 0x6cb99c, 0x97)/*31028024*/, FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_1(0),                                                FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_ONE(1),                                                              BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_1(1),                                                FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x600000, 0x7e)/*      0.875*/, BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x769b50, 0x92)/*1010101.000*/, BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x769b5e, 0x92)/*1010101.875*/, BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_7(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),                BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_7(1) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MIN(1), FP32_RAND_V3(1), FP32_RAND_V1(0), FP32_RAND_V0(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V7(1) } },
+            { /* =>      */ { FP32_0(0),                 FP32_RAND_V3(1), FP32_RAND_V1(0), FP32_RAND_V0(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V7(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -2177,19 +2159,19 @@
      * Denormals.
      */
-    /*27*/{ { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_0(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_0(0) } },
+    /*27*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V5(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V4(0) } },
+            { /*src1     */ { FP32_0(0),          FP32_RAND_V5(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V0(0) } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V5(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_7(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_7(1) } },
+          { { /*src2     */ { FP32_0(0),          FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V7(1) } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V7(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_7(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_6(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_6(1) } },
+          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V7(0) } },
+            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V6(1) } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V6(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -2243,37 +2225,37 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
+            { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
+            { /*src1     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
+            { /* =>      */ { FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -2282,31 +2264,31 @@
      * Infinity.
      */
-    /* 6*/{ { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_INF(1),  BS3_FP32_INF(0),  BS3_FP32_INF(1),  BS3_FP32_INF(0),  BS3_FP32_INF(1),  BS3_FP32_INF(0),  BS3_FP32_INF(1)  } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0),  BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_QNAN(1), BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_QNAN(1) } },
+    /* 6*/{ { /*src2     */ { FP32_INF(0),  FP32_INF(1),  FP32_INF(0),  FP32_INF(1),  FP32_INF(0),  FP32_INF(1), FP32_INF(0),  FP32_INF(1)  } },
+            { /*src1     */ { FP32_INF(1),  FP32_INF(0),  FP32_0(0),    FP32_0(0),    FP32_INF(0),  FP32_INF(1), FP32_0(0),    FP32_0(0)    } },
+            { /* =>      */ { FP32_QNAN(1), FP32_0(0),    FP32_QNAN(1), FP32_QNAN(1), FP32_QNAN(1), FP32_0(0),   FP32_QNAN(1), FP32_QNAN(1) } },
               /*mask     */ X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_INF(0), BS3_FP32_INF(0),  BS3_FP32_INF(0)  } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_INF(0), BS3_FP32_INF(1),  BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1),  FP32_INF(1), FP32_0(0),    FP32_0(0)   } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1),  FP32_INF(0), FP32_INF(0),  FP32_INF(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_QNAN(1), FP32_INF(0), FP32_INF(1),  FP32_0(0)   } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_INF(1),  BS3_FP32_INF(0),  BS3_FP32_INF(1),  BS3_FP32_INF(1),  BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_INF(0), BS3_FP32_INF(0),  BS3_FP32_INF(0)  } },
-            { /* =>      */ { BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_QNAN(1), BS3_FP32_QNAN(1), BS3_FP32_INF(0), BS3_FP32_INF(1),  BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_INF(0),  FP32_INF(1), FP32_INF(0),  FP32_INF(1),  FP32_INF(1),  FP32_INF(1), FP32_0(0),   FP32_0(0)   } },
+            { /*src1     */ { FP32_INF(1),  FP32_INF(0), FP32_0(0),    FP32_0(0),    FP32_INF(1),  FP32_INF(0), FP32_INF(0), FP32_INF(0) } },
+            { /* =>      */ { FP32_QNAN(1), FP32_0(0),   FP32_QNAN(1), FP32_QNAN(1), FP32_QNAN(1), FP32_INF(0), FP32_INF(1), FP32_0(0)   } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(1),  BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_INF(1),  BS3_FP32_INF(0),  BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_INF(0),  BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_INF(0),  BS3_FP32_INF(1), BS3_FP32_INF(1), BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_INF(0)  } },
+          { { /*src2     */ { FP32_INF(1),  FP32_INF(1), FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_0(0)   } },
+            { /*src1     */ { FP32_INF(0),  FP32_INF(0), FP32_INF(1), FP32_0(0),   FP32_0(0),   FP32_0(0),   FP32_0(0),   FP32_0(0)   } },
+            { /* =>      */ { FP32_INF(0),  FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_0(0),   FP32_0(0),   FP32_INF(1), FP32_INF(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_QNAN(1), BS3_FP32_INF(1),  BS3_FP32_QNAN(0), BS3_FP32_INF(1),  BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_INF(0),  BS3_FP32_QNAN(0), BS3_FP32_INF(1),  BS3_FP32_QNAN(0), BS3_FP32_INF(1),  BS3_FP32_QNAN(1), BS3_FP32_INF(0),  BS3_FP32_INF(0)  } },
-            { /* =>      */ { BS3_FP32_QNAN(0), BS3_FP32_QNAN(0), BS3_FP32_QNAN(1), BS3_FP32_QNAN(0), BS3_FP32_QNAN(1), BS3_FP32_INF(0),  BS3_FP32_INF(1),  BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_INF(0),  FP32_QNAN(1), FP32_INF(1),  FP32_QNAN(0), FP32_INF(1),  FP32_INF(1),  FP32_0(0),   FP32_0(0)   } },
+            { /*src1     */ { FP32_INF(0),  FP32_QNAN(0), FP32_INF(1),  FP32_QNAN(0), FP32_INF(1),  FP32_QNAN(1), FP32_INF(0), FP32_INF(0) } },
+            { /* =>      */ { FP32_QNAN(0), FP32_QNAN(0), FP32_QNAN(1), FP32_QNAN(0), FP32_QNAN(1), FP32_INF(0),  FP32_INF(1), FP32_0(0)   } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -2315,43 +2297,43 @@
      * Overflow, Precision.
      */
-    /*11*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),      } },
+    /*11*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),        FP32_0(0),        FP32_0(0),        FP32_0(0)        } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_OE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0),                                                     BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1),                                                     BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_INF(1),        BS3_FP32_INF(1),        BS3_FP32_VAL(1, BS3_FP32_FRACTION_NORMAL_MIN, BS3_FP32_EXP_NORMAL_MIN + 1), BS3_FP32_INF(0),        BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MAX(0),                                     FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1),                                     FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_INF(1),      FP32_INF(1),      FP32_V(1, FP32_FRAC_NORM_MIN, FP32_EXP_NORM_MIN + 1), FP32_INF(0),      FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0),        FP32_0(0),        FP32_0(0), FP32_NORM_MAX(0) } },
+            { /*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(0), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_NORM_MAX(0), FP32_0(0),        FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_MAX(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP32_INF(0),        BS3_FP32_VAL(1, 0, 2),  BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_INF(0),        BS3_FP32_NORMAL_MAX(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_0(0),        FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0),        FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MIN(0), FP32_NORM_MAX(1) } },
+            { /* =>      */ { FP32_INF(0),      FP32_V(1, 0, 2),  FP32_0(0),        FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_INF(0),      FP32_NORM_MAX(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MIN(0), BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1) } },
-            { /* =>      */ { BS3_FP32_VAL(1, 0, 2),  BS3_FP32_VAL(0, 0, 2),  BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_VAL(1, 0, 2),  BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0)       } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0),        FP32_0(0),        FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0) } },
+            { /*src1     */ { FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_NORM_MIN(0), FP32_0(0),        FP32_NORM_MAX(1), FP32_NORM_MIN(1), FP32_NORM_MIN(1) } },
+            { /* =>      */ { FP32_V(1, 0, 2),  FP32_V(0, 0, 2),  FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_V(1, 0, 2),  FP32_NORM_MAX(0), FP32_0(0)        } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0)       } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_0(0),        FP32_0(0)        } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_MAX(0),                                                       BS3_FP32_ZERO(0),                 BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_MAX(0),          BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_SAFE_INT_MAX(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0),                                              BS3_FP32_NORMAL_SAFE_INT_MAX(1),  BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_NORMAL_MAX(0),          BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_SAFE_INT_MAX(1) } },
-            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_VAL(1, BS3_FP32_FRACTION_NORMAL_MAX, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_NORMAL_MAX(0),           BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_NORMAL_MAX(0),          BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(0),                                         FP32_0(0),                 FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(0),          FP32_0(0),        FP32_NORM_SAFE_INT_MAX(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MIN(0),                                FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MAX(0),          FP32_0(0),        FP32_NORM_SAFE_INT_MAX(1) } },
+            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_V(1, FP32_FRAC_NORM_MAX, FP32_EXP_SAFE_INT_MAX + 1), FP32_NORM_MAX(0),          FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MAX(0),          FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_MAX(0), FP32_NORM_SAFE_INT_MAX(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
@@ -2360,49 +2342,49 @@
      * Normals.
      */
-    /*18*/{ { /*src2     */ { BS3_FP32_VAL(0, 0,        0x7d)/* 0.25*/, BS3_FP32_VAL(0, 0,        0x7e)/*0.50*/, BS3_FP32_NORMAL_MAX(0),                  BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),                        BS3_FP32_NORMAL_MAX(0),           BS3_FP32_VAL(0, 0x400000, 0x7f)/*1.50*/, BS3_FP32_VAL(0, 0,        0x7d)/*0.25*/ } },
-            { /*src1     */ { BS3_FP32_VAL(1, 0,        0x7d)/*-0.25*/, BS3_FP32_VAL(0, 0x600000, 0x7f)/*1.75*/, BS3_FP32_NORMAL_MAX(1),                  BS3_FP32_ZERO(0),       BS3_FP32_VAL(0, 0,        0x7e)/*0.50*/, BS3_FP32_VAL(0, 0, 0x7d)/*0.25*/, BS3_FP32_ZERO(0),                        BS3_FP32_ZERO(0)                        } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x400000, 0x7f)/* 1.50*/, BS3_FP32_NORMAL_MAX(1),                  BS3_FP32_VAL(0, 0x400000, 0x7e)/*0.75*/, BS3_FP32_NORMAL_MAX(0), BS3_FP32_VAL(0, 0x400000, 0x7e)/*0.75*/, BS3_FP32_ZERO(0),                 BS3_FP32_NORMAL_MAX(0),                  BS3_FP32_VAL(0, 0x600000, 0x7f)/*1.75*/ } },
+    /*18*/{ { /*src2     */ { FP32_V(0, 0,        0x7d)/* 0.25*/, FP32_V(0, 0,        0x7e)/*0.50*/, FP32_NORM_MAX(0),                  FP32_0(0),        FP32_0(0),                         FP32_NORM_MAX(0),           FP32_V(0, 0x400000, 0x7f)/*1.50*/, FP32_V(0, 0,        0x7d)/*0.25*/ } },
+            { /*src1     */ { FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_V(0, 0x600000, 0x7f)/*1.75*/, FP32_NORM_MAX(1),                  FP32_0(0),        FP32_V(0, 0,        0x7e)/*0.50*/, FP32_V(0, 0, 0x7d)/*0.25*/, FP32_0(0),                         FP32_0(0)                         } },
+            { /* =>      */ { FP32_V(0, 0x400000, 0x7f)/* 1.50*/, FP32_NORM_MAX(1),                  FP32_V(0, 0x400000, 0x7e)/*0.75*/, FP32_NORM_MAX(0), FP32_V(0, 0x400000, 0x7e)/*0.75*/, FP32_0(0),                  FP32_NORM_MAX(0),                  FP32_V(0, 0x600000, 0x7f)/*1.75*/ } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_NORMAL_VAL_4(1), BS3_FP32_NORMAL_VAL_4(0), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_NORMAL_VAL_2(1), BS3_FP32_NORMAL_VAL_2(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1),   BS3_FP32_NORMAL_MAX(0),   BS3_FP32_NORMAL_MIN(1),   BS3_FP32_NORMAL_MIN(0),   BS3_FP32_NORMAL_MAX(1),   BS3_FP32_NORMAL_MAX(0),   BS3_FP32_NORMAL_VAL_3(0), BS3_FP32_NORMAL_VAL_3(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x5c0000, 0x84)/*     55*/, BS3_FP32_VAL(0, 0x600000, 0x81)/*      7.00*/, BS3_FP32_ZERO(0),                           BS3_FP32_VAL(0, 0x5c0000, 0x84)/*   55.00*/, BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357*/, BS3_FP32_VAL(1, 0x7c9000, 0x88)/*-1010.25*/, BS3_FP32_ZERO(0),                              BS3_FP32_VAL(0, 0x534000, 0x86)/*211.25*/ } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x669050, 0x93)/*1888778*/, BS3_FP32_VAL(1, 0x1ea980, 0x8f)/* -81235.00*/, BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357*/, BS3_FP32_VAL(1, 0x7c9000, 0x88)/*-1010.25*/, BS3_FP32_VAL(0, 0x5c0000, 0x84)/*     55*/, BS3_FP32_VAL(0, 0x600000, 0x81)/*7*/,        BS3_FP32_VAL(0, 0x534000, 0x86)/*211.25*/,     BS3_FP32_ONE(1)                           } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x5ca5b8, 0x93)/*1807543*/, BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_VAL(0, 0x780000, 0x84)/*     62*/, BS3_FP32_VAL(0, 0x5c0000, 0x84)/*   55.00*/, BS3_FP32_VAL(0, 0x780000, 0x84)/*     62*/, BS3_FP32_VAL(0, 0x524000, 0x86)/*210.25*/,   BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_VAL(0, 0x534000, 0x86)/*211.25*/ } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ZERO(0),                            BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_VAL(0, 0x3c614e, 0x97)/*24691356*/, BS3_FP32_VAL(1, 0x3c614e, 0x96)/*-12345678*/, BS3_FP32_ZERO(0),                            BS3_FP32_ONE(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_VAL(1, 0x712060, 0x92)/* -987654*/, BS3_FP32_NORMAL_VAL_3(1),                    BS3_FP32_ZERO(0),         BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_VAL(1, 0x712060, 0x92)/*  -987654*/, BS3_FP32_ZERO(0),                            BS3_FP32_ONE(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_NORMAL_VAL_3(1),                    BS3_FP32_VAL(0, 0x3c614e, 0x97)/*24691356*/, BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_ONE(0),                              BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ONE(1) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(1),                                                              BS3_FP32_ONE(1),                 BS3_FP32_ZERO(0), BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(1),                                                              BS3_FP32_ONE(1),                 BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ONE(0),                                                              BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_ONE(1),  BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ONE(0),                                                              BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_ONE(1)  } },
-            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ZERO(0),                BS3_FP32_ONE(1),  BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ZERO(0),                BS3_FP32_ONE(1)  } },
+          { { /*src2     */ { FP32_NORM_V1(1),  FP32_NORM_V1(0),  FP32_NORM_V4(1),  FP32_NORM_V4(0),  FP32_NORM_V1(1),  FP32_NORM_V1(0),  FP32_NORM_V2(1), FP32_NORM_V2(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_V3(0), FP32_NORM_V3(1) } },
+            { /* =>      */ { FP32_0(0),        FP32_0(0),        FP32_0(0),        FP32_0(0),        FP32_0(0),        FP32_0(0),        FP32_0(0),       FP32_0(0)       } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x5c0000, 0x84)/*     55*/, FP32_V(0, 0x600000, 0x81)/*      7.00*/, FP32_0(0),                            FP32_V(0, 0x5c0000, 0x84)/*   55.00*/, FP32_V(0, 0x253468, 0x93)/*1353357*/, FP32_V(1, 0x7c9000, 0x88)/*-1010.25*/, FP32_0(0),                               FP32_V(0, 0x534000, 0x86)/*211.25*/ } },
+            { /*src1     */ { FP32_V(0, 0x669050, 0x93)/*1888778*/, FP32_V(1, 0x1ea980, 0x8f)/* -81235.00*/, FP32_V(0, 0x253468, 0x93)/*1353357*/, FP32_V(1, 0x7c9000, 0x88)/*-1010.25*/, FP32_V(0, 0x5c0000, 0x84)/*     55*/, FP32_V(0, 0x600000, 0x81)/*7*/,        FP32_V(0, 0x534000, 0x86)/*211.25*/,     FP32_1(1)                           } },
+            { /* =>      */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(0, 0x780000, 0x84)/*     62*/, FP32_V(0, 0x5c0000, 0x84)/*   55.00*/, FP32_V(0, 0x780000, 0x84)/*     62*/, FP32_V(0, 0x524000, 0x86)/*210.25*/,   FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_V(0, 0x534000, 0x86)/*211.25*/ } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_0(0),                             FP32_NORM_V1(0), FP32_V(0, 0x3c614e, 0x97)/*24691356*/, FP32_V(1, 0x3c614e, 0x96)/*-12345678*/, FP32_0(0),                             FP32_1(1) } },
+            { /*src1     */ { FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_V(1, 0x712060, 0x92)/* -987654*/, FP32_NORM_V3(1),                       FP32_0(0),       FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_V(1, 0x712060, 0x92)/*  -987654*/, FP32_0(0),                             FP32_1(0) } },
+            { /* =>      */ { FP32_V(0, 0x6cb99c, 0x97)/*31028024*/, FP32_NORM_V3(1),                       FP32_V(0, 0x3c614e, 0x97)/*24691356*/, FP32_NORM_V1(0), FP32_V(0, 0x6cb99c, 0x97)/*31028024*/, FP32_1(0),                              FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_1(1) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_1(0),                                                FP32_1(1),                                                FP32_1(1),                 FP32_0(0), FP32_1(0),                                                FP32_1(1),                                                FP32_1(1),                 FP32_0(0) } },
+            { /*src1     */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_1(0),                                                FP32_NORM_SAFE_INT_MAX(0), FP32_1(1), FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_1(0),                                                FP32_NORM_SAFE_INT_MAX(0), FP32_1(1) } },
+            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_0(0),                 FP32_1(1), FP32_NORM_SAFE_INT_MAX(0),                                FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_0(0),                 FP32_1(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(0),                                   BS3_FP32_ONE(1),                                   BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(0),                                   BS3_FP32_ONE(1),                                   BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(0),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(1),                   BS3_FP32_ONE(1),  BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(0),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(1),                   BS3_FP32_ONE(1)  } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_ONE(1),  BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_ONE(1)  } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(0),                                   BS3_FP32_ONE(1),                                   BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(0),                                   BS3_FP32_ONE(1),                                   BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(0),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(1),                   BS3_FP32_ONE(1),  BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_ONE(0),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(1),                   BS3_FP32_ONE(1)  } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_ONE(1),  BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_ONE(1)  } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0),               FP32_1(0),                               FP32_1(1),                               FP32_0(0), FP32_NORM_SAFE_INT_MAX(0),               FP32_1(0),                               FP32_1(1),                               FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),               FP32_1(0),                               FP32_NORM_SAFE_INT_MAX(1),               FP32_1(1), FP32_NORM_SAFE_INT_MAX(0),               FP32_1(0),                               FP32_NORM_SAFE_INT_MAX(1),               FP32_1(1) } },
+            { /* =>      */ { FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_1(1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_1(1) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0),               FP32_1(0),                               FP32_1(1),                               FP32_0(0), FP32_NORM_SAFE_INT_MAX(0),               FP32_1(0),                               FP32_1(1),                               FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),               FP32_1(0),                               FP32_NORM_SAFE_INT_MAX(1),               FP32_1(1), FP32_NORM_SAFE_INT_MAX(0),               FP32_1(0),                               FP32_NORM_SAFE_INT_MAX(1),               FP32_1(1) } },
+            { /* =>      */ { FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_1(1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_1(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x6423f2, 0x92)/* 934463.125*/, BS3_FP32_VAL(1, 0x0a19f0, 0x8f)/*-70707.875*/, BS3_FP32_NORMAL_SAFE_INT_MIN(1),               BS3_FP32_NORMAL_SAFE_INT_MIN(1),               BS3_FP32_NORMAL_SAFE_INT_MIN(0),               BS3_FP32_NORMAL_SAFE_INT_MIN(0),               BS3_FP32_VAL(0, 0x600000, 0x7e)/*     0.875*/, BS3_FP32_VAL(0, 0x769b50, 0x92)/*1010101.000*/ } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x769b50, 0x92)/*1010101.000*/, BS3_FP32_VAL(0, 0x600000, 0x7e)/*     0.875*/, BS3_FP32_VAL(0, 0x430ebc, 0x91)/*399477.875*/, BS3_FP32_VAL(0, 0x3ce348, 0x90)/*193421.125*/, BS3_FP32_VAL(0, 0x16b43a, 0x93)/*1234567.25*/, BS3_FP32_VAL(0, 0x00c6d3, 0x94)/*2109876.75*/, BS3_FP32_VAL(0, 0x792318, 0x91)/*510232.750*/, BS3_FP32_VAL(1, 0x316740, 0x8e)/* -45415.250*/ } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x769b5e, 0x92)/*1010101.875*/, BS3_FP32_VAL(0, 0x10c030, 0x92)/*592899.000*/, BS3_FP32_VAL(0, 0x52e0b4, 0x92)/*863755.250*/, BS3_FP32_VAL(1, 0, 2),                         BS3_FP32_VAL(0, 0x4c20f0, 0x94)/*3344444.00*/, BS3_FP32_VAL(0, 0x62f630, 0x91)/*464817.50*/,  BS3_FP32_VAL(0, 0, 2),                         BS3_FP32_VAL(0, 0x769b5e, 0x92)/*1010101.875*/ } },
+          { { /*src2     */ { FP32_V(0, 0x6423f2, 0x92)/* 934463.125*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_SAFE_INT_MIN(1),               FP32_NORM_SAFE_INT_MIN(1),               FP32_NORM_SAFE_INT_MIN(0),               FP32_NORM_SAFE_INT_MIN(0),               FP32_V(0, 0x600000, 0x7e)/*     0.875*/, FP32_V(0, 0x769b50, 0x92)/*1010101.000*/ } },
+            { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x600000, 0x7e)/*     0.875*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(0, 0x792318, 0x91)/*510232.750*/, FP32_V(1, 0x316740, 0x8e)/* -45415.250*/ } },
+            { /* =>      */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x10c030, 0x92)/*592899.000*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_V(1, 0, 2),                         FP32_V(0, 0x4c20f0, 0x94)/*3344444.00*/, FP32_V(0, 0x62f630, 0x91)/*464817.50*/,  FP32_V(0, 0, 2),                         FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/ } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -2411,37 +2393,37 @@
      * Denormals.
      */
-    /*26*/{ { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_DENORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
+    /*26*/{ { /*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)          } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0)          } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),        } },
+          { { /*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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),         } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+         { { /*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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),         FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
+          { { /*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) } },
+            { /*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)          } },
+            { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)        , BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
+          { { /*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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -2507,37 +2489,37 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
+            { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
+            { /* =>      */ { FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1), FP32_0(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -2546,37 +2528,37 @@
      * Infinity.
      */
-    /* 6*/{ { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0) } },
-            { /* =>      */ { BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0) } },
+    /* 6*/{ { /*src2     */ { FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1) } },
+            { /*src1     */ { FP32_INF(1),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0) } },
+            { /* =>      */ { FP32_INF(1),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1)  } },
-            { /*src1     */ { BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1)  } },
-            { /* =>      */ { BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1) } },
+          { { /*src2     */ { FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_INF(1),  FP32_INF(1), FP32_0(0), FP32_0(0), FP32_INF(1)  } },
+            { /*src1     */ { FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_INF(1),  FP32_INF(0), FP32_0(0), FP32_0(0), FP32_INF(1)  } },
+            { /* =>      */ { FP32_QNAN(1), FP32_0(0), FP32_0(0), FP32_QNAN(1), FP32_INF(0), FP32_0(0), FP32_0(0), FP32_QNAN(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1)  } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1)  } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1)  } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1)  } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_QNAN(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_QNAN(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1),  FP32_0(1), FP32_0(1), FP32_0(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1),  FP32_0(1), FP32_0(1), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_QNAN(1), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0)  } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0)  } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0)  } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0)  } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_QNAN(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(1), BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_INF(1),  BS3_FP32_INF(0) } },
-            { /*src1     */ { BS3_FP32_INF(0), BS3_FP32_INF(0),  BS3_FP32_ZERO(1), BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_INF(0),  BS3_FP32_INF(0),  BS3_FP32_INF(1) } },
-            { /* =>      */ { BS3_FP32_INF(0), BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_QNAN(1), BS3_FP32_INF(1) } },
+          { { /*src2     */ { FP32_INF(1), FP32_INF(0),  FP32_0(0), FP32_INF(0),  FP32_0(0), FP32_INF(1),  FP32_INF(1),  FP32_INF(0) } },
+            { /*src1     */ { FP32_INF(0), FP32_INF(0),  FP32_0(1), FP32_INF(0),  FP32_0(0), FP32_INF(0),  FP32_INF(0),  FP32_INF(1) } },
+            { /* =>      */ { FP32_INF(0), FP32_QNAN(1), FP32_0(0), FP32_QNAN(1), FP32_0(0), FP32_QNAN(1), FP32_QNAN(1), FP32_INF(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -2585,49 +2567,49 @@
      * Overflow, Precision.
      */
-    /*12*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0)       } },
+    /*12*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MIN(1), FP32_0(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),        FP32_0(0), FP32_0(0),        FP32_0(0)       } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)       } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_0(0)       } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP32_INF(1),        BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1)        } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1) } },
+            { /* =>      */ { FP32_INF(1),      FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1)        } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(1, 0, 2),  BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_INF(1),        BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1),        BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MIN(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0)       } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_0(0), FP32_NORM_MAX(0), FP32_0(0), FP32_V(1, 0, 2),  FP32_NORM_MIN(1), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_INF(1),      FP32_NORM_MAX(0), FP32_0(0), FP32_INF(1),      FP32_0(0), FP32_NORM_MIN(0), FP32_0(0),        FP32_0(0)        } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_VAL(1, 0, 2),  BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_VAL(1, 0, 2)  } },
-            { /*src1     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MIN(1) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MIN(0), BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MIN(0) } },
+          { { /*src2     */ { FP32_V(1, 0, 2),  FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0), FP32_0(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_V(1, 0, 2)  } },
+            { /*src1     */ { FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_0(0), FP32_0(1), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MIN(1) } },
+            { /* =>      */ { FP32_NORM_MIN(0), FP32_0(0),        FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MIN(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0)       } },
+          { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_NORM_MIN(0), FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_NORM_MIN(0), FP32_NORM_MAX(1), FP32_NORM_MIN(1), FP32_NORM_MIN(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0),        FP32_NORM_MAX(1), FP32_0(0),        FP32_0(0)        } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MIN(1),  BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MAX(1),  BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),        BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0)       } },
+          { { /*src2     */ { FP32_NORM_MIN(0), FP32_NORM_MIN(1),  FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(0) } },
+            { /*src1     */ { FP32_NORM_MIN(0), FP32_NORM_MAX(1),  FP32_NORM_MIN(1), FP32_NORM_MIN(0), FP32_NORM_MIN(0), FP32_NORM_MIN(1), FP32_NORM_MIN(1), FP32_NORM_MIN(0) } },
+            { /* =>      */ { FP32_0(0),        FP32_0(0),         FP32_0(0),        FP32_0(0),        FP32_0(0),        FP32_0(0),        FP32_0(0),        FP32_0(0)        } },
               /*mask     */ ~(X86_MXCSR_OM | X86_MXCSR_PM),
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),                BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),                BS3_FP32_ZERO(0),                BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)                } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
+            { /* =>      */ { FP32_0(0),                 FP32_0(0),        FP32_0(0), FP32_0(0),                 FP32_0(0),                 FP32_0(0),        FP32_0(0), FP32_0(0)                 } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
@@ -2636,49 +2618,49 @@
      * Normals.
      */
-    /*20*/{ { /*src2     */ { BS3_FP32_VAL(0, 0,        0x7d)/*0.25*/, BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(1, 0,        0x7e)/*-0.50*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_VAL(0, 0x400000, 0x7e)/* 0.75*/ } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x600000, 0x7f)/*1.75*/, BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(1, 0x400000, 0x7e)/*-0.75*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_VAL(0, 0,        0x7e)/* 0.50*/ } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x400000, 0x7f)/*1.50*/, BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_VAL(1, 0,        0x7d)/*-0.25*/, BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_VAL(1, 0,        0x7d)/*-0.25*/ } },
+    /*20*/{ { /*src2     */ { FP32_V(0, 0,        0x7d)/*0.25*/, FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_V(1, 0,        0x7e)/*-0.50*/, FP32_0(0), FP32_0(1), FP32_V(0, 0x400000, 0x7e)/* 0.75*/ } },
+            { /*src1     */ { FP32_V(0, 0x600000, 0x7f)/*1.75*/, FP32_0(0),        FP32_0(0), FP32_0(0), FP32_V(1, 0x400000, 0x7e)/*-0.75*/, FP32_0(0), FP32_0(1), FP32_V(0, 0,        0x7e)/* 0.50*/ } },
+            { /* =>      */ { FP32_V(0, 0x400000, 0x7f)/*1.50*/, FP32_NORM_MAX(1), FP32_0(1), FP32_0(1), FP32_V(1, 0,        0x7d)/*-0.25*/, FP32_0(1), FP32_0(1), FP32_V(1, 0,        0x7d)/*-0.25*/ } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x5ca5b8, 0x93)/*1807543*/, BS3_FP32_VAL(0, 0x600000, 0x81)/* 7*/, BS3_FP32_VAL(0, 0x7c9000, 0x88)/*   1010.25*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x5c0000, 0x84)/* 55*/, BS3_FP32_VAL(0, 0x2514d6, 0x93)/* 1352346.75*/, BS3_FP32_VAL(0, 0x534000, 0x86)/*211.25*/, BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x669050, 0x93)/*1888778*/, BS3_FP32_VAL(0, 0x780000, 0x84)/*62*/, BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357.00*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(1, 0x600000, 0x81)/* -7*/, BS3_FP32_VAL(1, 0x7c9000, 0x88)/*   -1010.25*/, BS3_FP32_ONE(0)                /*  1.00*/, BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x1ea980, 0x8f)/*  81235*/, BS3_FP32_VAL(0, 0x5c0000, 0x84)/*55*/, BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_ZERO(0), BS3_FP32_VAL(1, 0x780000, 0x84)/*-62*/, BS3_FP32_VAL(1, 0x253468, 0x93)/*-1353357.00*/, BS3_FP32_VAL(1, 0x524000, 0x86)/*210.25*/, BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_VAL(1, 0x3c614e, 0x96)/*-12345678*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0x712060, 0x92)/*  987654*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/* 12345678*/, BS3_FP32_ZERO(0), BS3_FP32_ONE(0),  BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_VAL(0, 0x3c614e, 0x97)/*24691356*/, BS3_FP32_ONE(0),  BS3_FP32_ONE(0)  } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x712060, 0x92)/*  987654*/, BS3_FP32_VAL(0, 0x3c614e, 0x97)/* 24691356*/, BS3_FP32_ZERO(0), BS3_FP32_ONE(0),  BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_VAL(0, 0x3c614e, 0x96)/*12345678*/, BS3_FP32_ONE(0),  BS3_FP32_ONE(0)  } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(1),                                                              BS3_FP32_ONE(0),  BS3_FP32_ONE(1),  BS3_FP32_ONE(1),                                                              BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ONE(0),  BS3_FP32_ONE(1),  BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ONE(0),                                                              BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_VAL(1, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(1), FP32_NORM_V1(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_V1(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_NORM_V1(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_V1(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0),        FP32_0(0),       FP32_0(0), FP32_0(0), FP32_0(0),        FP32_0(0),       FP32_0(0), FP32_0(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_V(0, 0x600000, 0x81)/* 7*/, FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_0(0), FP32_V(0, 0x5c0000, 0x84)/* 55*/, FP32_V(0, 0x2514d6, 0x93)/* 1352346.75*/, FP32_V(0, 0x534000, 0x86)/*211.25*/, FP32_0(0) } },
+            { /*src1     */ { FP32_V(0, 0x669050, 0x93)/*1888778*/, FP32_V(0, 0x780000, 0x84)/*62*/, FP32_V(0, 0x253468, 0x93)/*1353357.00*/, FP32_0(0), FP32_V(1, 0x600000, 0x81)/* -7*/, FP32_V(1, 0x7c9000, 0x88)/*   -1010.25*/, FP32_1(0)                /*  1.00*/, FP32_0(0) } },
+            { /* =>      */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_V(0, 0x5c0000, 0x84)/*55*/, FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_0(0), FP32_V(1, 0x780000, 0x84)/*-62*/, FP32_V(1, 0x253468, 0x93)/*-1353357.00*/, FP32_V(1, 0x524000, 0x86)/*210.25*/, FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x6cb99c, 0x97)/*31028024*/, FP32_V(1, 0x3c614e, 0x96)/*-12345678*/, FP32_0(0), FP32_0(0), FP32_V(0, 0x712060, 0x92)/*  987654*/, FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_V(0, 0x3c614e, 0x96)/* 12345678*/, FP32_0(0), FP32_1(0), FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_V(0, 0x3c614e, 0x97)/*24691356*/, FP32_1(0), FP32_1(0) } },
+            { /* =>      */ { FP32_V(0, 0x712060, 0x92)/*  987654*/, FP32_V(0, 0x3c614e, 0x97)/* 24691356*/, FP32_0(0), FP32_1(0), FP32_V(0, 0x6cb99c, 0x97)/*31028024*/, FP32_V(0, 0x3c614e, 0x96)/*12345678*/, FP32_1(0), FP32_1(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_1(0),                                                FP32_1(1),                                                FP32_1(0), FP32_1(1), FP32_1(1),                                                FP32_NORM_SAFE_INT_MAX(0),                                FP32_0(1), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_1(0), FP32_1(1), FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_1(0),                                                FP32_0(1), FP32_0(0) } },
+            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_NORM_SAFE_INT_MAX(0),                                FP32_0(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(0),                                FP32_V(1, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(0),                                   BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_ZERO(1), BS3_FP32_ONE(1),  BS3_FP32_ONE(1),                                   BS3_FP32_NORMAL_SAFE_INT_MAX(0)                   } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_NORMAL_SAFE_INT_MAX(1),                   BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_NORMAL_SAFE_INT_MAX(0),                   BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1) } },
-            { /* =>      */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_VAL(1, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_ZERO(0), BS3_FP32_ONE(0),  BS3_FP32_ZERO(0), BS3_FP32_ONE(0),  BS3_FP32_VAL(0, 0, BS3_FP32_EXP_SAFE_INT_MAX + 1), BS3_FP32_ONE(0)                                   } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(1),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_VAL(0, 0, 2),           BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0)                } },
+          { { /*src2     */ { FP32_1(0),                                                FP32_1(0),                               FP32_0(1), FP32_1(1), FP32_0(1), FP32_1(1), FP32_1(1),                               FP32_NORM_SAFE_INT_MAX(0)               } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_NORM_SAFE_INT_MAX(1),               FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_NORM_SAFE_INT_MAX(0),               FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1) } },
+            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_V(1, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_0(0), FP32_1(0), FP32_0(0), FP32_1(0), FP32_V(0, 0, FP32_EXP_SAFE_INT_MAX + 1), FP32_1(0)                               } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0), FP32_0(1),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_V(0, 0, 2),           FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1) } },
+            { /* =>      */ { FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_0(0)                 } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x600000, 0x7e)/*      0.875*/, BS3_FP32_VAL(0, 0x3ce348, 0x90)/*193421.125*/, BS3_FP32_VAL(1, 0x0a19f0, 0x8f)/*-70707.875*/, BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_VAL(0, 0x00c6d3, 0x94)/*2109876.75*/, BS3_FP32_VAL(0, 0x316740, 0x8e)/* 45415.25*/, BS3_FP32_VAL(0, 0x600000, 0x7e)/*       0.875*/ } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x769b5e, 0x92)/*1010101.875*/, BS3_FP32_VAL(0, 0x10c030, 0x92)/*592899.000*/, BS3_FP32_VAL(0, 0x52e0b4, 0x92)/*863755.250*/, BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_VAL(0, 0x4c20f0, 0x94)/*3344444.00*/, BS3_FP32_VAL(0, 0x792318, 0x91)/*510232.75*/, BS3_FP32_VAL(1, 0x769b50, 0x92)/*-1010101.000*/ } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x769b50, 0x92)/*1010101.000*/, BS3_FP32_VAL(0, 0x430ebc, 0x91)/*399477.875*/, BS3_FP32_VAL(0, 0x6423f2, 0x92)/*934463.125*/, BS3_FP32_VAL(0, 0, 2),           BS3_FP32_VAL(1, 0, 2),           BS3_FP32_VAL(0, 0x16b43a, 0x93)/*1234567.25*/, BS3_FP32_VAL(0, 0x62f630, 0x91)/*464817.50*/, BS3_FP32_VAL(1, 0x769b5e, 0x92)/*-1010101.875*/ } },
+          { { /*src2     */ { FP32_V(0, 0x600000, 0x7e)/*      0.875*/, FP32_V(0, 0x3ce348, 0x90)/*193421.125*/, FP32_V(1, 0x0a19f0, 0x8f)/*-70707.875*/, FP32_NORM_SAFE_INT_MIN(1), FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0x00c6d3, 0x94)/*2109876.75*/, FP32_V(0, 0x316740, 0x8e)/* 45415.25*/, FP32_V(0, 0x600000, 0x7e)/*       0.875*/ } },
+            { /*src1     */ { FP32_V(0, 0x769b5e, 0x92)/*1010101.875*/, FP32_V(0, 0x10c030, 0x92)/*592899.000*/, FP32_V(0, 0x52e0b4, 0x92)/*863755.250*/, FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(1), FP32_V(0, 0x4c20f0, 0x94)/*3344444.00*/, FP32_V(0, 0x792318, 0x91)/*510232.75*/, FP32_V(1, 0x769b50, 0x92)/*-1010101.000*/ } },
+            { /* =>      */ { FP32_V(0, 0x769b50, 0x92)/*1010101.000*/, FP32_V(0, 0x430ebc, 0x91)/*399477.875*/, FP32_V(0, 0x6423f2, 0x92)/*934463.125*/, FP32_V(0, 0, 2),           FP32_V(1, 0, 2),           FP32_V(0, 0x16b43a, 0x93)/*1234567.25*/, FP32_V(0, 0x62f630, 0x91)/*464817.50*/, FP32_V(1, 0x769b5e, 0x92)/*-1010101.875*/ } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -2687,37 +2669,37 @@
      * Denormals.
      */
-    /*28*/{ { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_DENORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_DENORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(1) } },
+    /*28*/{ { /*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)          } },
+            { /*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) } },
+            { /* =>      */ { 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) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),        } },
+          { { /*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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)         } },
+          { { /*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) } },
+            { /*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)          } },
+            { /* =>      */ { FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0),          FP32_0(0), FP32_0(0), FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(1), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(1), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(1), BS3_FP32_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(1), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(1), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(1), BS3_FP32_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)        , BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
+          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(0) } },
+            { /*src1     */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(1), FP32_DENORM_MIN(0) } },
+            { /* =>      */ { FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -2783,37 +2765,37 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-           { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+    /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+         { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-           { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+         { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-           { /*src1     */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+         { { /*src2     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
-           { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+         { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(1) } },
+           { /*src1     */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(1) } },
+           { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-           { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-           { /* =>      */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
+         { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /*src1     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(0) } },
+           { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(1) } },
              /*mask     */ X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -2822,37 +2804,37 @@
      * Infinity.
      */
-    /* 6*/{ { /*src2     */ { BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(1) } },
-            { /*src1     */ { BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(0) } },
-            { /* =>      */ { BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(0) } },
+    /* 6*/{ { /*src2     */ { FP64_INF(0), FP64_0(0), FP64_0(0), FP64_INF(1) } },
+            { /*src1     */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_INF(0) } },
+            { /* =>      */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_INF(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_INF(0),  BS3_FP64_INF(1),  BS3_FP64_INF(1), BS3_FP64_INF(1)  } },
-            { /*src1     */ { BS3_FP64_INF(0),  BS3_FP64_INF(1),  BS3_FP64_INF(0), BS3_FP64_INF(1)  } },
-            { /* =>      */ { BS3_FP64_QNAN(1), BS3_FP64_QNAN(1), BS3_FP64_INF(0), BS3_FP64_QNAN(1) } },
+          { { /*src2     */ { FP64_INF(0),  FP64_INF(1),  FP64_INF(1), FP64_INF(1)  } },
+            { /*src1     */ { FP64_INF(0),  FP64_INF(1),  FP64_INF(0), FP64_INF(1)  } },
+            { /* =>      */ { FP64_QNAN(1), FP64_QNAN(1), FP64_INF(0), FP64_QNAN(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP64_INF(0),  BS3_FP64_INF(0), BS3_FP64_INF(1), BS3_FP64_INF(1)  } },
-            { /*src1     */ { BS3_FP64_INF(0),  BS3_FP64_INF(1), BS3_FP64_INF(0), BS3_FP64_INF(1)  } },
-            { /* =>      */ { BS3_FP64_QNAN(1), BS3_FP64_INF(1), BS3_FP64_INF(0), BS3_FP64_QNAN(1) } },
+          { { /*src2     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(1), FP64_INF(1)  } },
+            { /*src1     */ { FP64_INF(0),  FP64_INF(1), FP64_INF(0), FP64_INF(1)  } },
+            { /* =>      */ { FP64_QNAN(1), FP64_INF(1), FP64_INF(0), FP64_QNAN(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(1), BS3_FP64_INF(1)  } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_INF(1)  } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_QNAN(1) } },
+          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_INF(1), FP64_INF(1)  } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_INF(0), FP64_INF(1)  } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_INF(0), FP64_QNAN(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(0)  } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(0)  } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_QNAN(1) } },
+          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_INF(0)  } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_INF(0)  } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_QNAN(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP64_INF(1),  BS3_FP64_INF(0),  BS3_FP64_INF(1),  BS3_FP64_INF(0) } },
-            { /*src1     */ { BS3_FP64_INF(0),  BS3_FP64_INF(0),  BS3_FP64_INF(0),  BS3_FP64_INF(1) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
+          { { /*src2     */ { FP64_INF(1), FP64_INF(0), FP64_INF(1), FP64_INF(0) } },
+            { /*src1     */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(1) } },
+            { /* =>      */ { FP64_0(0),   FP64_0(1),   FP64_0(1),   FP64_0(1)   } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -2861,55 +2843,55 @@
      * Overflow, Precision.
      */
-    /*12*/{ { /*src2     */ { BS3_FP64_NORMAL_MIN(1), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0)       } },
+    /*12*/{ { /*src2     */ { FP64_NORM_MIN(1), FP64_0(0), FP64_NORM_MIN(1), FP64_NORM_MIN(0) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_0(0), FP64_NORM_MAX(0), FP64_NORM_MAX(0) } },
+            { /* =>      */ { FP64_0(0),        FP64_0(0), FP64_0(0),        FP64_0(0)        } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0)       } },
+          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(1), FP64_NORM_MIN(0) } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_NORM_MAX(0), FP64_NORM_MAX(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0),        FP64_0(0)        } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0)       } },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_MAX(1) } },
+            { /*src1     */ { FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MAX(0), FP64_NORM_MAX(1) } },
+            { /* =>      */ { FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MAX(0), FP64_0(0)        } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP64_INF(1),        BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_INF(1)        } },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_0(0), FP64_0(0), FP64_NORM_MAX(0) } },
+            { /*src1     */ { FP64_NORM_MAX(1), FP64_0(0), FP64_0(0), FP64_NORM_MAX(1) } },
+            { /* =>      */ { FP64_INF(1),      FP64_0(0), FP64_0(0), FP64_INF(1)      } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_VAL(1, 0, 2),  BS3_FP64_NORMAL_MIN(1) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MIN(1) } },
-            { /* =>      */ { BS3_FP64_INF(1),        BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MIN(0), BS3_FP64_ZERO(0),      } },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_V(1, 0, 2),  FP64_NORM_MIN(1) } },
+            { /*src1     */ { FP64_NORM_MAX(1), FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_NORM_MIN(1) } },
+            { /* =>      */ { FP64_INF(1),      FP64_NORM_MAX(0), FP64_NORM_MIN(0), FP64_0(0)        } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_VAL(1, 0, 2),  BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_VAL(1, 0, 2)  } },
-            { /*src1     */ { BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MIN(1) } },
-            { /* =>      */ { BS3_FP64_NORMAL_MIN(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MIN(0) } },
+          { { /*src2     */ { FP64_V(1, 0, 2),  FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_V(1, 0, 2)  } },
+            { /*src1     */ { FP64_NORM_MIN(1), FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MIN(1) } },
+            { /* =>      */ { FP64_NORM_MIN(0), FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MIN(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MIN(0), BS3_FP64_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_MIN(0), BS3_FP64_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),       BS3_FP64_NORMAL_MAX(1) } },
+          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(0), FP64_NORM_MAX(0) } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(0), FP64_NORM_MAX(1) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0),        FP64_NORM_MAX(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MIN(0), BS3_FP64_NORMAL_MIN(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0)       } },
+          { { /*src2     */ { FP64_NORM_MIN(0), FP64_NORM_MIN(0), FP64_NORM_MIN(1), FP64_NORM_MIN(0) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_MAX(0) } },
+            { /* =>      */ { FP64_0(0),        FP64_0(0),        FP64_0(0),        FP64_0(0)        } },
               /*mask     */ ~(X86_MXCSR_OM | X86_MXCSR_PM),
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_SAFE_INT_MAX(1), BS3_FP64_NORMAL_SAFE_INT_MAX(1) } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_SAFE_INT_MAX(1), BS3_FP64_NORMAL_SAFE_INT_MAX(1) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),                BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0),                BS3_FP64_ZERO(0)                } },
+          { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MAX(1), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } },
+            { /* =>      */ { FP64_0(0),                 FP64_0(0),        FP64_0(0),                 FP64_0(0)                 } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
@@ -2918,43 +2900,43 @@
      * Normals.
      */
-    /*21*/{ { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_VAL_1(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_VAL_1(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_VAL_1(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_VAL_1(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0),        } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, 0,               0x409)/*1024*/, BS3_FP64_VAL(0, 0xb800000000000, 0x404)/*55*/, BS3_FP64_VAL(1, 0xc000000000000, 0x401)/* 7*/, BS3_FP64_VAL(0, 0x8000000000000, 0x409)/*1536*/ } },
-            { /*src1     */ { BS3_FP64_VAL(0, 0x8000000000000, 0x409)/*1536*/, BS3_FP64_VAL(1, 0xc000000000000, 0x401)/* 7*/, BS3_FP64_VAL(0, 0xb800000000000, 0x404)/*55*/, BS3_FP64_VAL(0, 0,               0x409)/*1024*/ } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0,               0x408)/* 512*/, BS3_FP64_VAL(1, 0xf000000000000, 0x404)/*62*/, BS3_FP64_VAL(0, 0xf000000000000, 0x404)/*62*/, BS3_FP64_VAL(1, 0,               0x408)/* 512*/ } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, 0x26580b4800000, 0x41d)/*1234567890*/, BS3_FP64_VAL(0, 0x9000000000000, 0x405)/*      100*/, BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
-            { /*src1     */ { BS3_FP64_VAL(0, 0x26580b4800000, 0x41d)/*1234567890*/, BS3_FP64_VAL(0, 0xd6f3458800000, 0x41c)/*987654321*/, BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0xcf00348ec5858, 0x432)/*4072598123457580.0*/ } },
-            { /* =>      */ { BS3_FP64_ZERO(0),                                      BS3_FP64_VAL(0, 0xd6f3426800000, 0x41c)/*987654221*/, BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP64_ONE(0),                                                              BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ONE(0),                                                              BS3_FP64_VAL(1, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+    /*21*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_V1(1), FP64_NORM_MAX(1), FP64_NORM_V1(0) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_NORM_V1(1), FP64_NORM_MAX(1), FP64_NORM_V1(0) } },
+            { /* =>      */ { FP64_0(0),        FP64_0(0),       FP64_0(0),        FP64_0(0)       } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_V(0, 0,               0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(1, 0xc000000000000, 0x401)/* 7*/, FP64_V(0, 0x8000000000000, 0x409)/*1536*/ } },
+            { /*src1     */ { FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(1, 0xc000000000000, 0x401)/* 7*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(0, 0,               0x409)/*1024*/ } },
+            { /* =>      */ { FP64_V(0, 0,               0x408)/* 512*/, FP64_V(1, 0xf000000000000, 0x404)/*62*/, FP64_V(0, 0xf000000000000, 0x404)/*62*/, FP64_V(1, 0,               0x408)/* 512*/ } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/*1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/*      100*/, FP64_0(0), FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
+            { /*src1     */ { FP64_V(0, 0x26580b4800000, 0x41d)/*1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_0(0), FP64_V(0, 0xcf00348ec5858, 0x432)/*4072598123457580.0*/ } },
+            { /* =>      */ { FP64_0(0),                                       FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_0(0), FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(0),                                FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                                FP64_1(0),                                                FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_1(0),                                                FP64_V(1, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_0(0), FP64_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_ONE(0),                                                              BS3_FP64_ONE(1),                                                              BS3_FP64_ONE(1),                                                              BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                             } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_ONE(0),                                                             } },
-            { /* =>      */ { BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP64_VAL(1, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX) } },
+          { { /*src2     */ { FP64_1(0),                                                FP64_1(1),                                                FP64_1(1),                                                FP64_NORM_SAFE_INT_MAX(0)                                } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                                FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_1(0)                                                } },
+            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(0),                                FP64_NORM_SAFE_INT_MAX(0),                                FP64_V(1, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(1), BS3_FP64_ZERO(0),                BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_NORMAL_SAFE_INT_MIN(1) } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(1), BS3_FP64_NORMAL_SAFE_INT_MIN(1), BS3_FP64_ZERO(0),                BS3_FP64_NORMAL_SAFE_INT_MIN(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),                BS3_FP64_NORMAL_SAFE_INT_MIN(1), BS3_FP64_NORMAL_SAFE_INT_MIN(1), BS3_FP64_VAL(0, 0, 2)           } },
+          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(0) } },
+            { /* =>      */ { FP64_0(0),                 FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_V(0, 0, 2)           } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_NORMAL_SAFE_INT_MIN(0) } },
-            { /*src1     */ { BS3_FP64_VAL(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_NORMAL_SAFE_INT_MIN(1) } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_VAL(1, 0, 2) } },
+          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_0(0), FP64_0(1), FP64_NORM_SAFE_INT_MIN(0) } },
+            { /*src1     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_0(0), FP64_0(1), FP64_NORM_SAFE_INT_MIN(1) } },
+            { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_0(1), FP64_0(1), FP64_V(1, 0, 2) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -2963,19 +2945,19 @@
      * Denormals.
      */
-    /*28*/{ { /*src2     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+    /*28*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0),          FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
+          { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0),          FP64_0(0), FP64_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0)         } },
+          { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -3041,37 +3023,37 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+    /* 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
+          { { /*src2     */ { FP32_0(1), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_0(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V3(1), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /* =>      */ { FP32_0(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V3(1), FP32_RAND_V5(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -3080,37 +3062,37 @@
      * Infinity.
      */
-    /* 6*/{ { /*src2     */ { BS3_FP32_INF(0),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 6*/{ { /*src2     */ { FP32_INF(0),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_INF(1),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_INF(1),  FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_7(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_INF(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(1),  BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_INF(1),  BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_QNAN(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
+          { { /*src2     */ { FP32_INF(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_INF(1),  FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_INF(1),  FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_QNAN(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
-          { { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_INF(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_INF(1), FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_INF(1), FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_INF(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1) } },
-            { /* =>      */ { BS3_FP32_INF(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1) } },
+          { { /*src2     */ { FP32_INF(1), FP32_0(0), FP32_0(0), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_INF(0), FP32_0(1), FP32_0(1), FP32_RAND_V3(1), FP32_RAND_V1(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V5(1) } },
+            { /* =>      */ { FP32_INF(0), FP32_0(1), FP32_0(1), FP32_RAND_V3(1), FP32_RAND_V1(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V5(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -3119,55 +3101,55 @@
      * Overflow, Precision.
      */
-    /*12*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0)       } },
+    /*12*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MIN(1), FP32_0(0), FP32_NORM_MIN(1), FP32_NORM_MIN(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0),        FP32_0(0), FP32_0(0),        FP32_0(0)        } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)       } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_0(0)        } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(1) } },
-            { /* =>      */ { BS3_FP32_INF(1),        BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1)        } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(1) } },
+            { /* =>      */ { FP32_INF(1),      FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1)      } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_INF(1),        BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_INF(1),      FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_MIN(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_MIN(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0),       FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~(X86_MXCSR_OM | X86_MXCSR_PM),
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),                BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0),                 FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(1),                BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_0(1),                 FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
@@ -3176,55 +3158,55 @@
      * Normals.
      */
-    /*18*/{ { /*src2     */ { BS3_FP32_VAL(0, 0x600000, 0x7f)/*1.75*/, BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0,        0x7d)/*0.25*/, BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1) } },
-            { /* =>      */ { BS3_FP32_VAL(1, 0x400000, 0x7f)/*1.50*/, BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1) } },
+    /*18*/{ { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/*1.75*/, FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_V(0, 0,        0x7d)/*0.25*/, FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V0(0), FP32_RAND_V5(1) } },
+            { /* =>      */ { FP32_V(1, 0x400000, 0x7f)/*1.50*/, FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V4(1), FP32_RAND_V0(0), FP32_RAND_V5(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(1),       BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(1), FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
+            { /*src1     */ { FP32_NORM_MAX(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(1),        FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x5ca5b8, 0x93)/*1807543*/, BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x669050, 0x93)/*1888778*/, BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x1ea980, 0x8f)/*  81235*/, BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x2514d6, 0x93)/*1352346.75*/, BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x253468, 0x93)/*1353357.00*/, BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x7c9000, 0x88)/*   1010.25*/, BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x712060, 0x92)/*  987654*/, BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x74429f, 0x97)/*32015678*/, BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x6cb99c, 0x97)/*31028024*/, BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ONE(0),                                                              BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_V(0, 0x669050, 0x93)/*1888778*/, FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_V(0, 0x1ea980, 0x8f)/*  81235*/, FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x2514d6, 0x93)/*1352346.75*/, FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_V(0, 0x253468, 0x93)/*1353357.00*/, FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_V(0, 0x7c9000, 0x88)/*   1010.25*/, FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x712060, 0x92)/*  987654*/, FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_V(0, 0x74429f, 0x97)/*32015678*/, FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_V(0, 0x6cb99c, 0x97)/*31028024*/, FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_1(0),                                                FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ONE(0),                                                              BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),                                              BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_1(0),                                                FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0),                                FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(1, 0x600000, 0x7e)/*      -0.875*/,  BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x769b50, 0x92)/* 1010101.000*/, BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x769b5e, 0x92)/* 1010101.875*/, BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_V(1, 0x600000, 0x7e)/*      -0.875*/, FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V7(1), FP32_RAND_V0(0), FP32_RAND_V6(1), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP32_V(0, 0x769b50, 0x92)/* 1010101.000*/, FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_V(0, 0x769b5e, 0x92)/* 1010101.875*/, FP32_RAND_V2(0), FP32_RAND_V6(1), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V7(1), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_7(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),                BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_7(1) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_RAND_V3(1), FP32_RAND_V1(0), FP32_RAND_V0(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V7(1) } },
+            { /* =>      */ { FP32_0(0),                 FP32_RAND_V3(1), FP32_RAND_V1(0), FP32_RAND_V0(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V7(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -3233,19 +3215,19 @@
      * Denormals.
      */
-    /*27*/{ { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_4(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_0(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_0(0) } },
+    /*27*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V5(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V4(0) } },
+            { /*src1     */ { FP32_0(0),          FP32_RAND_V5(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V0(0) } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V5(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V0(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_7(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_7(1) } },
+          { { /*src2     */ { FP32_0(0),          FP32_RAND_V1(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V7(1) } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V7(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_7(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_6(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_6(1) } },
+          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V7(0) } },
+            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V6(1) } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V6(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -3299,43 +3281,43 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-           { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 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) } },
+           { /*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) } },
+           { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-           { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(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) } },
+           { /*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) } },
+           { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-           { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+         { { /*src2     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
+           { /*src1     */ { FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1) } },
+           { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-           { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+         { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
+           { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1) } },
+           { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
-           { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
-           { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
+         { { /*src2     */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1) } },
+           { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(1) } },
+           { /* =>      */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(0) } },
              /*mask     */ X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP32_NORMAL_VAL_0(0), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_ZERO(0),         BS3_FP32_NORMAL_VAL_3(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_NORMAL_VAL_4(0), BS3_FP32_NORMAL_VAL_3(0) } },
-           { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_NORMAL_VAL_2(1), BS3_FP32_ZERO(1),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(1),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(1)         } },
-           { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_ZERO(1),         BS3_FP32_ZERO(1),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(1)         } },
+         { { /*src2     */ { FP32_NORM_V0(0), FP32_NORM_V1(1), FP32_0(0),       FP32_NORM_V3(1), FP32_0(0), FP32_NORM_V1(1), FP32_NORM_V4(0), FP32_NORM_V3(0) } },
+           { /*src1     */ { FP32_0(0),       FP32_0(0),       FP32_NORM_V2(1), FP32_0(1),       FP32_0(0), FP32_0(1),       FP32_0(0),       FP32_0(1)       } },
+           { /* =>      */ { FP32_0(0),       FP32_0(1),       FP32_0(1),       FP32_0(0),       FP32_0(0), FP32_0(0),       FP32_0(0),       FP32_0(1)       } },
              /*mask     */ X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -3344,31 +3326,31 @@
      * Infinity.
      */
-    /* 7*/{ { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 7*/{ { /*src2     */ { FP32_INF(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_INF(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_INF(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0), FP32_0(1), FP32_0(1), FP32_0(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1), FP32_0(1), FP32_0(1), FP32_0(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0)  } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1)  } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0)  } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1)  } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_INF(1), BS3_FP32_ZERO(1), BS3_FP32_INF(1), BS3_FP32_INF(1), BS3_FP32_INF(0) } },
-            { /*src1     */ { BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_ZERO(1), BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0), BS3_FP32_INF(0), BS3_FP32_INF(1) } },
-            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_INF(1), BS3_FP32_ZERO(1), BS3_FP32_INF(1), BS3_FP32_ZERO(1), BS3_FP32_INF(1), BS3_FP32_INF(1), BS3_FP32_INF(1) } },
+          { { /*src2     */ { FP32_INF(0), FP32_INF(1), FP32_0(0), FP32_INF(1), FP32_0(1), FP32_INF(1), FP32_INF(1), FP32_INF(0) } },
+            { /*src1     */ { FP32_INF(1), FP32_INF(0), FP32_0(1), FP32_INF(0), FP32_0(0), FP32_INF(0), FP32_INF(0), FP32_INF(1) } },
+            { /* =>      */ { FP32_INF(1), FP32_INF(1), FP32_0(1), FP32_INF(1), FP32_0(1), FP32_INF(1), FP32_INF(1), FP32_INF(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -3377,31 +3359,31 @@
      * Normals.
      */
-    /*12*/{ { /*src2     */ { BS3_FP32_VAL(0, 0x600000, 0x7f)/*1.7500*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0, 0x7d)/*0.250*/, BS3_FP32_VAL(0, 0x600000, 0x7f)/* 1.7500*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0, 0x7d)/*0.250*/ } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0,        0x7d)/*0.2500*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0, 0x7e)/*0.500*/, BS3_FP32_VAL(1, 0,        0x7d)/*-0.2500*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0, 0x7e)/*0.500*/ } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x600000, 0x7d)/*0.4375*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0, 0x7c)/*0.125*/, BS3_FP32_VAL(1, 0x600000, 0x7d)/*-0.4375*/, BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_VAL(0, 0, 0x7c)/*0.125*/ } },
+    /*12*/{ { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/*1.7500*/, FP32_0(0), FP32_0(0), FP32_V(0, 0, 0x7d)/*0.250*/, FP32_V(0, 0x600000, 0x7f)/* 1.7500*/, FP32_0(0), FP32_0(0), FP32_V(0, 0, 0x7d)/*0.250*/ } },
+            { /*src1     */ { FP32_V(0, 0,        0x7d)/*0.2500*/, FP32_0(0), FP32_0(0), FP32_V(0, 0, 0x7e)/*0.500*/, FP32_V(1, 0,        0x7d)/*-0.2500*/, FP32_0(0), FP32_0(0), FP32_V(0, 0, 0x7e)/*0.500*/ } },
+            { /* =>      */ { FP32_V(0, 0x600000, 0x7d)/*0.4375*/, FP32_0(0), FP32_0(0), FP32_V(0, 0, 0x7c)/*0.125*/, FP32_V(1, 0x600000, 0x7d)/*-0.4375*/, FP32_0(0), FP32_0(0), FP32_V(0, 0, 0x7c)/*0.125*/ } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_ZERO(0),         BS3_FP32_ONE(0),          BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_NORMAL_VAL_2(0), BS3_FP32_ZERO(0)         } },
-            { /*src1     */ { BS3_FP32_ONE(1),        BS3_FP32_ONE(0),          BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_NORMAL_VAL_3(0), BS3_FP32_ONE(0),        BS3_FP32_ONE(0),          BS3_FP32_ONE(0),          BS3_FP32_NORMAL_VAL_3(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_ZERO(1),         BS3_FP32_NORMAL_VAL_3(0), BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_NORMAL_VAL_2(0), BS3_FP32_ZERO(0)         } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x61e000, 0x89)/*   1807*/, BS3_FP32_VAL(0, 0x4a30b8, 0x8f)/* 103521.4375*/, BS3_FP32_VAL(0, 0x1a5200, 0x8c)/*     9876.5*/, BS3_FP32_VAL(0, 0x0ba000, 0x86)/*  139.625000*/, BS3_FP32_VAL(0, 0x200000, 0x7e)/*0.625000*/, BS3_FP32_VAL(0, 0x22fae4, 0x93)/*1335132.50*/, BS3_FP32_VAL(0, 0x23b6a0, 0x8e)/*41910.625000*/, BS3_FP32_VAL(0, 0x3d400, 0x86)/*131.828125*/  } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x504000, 0x8a)/*   3332*/, BS3_FP32_VAL(0, 0x600000, 0x82)/*     14.0000*/, BS3_FP32_VAL(1, 0x1a4000, 0x89)/*    -1234.0*/, BS3_FP32_VAL(0, 0x265000, 0x87)/*  332.625000*/, BS3_FP32_VAL(0, 0,        0x7c)/*0.125000*/, BS3_FP32_VAL(0, 0x200000, 0x80)/*      2.50*/, BS3_FP32_VAL(0, 0,        0x7c)/*    0.125000*/, BS3_FP32_ONE(1)               /* -1.000000*/  } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x37be78, 0x95)/*6020924*/, BS3_FP32_VAL(0, 0x30eaa1, 0x93)/*1449300.1250*/, BS3_FP32_VAL(1, 0x39f7d1, 0x96)/*-12187601.0*/, BS3_FP32_VAL(0, 0x356ac4, 0x8e)/*46442.765625*/, BS3_FP32_VAL(0, 0x200000, 0x7b)/*0.078125*/, BS3_FP32_VAL(0, 0x4bb99d, 0x94)/*3337831.25*/, BS3_FP32_VAL(0, 0x23b6a0, 0x8b)/* 5238.828125*/, BS3_FP32_VAL(1, 0x3d400, 0x86)/*-131.828125*/ } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_ONE(1), BS3_FP32_ONE(1), BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_ONE(0), BS3_FP32_ONE(0) } },
-            { /*src1     */ { BS3_FP32_ONE(0),                 BS3_FP32_ONE(1),                 BS3_FP32_ONE(1), BS3_FP32_ONE(0), BS3_FP32_ONE(0),                                                              BS3_FP32_ONE(1),                 BS3_FP32_ONE(0), BS3_FP32_ONE(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_ONE(0), BS3_FP32_ONE(1), BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_ONE(0), BS3_FP32_ONE(0) } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_V1(1), FP32_0(0),       FP32_1(0),       FP32_NORM_MIN(0), FP32_NORM_V1(0), FP32_NORM_V2(0), FP32_0(0)       } },
+            { /*src1     */ { FP32_1(1),        FP32_1(0),       FP32_NORM_V1(1), FP32_NORM_V3(0), FP32_1(0),        FP32_1(0),       FP32_1(0),       FP32_NORM_V3(0) } },
+            { /* =>      */ { FP32_NORM_MAX(1), FP32_NORM_V1(1), FP32_0(1),       FP32_NORM_V3(0), FP32_NORM_MIN(0), FP32_NORM_V1(0), FP32_NORM_V2(0), FP32_0(0)       } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x61e000, 0x89)/*   1807*/, FP32_V(0, 0x4a30b8, 0x8f)/* 103521.4375*/, FP32_V(0, 0x1a5200, 0x8c)/*     9876.5*/, FP32_V(0, 0x0ba000, 0x86)/*  139.625000*/, FP32_V(0, 0x200000, 0x7e)/*0.625000*/, FP32_V(0, 0x22fae4, 0x93)/*1335132.50*/, FP32_V(0, 0x23b6a0, 0x8e)/*41910.625000*/, FP32_V(0, 0x3d400, 0x86)/*131.828125*/  } },
+            { /*src1     */ { FP32_V(0, 0x504000, 0x8a)/*   3332*/, FP32_V(0, 0x600000, 0x82)/*     14.0000*/, FP32_V(1, 0x1a4000, 0x89)/*    -1234.0*/, FP32_V(0, 0x265000, 0x87)/*  332.625000*/, FP32_V(0, 0,        0x7c)/*0.125000*/, FP32_V(0, 0x200000, 0x80)/*      2.50*/, FP32_V(0, 0,        0x7c)/*    0.125000*/, FP32_1(1)               /* -1.000000*/  } },
+            { /* =>      */ { FP32_V(0, 0x37be78, 0x95)/*6020924*/, FP32_V(0, 0x30eaa1, 0x93)/*1449300.1250*/, FP32_V(1, 0x39f7d1, 0x96)/*-12187601.0*/, FP32_V(0, 0x356ac4, 0x8e)/*46442.765625*/, FP32_V(0, 0x200000, 0x7b)/*0.078125*/, FP32_V(0, 0x4bb99d, 0x94)/*3337831.25*/, FP32_V(0, 0x23b6a0, 0x8b)/* 5238.828125*/, FP32_V(1, 0x3d400, 0x86)/*-131.828125*/ } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(0), FP32_1(1), FP32_1(1), FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_NORM_SAFE_INT_MAX(0), FP32_1(0), FP32_1(0) } },
+            { /*src1     */ { FP32_1(0),                 FP32_1(1),                 FP32_1(1), FP32_1(0), FP32_1(0),                                                FP32_1(1),                 FP32_1(0), FP32_1(0) } },
+            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(1), FP32_1(0), FP32_1(1), FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_NORM_SAFE_INT_MAX(1), FP32_1(0), FP32_1(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ONE(0),                 BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ONE(1),                 BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ONE(0),                 BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_VAL(0, 0, 2) } },
-            { /*src1     */ { BS3_FP32_ONE(0),                 BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_ONE(0)       } },
-            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(0),                BS3_FP32_NORMAL_SAFE_INT_MIN(0), BS3_FP32_ZERO(1),                BS3_FP32_NORMAL_SAFE_INT_MIN(1), BS3_FP32_ZERO(0),                BS3_FP32_VAL(0, 0, 2) } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_1(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_1(1),                 FP32_NORM_SAFE_INT_MIN(1), FP32_1(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_V(0, 0, 2) } },
+            { /*src1     */ { FP32_1(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_1(0)       } },
+            { /* =>      */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_SAFE_INT_MIN(0), FP32_0(0),                 FP32_NORM_SAFE_INT_MIN(0), FP32_0(1),                 FP32_NORM_SAFE_INT_MIN(1), FP32_0(0),                 FP32_V(0, 0, 2) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -3411,25 +3393,25 @@
      * Denormals.
      */
-    /*17*/{ { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(1),       } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(0) } },
+    /*17*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V5(0), FP32_1(1),       FP32_RAND_V0(1), FP32_RAND_V5(0), FP32_1(1),       FP32_RAND_V0(1), FP32_RAND_V5(1) } },
+            { /*src1     */ { FP32_0(0),          FP32_1(0),       FP32_RAND_V3(1), FP32_1(1),       FP32_1(0),       FP32_RAND_V3(1), FP32_1(1),       FP32_1(1),      } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V5(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(1),       } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(0) } },
+          { { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V5(0), FP32_1(1),       FP32_RAND_V0(1), FP32_RAND_V5(0), FP32_1(1),       FP32_RAND_V0(1), FP32_RAND_V5(1) } },
+            { /*src1     */ { FP32_0(0),          FP32_1(0),       FP32_RAND_V3(1), FP32_1(1),       FP32_1(0),       FP32_RAND_V3(1), FP32_1(1),       FP32_1(1)       } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V5(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0),         BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ONE(0)          } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MIN(1), BS3_FP32_ONE(0),          BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_ONE(0),          BS3_FP32_ONE(0),          BS3_FP32_DENORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(1),         BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
+          { { /*src2     */ { FP32_0(0),          FP32_DENORM_MIN(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_1(0)          } },
+            { /*src1     */ { FP32_DENORM_MIN(1), FP32_1(0),          FP32_1(0),       FP32_1(0),       FP32_1(0),       FP32_1(0),          FP32_1(0),          FP32_DENORM_MAX(0) } },
+            { /* =>      */ { FP32_0(1),          FP32_0(0),          FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_0(0),          FP32_0(0),          FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_DENORMAL_MAX(1), BS3_FP32_DENORMAL_MAX(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_0(0),   BS3_FP32_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ONE(0),        BS3_FP32_DENORMAL_MIN(1), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_4(0)   } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_4(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(1),         BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
+          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_RAND_V4(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V0(0),    FP32_DENORM_MAX(0) } },
+            { /*src1     */ { FP32_DENORM_MAX(0), FP32_1(0),       FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_1(0),       FP32_1(0),       FP32_DENORM_MIN(0), FP32_RAND_V4(0)    } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V4(0), FP32_0(0),          FP32_0(1),          FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_0(0),          FP32_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -3439,37 +3421,37 @@
      * Overflow, Precision.
      */
-    /*21*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_VAL_7(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ONE(0),          BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_INF(0),        BS3_FP32_NORMAL_VAL_7(0), BS3_FP32_INF(0),        BS3_FP32_INF(0),       } },
+    /*21*/{ { /*src2     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_NORM_V7(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_NORM_MAX(0), FP32_1(0),       FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_INF(0),      FP32_NORM_V7(0), FP32_INF(0),      FP32_INF(0)      } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_VAL_5(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ONE(0),        BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ONE(0),          BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ONE(0),        BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_VAL_6(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_VAL_5(0), BS3_FP32_INF(0),        BS3_FP32_INF(0),        BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_VAL_6(0), BS3_FP32_ZERO(0) } },
+          { { /*src2     */ { FP32_NORM_V5(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_1(0),       FP32_0(0) } },
+            { /*src1     */ { FP32_1(0),       FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_1(0),        FP32_0(0), FP32_0(0), FP32_NORM_V6(0), FP32_0(0) } },
+            { /* =>      */ { FP32_NORM_V5(0), FP32_INF(0),      FP32_INF(0),      FP32_NORM_MAX(0), FP32_0(0), FP32_0(0), FP32_NORM_V6(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ONE(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_VAL_7(0), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ONE(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MIN(1), BS3_FP32_ONE(0),          BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_INF(0),        BS3_FP32_ZERO(0),       BS3_FP32_ONE(0), BS3_FP32_INF(0),        BS3_FP32_INF(1),        BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_VAL_7(0), BS3_FP32_INF(0)        } },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_1(0), FP32_NORM_MAX(1), FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_NORM_V7(0), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_NORM_MAX(0), FP32_NORM_MIN(1), FP32_1(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MIN(1), FP32_1(0),       FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_INF(0),      FP32_0(0),        FP32_1(0), FP32_INF(0),      FP32_INF(1),      FP32_0(0),        FP32_NORM_V7(0), FP32_INF(0)      } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_UE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_UE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_VAL_5(0), BS3_FP32_ONE(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MIN(0) } },
-            { /*src1     */ { BS3_FP32_NORMAL_MIN(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ONE(0),          BS3_FP32_ONE(1), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),       BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_VAL_5(0), BS3_FP32_ONE(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0)       } },
+          { { /*src2     */ { FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_V5(0), FP32_1(1), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MIN(0) } },
+            { /*src1     */ { FP32_NORM_MIN(1), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_1(0),       FP32_1(1), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MIN(0) } },
+            { /* =>      */ { FP32_0(0),        FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_V5(0), FP32_1(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_0(0)        } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_UE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_UE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_VAL_6(0), BS3_FP32_ONE(1),          BS3_FP32_ZERO(0), BS3_FP32_ONE(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_ONE(0),          BS3_FP32_NORMAL_VAL_6(1), BS3_FP32_ONE(0),  BS3_FP32_ONE(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(1), BS3_FP32_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_VAL_6(0), BS3_FP32_NORMAL_VAL_6(0), BS3_FP32_ZERO(0), BS3_FP32_ONE(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_MAX(0) } },
+          { { /*src2     */ { FP32_NORM_V6(0), FP32_1(1),       FP32_0(0), FP32_1(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /*src1     */ { FP32_1(0),       FP32_NORM_V6(1), FP32_1(0), FP32_1(0), FP32_NORM_MAX(0), FP32_NORM_MAX(1), FP32_NORM_MAX(1), FP32_NORM_MAX(0) } },
+            { /* =>      */ { FP32_NORM_V6(0), FP32_NORM_V6(0), FP32_0(0), FP32_1(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0), FP32_NORM_MAX(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MIN(0),  BS3_FP32_NORMAL_MAX(0), BS3_FP32_ONE(0),  BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_NORMAL_SAFE_INT_MIN(0),  BS3_FP32_NORMAL_MAX(0), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1) } },
-            { /*src1     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0),  BS3_FP32_NORMAL_MAX(1), BS3_FP32_ONE(0),  BS3_FP32_NORMAL_SAFE_INT_MAX(1), BS3_FP32_NORMAL_SAFE_INT_MAX(0),  BS3_FP32_NORMAL_MAX(1), BS3_FP32_ZERO(0), BS3_FP32_NORMAL_SAFE_INT_MAX(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0),                 BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0),                BS3_FP32_ZERO(0),                 BS3_FP32_ZERO(0),       BS3_FP32_ZERO(0), BS3_FP32_ZERO(0)                } },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(0), FP32_1(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MIN(0), FP32_NORM_MAX(0), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
+            { /*src1     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MAX(1), FP32_1(0), FP32_NORM_SAFE_INT_MAX(1), FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_MAX(1), FP32_0(0), FP32_NORM_SAFE_INT_MAX(1) } },
+            { /* =>      */ { FP32_0(0),                 FP32_0(0),        FP32_0(0), FP32_0(0),                 FP32_0(0),                 FP32_0(0),        FP32_0(0), FP32_0(0)                 } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
@@ -3535,43 +3517,43 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
-           { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
+    /* 0*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+         { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
-           { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
+         { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
-           { /*src1     */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
+         { { /*src2     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /*src1     */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
+           { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), } },
-           { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), } },
+         { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(0) } },
+           { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(0) } },
+           { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
              /*mask     */ ~X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), } },
-           { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), } },
-           { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), } },
+         { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } },
+           { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(1) } },
+           { /* =>      */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(0) } },
              /*mask     */ X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
              /*flags    */ 0, 0 },
-         { { /*src2     */ { BS3_FP64_NORMAL_VAL_0(0), BS3_FP64_NORMAL_VAL_1(1), BS3_FP64_ZERO(0),         BS3_FP64_NORMAL_VAL_3(1) } },
-           { /*src1     */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_NORMAL_VAL_2(1), BS3_FP64_ZERO(1),        } },
-           { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(1),         BS3_FP64_ZERO(1),         BS3_FP64_ZERO(0),        } },
+         { { /*src2     */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_0(0),       FP64_NORM_V3(1) } },
+           { /*src1     */ { FP64_0(0),       FP64_0(0),       FP64_NORM_V2(1), FP64_0(1)       } },
+           { /* =>      */ { FP64_0(0),       FP64_0(1),       FP64_0(1),       FP64_0(0)       } },
              /*mask     */ X86_MXCSR_XCPT_MASK,
              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -3580,37 +3562,37 @@
      * Infinity.
      */
-    /* 7*/{ { /*src2     */ { BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_INF(1), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0) } },
-            { /* =>      */ { BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_INF(1), BS3_FP64_ZERO(0) } },
+    /* 7*/{ { /*src2     */ { FP64_INF(0), FP64_0(0), FP64_INF(1), FP64_0(0) } },
+            { /*src1     */ { FP64_INF(1), FP64_0(0), FP64_INF(0), FP64_0(0) } },
+            { /* =>      */ { FP64_INF(1), FP64_0(0), FP64_INF(1), FP64_0(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_INF(0), BS3_FP64_INF(0), BS3_FP64_INF(1), BS3_FP64_INF(1) } },
-            { /*src1     */ { BS3_FP64_INF(1), BS3_FP64_INF(0), BS3_FP64_INF(1), BS3_FP64_INF(0) } },
-            { /* =>      */ { BS3_FP64_INF(1), BS3_FP64_INF(0), BS3_FP64_INF(0), BS3_FP64_INF(1) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_INF(0), BS3_FP64_INF(1), BS3_FP64_ZERO(1), BS3_FP64_INF(0) } },
-            { /*src1     */ { BS3_FP64_INF(1), BS3_FP64_INF(0), BS3_FP64_ZERO(1), BS3_FP64_INF(0) } },
-            { /* =>      */ { BS3_FP64_INF(1), BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_INF(0) } },
+          { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
+            { /*src1     */ { FP64_INF(1), FP64_INF(0), FP64_INF(1), FP64_INF(0) } },
+            { /* =>      */ { FP64_INF(1), FP64_INF(0), FP64_INF(0), FP64_INF(1) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_INF(0), FP64_INF(1), FP64_0(1), FP64_INF(0) } },
+            { /*src1     */ { FP64_INF(1), FP64_INF(0), FP64_0(1), FP64_INF(0) } },
+            { /* =>      */ { FP64_INF(1), FP64_INF(1), FP64_0(0), FP64_INF(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_INF(0), BS3_FP64_INF(1), BS3_FP64_ZERO(1), BS3_FP64_INF(0) } },
-            { /*src1     */ { BS3_FP64_INF(1), BS3_FP64_INF(0), BS3_FP64_ZERO(1), BS3_FP64_INF(0) } },
-            { /* =>      */ { BS3_FP64_INF(1), BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_INF(0) } },
+          { { /*src2     */ { FP64_INF(0), FP64_INF(1), FP64_0(1), FP64_INF(0) } },
+            { /*src1     */ { FP64_INF(1), FP64_INF(0), FP64_0(1), FP64_INF(0) } },
+            { /* =>      */ { FP64_INF(1), FP64_INF(1), FP64_0(0), FP64_INF(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_INF(0), BS3_FP64_INF(0),          BS3_FP64_ONE(0), BS3_FP64_INF(0)          } },
-            { /*src1     */ { BS3_FP64_ONE(0), BS3_FP64_NORMAL_VAL_0(0), BS3_FP64_INF(0), BS3_FP64_NORMAL_VAL_1(0) } },
-            { /* =>      */ { BS3_FP64_INF(0), BS3_FP64_INF(0),          BS3_FP64_INF(0), BS3_FP64_INF(0)          } },
+          { { /*src2     */ { FP64_INF(0), FP64_INF(0),     FP64_1(0),   FP64_INF(0)     } },
+            { /*src1     */ { FP64_1(0),   FP64_NORM_V0(0), FP64_INF(0), FP64_NORM_V1(0) } },
+            { /* =>      */ { FP64_INF(0), FP64_INF(0),     FP64_INF(0), FP64_INF(0)     } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_INF(1), BS3_FP64_INF(0),          BS3_FP64_NORMAL_VAL_3(0), BS3_FP64_INF(1)          } },
-            { /*src1     */ { BS3_FP64_ONE(1), BS3_FP64_NORMAL_VAL_3(1), BS3_FP64_INF(1),          BS3_FP64_NORMAL_VAL_1(1) } },
-            { /* =>      */ { BS3_FP64_INF(0), BS3_FP64_INF(1),          BS3_FP64_INF(1),          BS3_FP64_INF(0)          } },
+          { { /*src2     */ { FP64_INF(1), FP64_INF(0),     FP64_NORM_V3(0), FP64_INF(1)     } },
+            { /*src1     */ { FP64_1(1),   FP64_NORM_V3(1), FP64_INF(1),     FP64_NORM_V1(1) } },
+            { /* =>      */ { FP64_INF(0), FP64_INF(1),     FP64_INF(1),     FP64_INF(0)     } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
@@ -3619,31 +3601,31 @@
      * Normals.
      */
-    /*13*/{ { /*src2     */ { BS3_FP64_VAL(0, 0xe66f500000000, 0x40d)/*31131.828125*/, BS3_FP64_VAL(0, 0xaf00000000000, 0x406)/*      215.50*/, BS3_FP64_VAL(1, 0x107526e749f80, 0x42b)/*-18723145413791.50*/, BS3_FP64_VAL(0, 0x6fee0e4bd0000, 0x420)/* 12345678999.62500*/ } },
-            { /*src1     */ { BS3_FP64_ONE(0),                                         BS3_FP64_VAL(0, 0x2d69a80000000, 0x413)/*  1234586.50*/, BS3_FP64_VAL(1, 0x4000000000000, 0x400)/*             -2.50*/, BS3_FP64_VAL(0, 0xb800000000000, 0x402)/*          13.75000*/ } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0xe66f500000000, 0x40d)/*31131.828125*/, BS3_FP64_VAL(0, 0xfb74e1d800000, 0x41a)/*266053390.75*/, BS3_FP64_VAL(0, 0x549270a11c760, 0x42c)/* 46807863534478.75*/, BS3_FP64_VAL(0, 0x3c30944926c00, 0x424)/*169753086244.84375*/ } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_VAL_3(1), BS3_FP64_ONE(0),          BS3_FP64_ONE(1)        } },
-            { /*src1     */ { BS3_FP64_ONE(1),        BS3_FP64_ONE(0),          BS3_FP64_NORMAL_VAL_1(0), BS3_FP64_NORMAL_MIN(1) } },
-            { /* =>      */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_VAL_3(1), BS3_FP64_NORMAL_VAL_1(0), BS3_FP64_NORMAL_MIN(0) } },
+    /*13*/{ { /*src2     */ { FP64_V(0, 0xe66f500000000, 0x40d)/*31131.828125*/, FP64_V(0, 0xaf00000000000, 0x406)/*      215.50*/, FP64_V(1, 0x107526e749f80, 0x42b)/*-18723145413791.50*/, FP64_V(0, 0x6fee0e4bd0000, 0x420)/* 12345678999.62500*/ } },
+            { /*src1     */ { FP64_1(0),                                         FP64_V(0, 0x2d69a80000000, 0x413)/*  1234586.50*/, FP64_V(1, 0x4000000000000, 0x400)/*             -2.50*/, FP64_V(0, 0xb800000000000, 0x402)/*          13.75000*/ } },
+            { /* =>      */ { FP64_V(0, 0xe66f500000000, 0x40d)/*31131.828125*/, FP64_V(0, 0xfb74e1d800000, 0x41a)/*266053390.75*/, FP64_V(0, 0x549270a11c760, 0x42c)/* 46807863534478.75*/, FP64_V(0, 0x3c30944926c00, 0x424)/*169753086244.84375*/ } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP64_NORM_MAX(1), FP64_NORM_V3(1), FP64_1(0),       FP64_1(1)        } },
+            { /*src1     */ { FP64_1(1),        FP64_1(0),       FP64_NORM_V1(0), FP64_NORM_MIN(1) } },
+            { /* =>      */ { FP64_NORM_MAX(0), FP64_NORM_V3(1), FP64_NORM_V1(0), FP64_NORM_MIN(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_VAL(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, BS3_FP64_VAL(1, 0x68b83b1ed4000, 0x41e)/*-3025935759.4140625*/, BS3_FP64_VAL(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646*/, BS3_FP64_VAL(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/ } },
-            { /*src1     */ { BS3_FP64_VAL(0, 0x8000000000000, 0x3fe)/*              0.75*/, BS3_FP64_VAL(1, 0,               0x400)/*         -2.0000000*/, BS3_FP64_ONE(0),                                            BS3_FP64_VAL(0, 0x8000000000000, 0x400)/*              3.00*/ } },
-            { /* =>      */ { BS3_FP64_VAL(0, 0x4da20a80c6990, 0x42e)/*183416666481484.50*/, BS3_FP64_VAL(0, 0x68b83b1ed4000, 0x41f)/* 6051871518.8281250*/, BS3_FP64_VAL(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646*/, BS3_FP64_VAL(0, 0x4a6a82b05f744, 0x42f)/*363296296296308.25*/ } },
+          { { /*src2     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_V(1, 0x68b83b1ed4000, 0x41e)/*-3025935759.4140625*/, FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/ } },
+            { /*src1     */ { FP64_V(0, 0x8000000000000, 0x3fe)/*              0.75*/, FP64_V(1, 0,               0x400)/*         -2.0000000*/, FP64_1(0),                                            FP64_V(0, 0x8000000000000, 0x400)/*              3.00*/ } },
+            { /* =>      */ { FP64_V(0, 0x4da20a80c6990, 0x42e)/*183416666481484.50*/, FP64_V(0, 0x68b83b1ed4000, 0x41f)/* 6051871518.8281250*/, FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646*/, FP64_V(0, 0x4a6a82b05f744, 0x42f)/*363296296296308.25*/ } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_ONE(0),                 BS3_FP64_ONE(0),                                                              BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_ONE(0)                 } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0), BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_ONE(0),                 BS3_FP64_NORMAL_SAFE_INT_MIN(1) } },
-            { /* =>      */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0), BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_SAFE_INT_MAX), BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_NORMAL_SAFE_INT_MIN(1) } },
+          { { /*src2     */ { FP64_1(0),                 FP64_1(0),                                                FP64_NORM_SAFE_INT_MIN(0), FP64_1(0)                 } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_1(0),                 FP64_NORM_SAFE_INT_MIN(1) } },
+            { /* =>      */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_NORMAL_VAL_0(0), BS3_FP64_NORMAL_VAL_1(1), BS3_FP64_NORMAL_VAL_2(0), BS3_FP64_NORMAL_VAL_3(1) } },
-            { /*src1     */ { BS3_FP64_ONE(0),          BS3_FP64_ONE(1),          BS3_FP64_ONE(1),          BS3_FP64_ONE(1)          } },
-            { /* =>      */ { BS3_FP64_NORMAL_VAL_0(0), BS3_FP64_NORMAL_VAL_1(0), BS3_FP64_NORMAL_VAL_2(1), BS3_FP64_NORMAL_VAL_3(0) } },
+          { { /*src2     */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_NORM_V2(0), FP64_NORM_V3(1) } },
+            { /*src1     */ { FP64_1(0),       FP64_1(1),       FP64_1(1),       FP64_1(1)       } },
+            { /* =>      */ { FP64_NORM_V0(0), FP64_NORM_V1(0), FP64_NORM_V2(1), FP64_NORM_V3(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN,
@@ -3653,49 +3635,49 @@
      * Denormals.
      */
-    /*18*/{ { /*src2     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ZERO(0),         BS3_FP64_DENORMAL_MIN(0), BS3_FP64_ZERO(0) } },
-            { /*src1     */ { BS3_FP64_ZERO(0),         BS3_FP64_DENORMAL_MIN(0), BS3_FP64_ZERO(0),         BS3_FP64_DENORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0) } },
+    /*18*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MIN(0), FP64_0(0)          } },
+            { /*src1     */ { FP64_0(0),          FP64_DENORM_MIN(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_ZERO(0)         } },
-            { /*src1     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),         BS3_FP64_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0)         } },
+          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_DENORM_MIN(0), FP64_0(0)          } },
+            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(0),          FP64_DENORM_MIN(0) } },
+            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0),          FP64_0(0)          } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ZERO(0),         BS3_FP64_DENORMAL_MIN(0), BS3_FP64_ZERO(0)         } },
-            { /*src1     */ { BS3_FP64_ZERO(0),         BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ZERO(0),         BS3_FP64_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0)         } },
+          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MIN(0), FP64_0(0)          } },
+            { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MIN(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ONE(0),          BS3_FP64_DENORMAL_MIN(0), BS3_FP64_ONE(0)          } },
-            { /*src1     */ { BS3_FP64_ONE(0),          BS3_FP64_DENORMAL_MAX(0), BS3_FP64_ONE(0),          BS3_FP64_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0)         } },
+          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_1(0),          FP64_DENORM_MIN(0), FP64_1(0)          } },
+            { /*src1     */ { FP64_1(0),          FP64_DENORM_MAX(0), FP64_1(0),          FP64_DENORM_MIN(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_DENORMAL_MIN(1), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(1) } },
-            { /*src1     */ { BS3_FP64_DENORMAL_MAX(1), BS3_FP64_DENORMAL_MIN(1), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(1),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(1)         } },
+          { { /*src2     */ { FP64_DENORM_MIN(1), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(1), FP64_DENORM_MIN(1), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(1),          FP64_0(0),          FP64_0(1)         } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP64_ONE(0),          BS3_FP64_NORMAL_VAL_1(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_VAL_0(0), BS3_FP64_ONE(0),          BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MIN(0) } },
-            { /* =>      */ { BS3_FP64_NORMAL_VAL_0(0), BS3_FP64_NORMAL_VAL_1(0), BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0)         } },
+          { { /*src2     */ { FP64_1(0),       FP64_NORM_V1(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
+            { /*src1     */ { FP64_NORM_V0(0), FP64_1(0),       FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } },
+            { /* =>      */ { FP64_NORM_V0(0), FP64_NORM_V1(0), FP64_0(0),          FP64_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(1) } },
-            { /*src1     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(1), BS3_FP64_DENORMAL_MIN(1) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_INF(1),          BS3_FP64_INF(0)          } },
+          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_INF(1),        FP64_INF(0)        } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(1) } },
-            { /*src1     */ { BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(1), BS3_FP64_DENORMAL_MIN(1) } },
-            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(1),         BS3_FP64_ZERO(0)         } },
+          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } },
+            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(1),          FP64_0(0)          } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -3704,43 +3686,43 @@
      * Overflow, Precision.
      */
-    /*26*/{ { /*src2     */ { BS3_FP64_NORMAL_VAL_3(1), BS3_FP64_ONE(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_ONE(0),          BS3_FP64_ONE(0), BS3_FP64_ONE(0),        BS3_FP64_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP64_NORMAL_VAL_3(1), BS3_FP64_ONE(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_INF(0),       } },
+    /*26*/{ { /*src2     */ { FP64_NORM_V3(1), FP64_1(0), FP64_NORM_MAX(0), FP64_NORM_MAX(0) } },
+            { /*src1     */ { FP64_1(0),       FP64_1(0), FP64_1(0),        FP64_NORM_MAX(0) } },
+            { /* =>      */ { FP64_NORM_V3(1), FP64_1(0), FP64_NORM_MAX(0), FP64_INF(0)      } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_VAL_3(1), BS3_FP64_ONE(0) } },
-            { /*src1     */ { BS3_FP64_ONE(0),        BS3_FP64_NORMAL_MAX(0), BS3_FP64_ONE(0),          BS3_FP64_ONE(0) } },
-            { /* =>      */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_INF(0),        BS3_FP64_NORMAL_VAL_3(1), BS3_FP64_ONE(0) } },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_NORM_V3(1), FP64_1(0) } },
+            { /*src1     */ { FP64_1(0),        FP64_NORM_MAX(0), FP64_1(0),       FP64_1(0) } },
+            { /* =>      */ { FP64_NORM_MAX(0), FP64_INF(0),      FP64_NORM_V3(1), FP64_1(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_VAL_3(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_ONE(0),         } },
-            { /*src1     */ { BS3_FP64_ONE(0),          BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_VAL_1(0) } },
-            { /* =>      */ { BS3_FP64_NORMAL_VAL_3(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_VAL_1(0) } },
+          { { /*src2     */ { FP64_NORM_V3(0), FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_1(0)       } },
+            { /*src1     */ { FP64_1(0),       FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_V1(0) } },
+            { /* =>      */ { FP64_NORM_V3(0), FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_NORM_V1(0) } },
               /*mask     */ ~(X86_MXCSR_OE | X86_MXCSR_PE),
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MIN(1),                                                 BS3_FP64_NORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MAX(1),                                                 BS3_FP64_NORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP64_INF(0),        BS3_FP64_ZERO(0),       BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX, RTFLOAT64U_EXP_BIAS + 1), BS3_FP64_INF(0)        } },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_NORM_MIN(1),                                       FP64_NORM_MAX(0) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_NORM_MAX(1),                                       FP64_NORM_MAX(0) } },
+            { /* =>      */ { FP64_INF(0),      FP64_0(0),        FP64_V(0, FP64_FRAC_NORM_MAX, RTFLOAT64U_EXP_BIAS + 1), FP64_INF(0)      } },
               /*mask     */ X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_UE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_UE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_VAL_3(0), BS3_FP64_ONE(1),          BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MIN(0)                                                 } },
-            { /*src1     */ { BS3_FP64_ONE(0),          BS3_FP64_NORMAL_VAL_2(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1)                                                 } },
-            { /* =>      */ { BS3_FP64_NORMAL_VAL_3(0), BS3_FP64_NORMAL_VAL_2(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_VAL(1, BS3_FP64_FRACTION_NORMAL_MAX, RTFLOAT64U_EXP_BIAS + 1) } },
+          { { /*src2     */ { FP64_NORM_V3(0), FP64_1(1),       FP64_NORM_MAX(1), FP64_NORM_MIN(0)                                       } },
+            { /*src1     */ { FP64_1(0),       FP64_NORM_V2(1), FP64_NORM_MAX(1), FP64_NORM_MAX(1)                                       } },
+            { /* =>      */ { FP64_NORM_V3(0), FP64_NORM_V2(0), FP64_NORM_MAX(0), FP64_V(1, FP64_FRAC_NORM_MAX, RTFLOAT64U_EXP_BIAS + 1) } },
               /*mask     */ ~(X86_MXCSR_OE | X86_MXCSR_PE),
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_SAFE_INT_MIN(0),                                             BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_SAFE_INT_MAX(1),                          BS3_FP64_NORMAL_SAFE_INT_MIN(0)                      } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                             BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_SAFE_INT_MAX(1),                          BS3_FP64_NORMAL_SAFE_INT_MAX(0)                      } },
-            { /* =>      */ { BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX, RTFLOAT64U_FRACTION_BITS + 1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, 0x468), BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX, 0x035) } },
+          { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                         FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_SAFE_INT_MIN(0)            } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                         FP64_NORM_MAX(1), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_SAFE_INT_MAX(0)            } },
+            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_FRAC_BITS + 1), FP64_NORM_MAX(1), FP64_V(0, FP64_FRAC_NORM_MAX - 1, 0x468), FP64_V(0, FP64_FRAC_NORM_MAX, 0x035) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
-          { { /*src2     */ { BS3_FP64_NORMAL_SAFE_INT_MIN(0),                                             BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_SAFE_INT_MAX(1),                          BS3_FP64_NORMAL_SAFE_INT_MIN(0)                      } },
-            { /*src1     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                             BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_SAFE_INT_MAX(1),                          BS3_FP64_NORMAL_SAFE_INT_MAX(0)                      } },
-            { /* =>      */ { BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX, RTFLOAT64U_FRACTION_BITS + 1), BS3_FP64_INF(1),        BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, 0x468), BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX, 0x035) } },
+          { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                         FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_SAFE_INT_MIN(0)            } },
+            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                         FP64_NORM_MAX(1), FP64_NORM_SAFE_INT_MAX(1),                FP64_NORM_SAFE_INT_MAX(0)            } },
+            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX, FP64_FRAC_BITS + 1), FP64_INF(1),      FP64_V(0, FP64_FRAC_NORM_MAX - 1, 0x468), FP64_V(0, FP64_FRAC_NORM_MAX, 0x035) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -3806,49 +3788,49 @@
      * Zero.
      */
-    /* 0*/{ { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 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) } },
+            { /*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) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_NORMAL_VAL_7(0), BS3_FP32_NORMAL_VAL_6(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(1),         BS3_FP32_NORMAL_VAL_3(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1),         BS3_FP32_ZERO(1),         BS3_FP32_NORMAL_VAL_2(0), BS3_FP32_NORMAL_VAL_3(1), BS3_FP32_ZERO(0),         BS3_FP32_NORMAL_VAL_6(0), BS3_FP32_NORMAL_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1),         BS3_FP32_ZERO(1),         BS3_FP32_NORMAL_VAL_2(0), BS3_FP32_NORMAL_VAL_3(0), BS3_FP32_ZERO(0),         BS3_FP32_NORMAL_VAL_6(0), BS3_FP32_NORMAL_VAL_2(0) } },
+          { { /*src2     */ { FP32_0(0), FP32_NORM_V7(0), FP32_NORM_V6(0), FP32_0(0),       FP32_0(1),       FP32_NORM_V3(0), FP32_0(0),       FP32_0(0)       } },
+            { /*src1     */ { FP32_0(0), FP32_0(1),       FP32_0(1),       FP32_NORM_V2(0), FP32_NORM_V3(1), FP32_0(0),       FP32_NORM_V6(0), FP32_NORM_V2(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(1),       FP32_0(1),       FP32_NORM_V2(0), FP32_NORM_V3(0), FP32_0(0),       FP32_NORM_V6(0), FP32_NORM_V2(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_0(1), FP32_0(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_0(1), FP32_0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_0(0), FP32_0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
+          { { /*src2     */ { FP32_0(1), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_0(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_0(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_3(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_3(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V3(1) } },
+            { /* =>      */ { FP32_0(1), FP32_RAND_V6(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V3(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_ONE(0),  BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_3(1) } },
-            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_3(1) } },
+          { { /*src2     */ { FP32_0(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_1(0), FP32_RAND_V6(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V3(1) } },
+            { /* =>      */ { FP32_0(0), FP32_RAND_V6(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V3(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
@@ -3857,43 +3839,43 @@
      * Infinity.
      */
-    /* 8*/{ { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ONE(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
+    /* 8*/{ { /*src2     */ { FP32_INF(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_1(1),   FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_INF(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /*src1     */ { BS3_FP32_ONE(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-            { /* =>      */ { BS3_FP32_INF(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_7(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_INF(1), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /*src1     */ { FP32_1(1),   FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+            { /* =>      */ { FP32_INF(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0), FP32_0(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_INF(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_INF(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ ~X86_MXCSR_IM,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(1), BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_INF(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_INF(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_INF(1), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_ONE(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_2(1) } },
-            { /* =>      */ { BS3_FP32_INF(0), BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_2(1) } },
+          { { /*src2     */ { FP32_1(0),   FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_INF(0), FP32_RAND_V6(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
+            { /* =>      */ { FP32_INF(0), FP32_RAND_V6(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_INF(0), BS3_FP32_INF(0), BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_INF(1) } },
-            { /*src1     */ { BS3_FP32_ONE(1), BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_INF(1), BS3_FP32_INF(1), BS3_FP32_INF(0) } },
-            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_INF(0), BS3_FP32_INF(1), BS3_FP32_INF(0), BS3_FP32_INF(1) } },
+          { { /*src2     */ { FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(1) } },
+            { /*src1     */ { FP32_1(1),   FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0) } },
+            { /* =>      */ { FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_INF(1), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_2(0) } },
-            { /*src1     */ { BS3_FP32_INF(0), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_2(0) } },
+          { { /*src2     */ { FP32_INF(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0) } },
+            { /*src1     */ { FP32_INF(0), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_INF(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -3902,55 +3884,55 @@
      * Normals.
      */
-    /*15*/{ { /*src2     */ { BS3_FP32_VAL(0, 0x600000, 0x7f)/*1.7500*/, BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0,        0x7d)/*0.2500*/, BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_2(1) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x600000, 0x7d)/*0.4375*/, BS3_FP32_RAND_VAL_6(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_2(1) } },
+    /*15*/{ { /*src2     */ { FP32_V(0, 0x600000, 0x7f)/*1.7500*/, FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_V(0, 0,        0x7d)/*0.2500*/, FP32_RAND_V6(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
+            { /* =>      */ { FP32_V(0, 0x600000, 0x7d)/*0.4375*/, FP32_RAND_V6(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x61e000, 0x89)/*   1807*/, BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x504000, 0x8a)/*   3332*/, BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x37be78, 0x95)/*6020924*/, BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-              /*mask     */ X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_1(1) } },
-            { /*src1     */ { BS3_FP32_ONE(0),                 BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(0) } },
+          { { /*src2     */ { FP32_V(0, 0x61e000, 0x89)/*   1807*/, FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_V(0, 0x504000, 0x8a)/*   3332*/, FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_V(0, 0x37be78, 0x95)/*6020924*/, FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+              /*mask     */ X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V6(0), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
+            { /*src1     */ { FP32_1(0),                 FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
+            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x61e000, 0x89)/*   1807*/, BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x504000, 0x8a)/*   3332*/, BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x37be78, 0x95)/*6020924*/, BS3_FP32_RAND_VAL_7(1), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_RAND_VAL_4(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_1(1) } },
+          { { /*src2     */ { FP32_V(0, 0x61e000, 0x89)/*   1807*/, FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_V(0, 0x504000, 0x8a)/*   3332*/, FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_V(0, 0x37be78, 0x95)/*6020924*/, FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V5(0), FP32_RAND_V4(1), FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V1(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x4a30b8, 0x8f)/* 103521.4375*/, BS3_FP32_RAND_VAL_1(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(1), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_6(1) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0x600000, 0x82)/*     14.0000*/, BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_2(1) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x30eaa1, 0x93)/*1449300.1250*/, BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_2(1) } },
+          { { /*src2     */ { FP32_V(0, 0x4a30b8, 0x8f)/* 103521.4375*/, FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
+            { /*src1     */ { FP32_V(0, 0x600000, 0x82)/*     14.0000*/, FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
+            { /* =>      */ { FP32_V(0, 0x30eaa1, 0x93)/*1449300.1250*/, FP32_RAND_V3(0), FP32_RAND_V2(0), FP32_RAND_V0(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V2(1) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x1a5200, 0x8c)/*     9876.5*/, BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_1(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_7(1) } },
-            { /*src1     */ { BS3_FP32_VAL(1, 0x1a4000, 0x89)/*    -1234.0*/, BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_1(1) } },
-            { /* =>      */ { BS3_FP32_VAL(1, 0x39f7d1, 0x96)/*-12187601.0*/, BS3_FP32_RAND_VAL_6(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_2(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_RAND_VAL_1(1) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_MAX(0), BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_ZERO(0),         BS3_FP32_ONE(0),          BS3_FP32_NORMAL_MIN(0), BS3_FP32_NORMAL_VAL_1(0), BS3_FP32_NORMAL_VAL_2(0), BS3_FP32_ZERO(0)         } },
-            { /*src1     */ { BS3_FP32_ONE(1),        BS3_FP32_ONE(0),          BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_NORMAL_VAL_3(0), BS3_FP32_ONE(0),        BS3_FP32_ONE(0),          BS3_FP32_ONE(0),          BS3_FP32_NORMAL_VAL_3(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_MAX(1), BS3_FP32_ONE(0),          BS3_FP32_NORMAL_VAL_1(1), BS3_FP32_NORMAL_VAL_3(0), BS3_FP32_ONE(0),        BS3_FP32_ONE(0),          BS3_FP32_ONE(0),          BS3_FP32_NORMAL_VAL_3(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_VAL(0, 0x23b6a0, 0x8e)/*41910.625000*/, BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_2(0) } },
-            { /*src1     */ { BS3_FP32_VAL(0, 0,        0x7c)/*    0.125000*/, BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(1), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_2(0) } },
-            { /* =>      */ { BS3_FP32_VAL(0, 0x23b6a0, 0x8b)/* 5238.828125*/, BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_1(0), BS3_FP32_QNAN(0), BS3_FP32_SNAN(0), BS3_FP32_RAND_VAL_2(0) } },
-              /*mask     */ ~X86_MXCSR_XCPT_MASK,
-              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
-              /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_ONE(1), BS3_FP32_ONE(1), BS3_FP32_ONE(0),                                                              BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_ONE(0), BS3_FP32_ONE(0) } },
-            { /*src1     */ { BS3_FP32_ONE(0),                 BS3_FP32_ONE(1),                 BS3_FP32_ONE(0), BS3_FP32_ONE(0), BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ONE(1),                 BS3_FP32_ONE(0), BS3_FP32_ONE(0) } },
-            { /* =>      */ { BS3_FP32_NORMAL_SAFE_INT_MAX(0), BS3_FP32_ONE(1),                 BS3_FP32_ONE(0), BS3_FP32_ONE(0), BS3_FP32_VAL(0, BS3_FP32_FRACTION_NORMAL_MAX - 1, BS3_FP32_EXP_SAFE_INT_MAX), BS3_FP32_ONE(1),                 BS3_FP32_ONE(0), BS3_FP32_ONE(0) } },
+          { { /*src2     */ { FP32_V(0, 0x1a5200, 0x8c)/*     9876.5*/, FP32_RAND_V6(0), FP32_RAND_V0(1), FP32_RAND_V1(1), FP32_RAND_V3(0), FP32_RAND_V5(1), FP32_RAND_V7(1) } },
+            { /*src1     */ { FP32_V(1, 0x1a4000, 0x89)/*    -1234.0*/, FP32_RAND_V6(0), FP32_RAND_V0(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V6(0), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP32_V(1, 0x39f7d1, 0x96)/*-12187601.0*/, FP32_RAND_V6(0), FP32_RAND_V0(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V1(1) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_NORM_MAX(0), FP32_NORM_V1(1), FP32_0(0),       FP32_1(0),       FP32_NORM_MIN(0), FP32_NORM_V1(0), FP32_NORM_V2(0), FP32_0(0)       } },
+            { /*src1     */ { FP32_1(1),        FP32_1(0),       FP32_NORM_V1(1), FP32_NORM_V3(0), FP32_1(0),        FP32_1(0),       FP32_1(0),       FP32_NORM_V3(0) } },
+            { /* =>      */ { FP32_NORM_MAX(1), FP32_1(0),       FP32_NORM_V1(1), FP32_NORM_V3(0), FP32_1(0),        FP32_1(0),       FP32_1(0),       FP32_NORM_V3(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_V(0, 0x23b6a0, 0x8e)/*41910.625000*/, FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0) } },
+            { /*src1     */ { FP32_V(0, 0,        0x7c)/*    0.125000*/, FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0) } },
+            { /* =>      */ { FP32_V(0, 0x23b6a0, 0x8b)/* 5238.828125*/, FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V0(0), FP32_RAND_V1(0), FP32_QNAN(0), FP32_SNAN(0), FP32_RAND_V2(0) } },
+              /*mask     */ ~X86_MXCSR_XCPT_MASK,
+              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
+              /*flags    */ 0, 0 },
+          { { /*src2     */ { FP32_NORM_SAFE_INT_MAX(0), FP32_NORM_SAFE_INT_MAX(0), FP32_1(1), FP32_1(1), FP32_1(0),                                                FP32_NORM_SAFE_INT_MAX(0), FP32_1(0), FP32_1(0) } },
+            { /*src1     */ { FP32_1(0),                 FP32_1(1),                 FP32_1(0), FP32_1(0), FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_1(1),                 FP32_1(0), FP32_1(0) } },
+            { /* =>      */ { FP32_NORM_SAFE_INT_MAX(0), FP32_1(1),                 FP32_1(0), FP32_1(0), FP32_V(0, FP32_FRAC_NORM_MAX - 1, FP32_EXP_SAFE_INT_MAX), FP32_1(1),                 FP32_1(0), FP32_1(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
@@ -3960,25 +3942,25 @@
      * Denormals.
      */
-    /*24*/{ { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(1),       } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(0) } },
+    /*24*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V5(0), FP32_1(1),       FP32_RAND_V0(1), FP32_RAND_V5(0), FP32_1(1),       FP32_RAND_V0(1), FP32_RAND_V5(1) } },
+            { /*src1     */ { FP32_0(0),          FP32_1(0),       FP32_RAND_V3(1), FP32_1(1),       FP32_1(0),       FP32_RAND_V3(1), FP32_1(1),       FP32_1(1),      } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V5(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(1) } },
-            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(1),       } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(0) } },
+          { { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V5(0), FP32_1(1),       FP32_RAND_V0(1), FP32_RAND_V5(0), FP32_1(1),       FP32_RAND_V0(1), FP32_RAND_V5(1) } },
+            { /*src1     */ { FP32_0(0),          FP32_1(0),       FP32_RAND_V3(1), FP32_1(1),       FP32_1(0),       FP32_RAND_V3(1), FP32_1(1),       FP32_1(1),      } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V5(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V5(0) } },
               /*mask     */ ~X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
-          { { /*src2     */ { BS3_FP32_ZERO(0),         BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_ONE(0),        BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ONE(0)          } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MIN(1), BS3_FP32_ONE(0),          BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_2(0), BS3_FP32_ONE(0),          BS3_FP32_ONE(0),          BS3_FP32_DENORMAL_MAX(0) } },
-            { /* =>      */ { BS3_FP32_ZERO(1),         BS3_FP32_ONE(0),          BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_2(0), BS3_FP32_ONE(0),          BS3_FP32_ONE(0),          BS3_FP32_DENORMAL_MAX(0) } },
+          { { /*src2     */ { FP32_0(0),          FP32_DENORM_MIN(0), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_1(0),       FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_1(0)          } },
+            { /*src1     */ { FP32_DENORM_MIN(1), FP32_1(0),          FP32_1(0),       FP32_1(0),       FP32_RAND_V2(0), FP32_1(0),          FP32_1(0),          FP32_DENORM_MAX(0) } },
+            { /* =>      */ { FP32_0(1),          FP32_1(0),          FP32_1(0),       FP32_1(0),       FP32_RAND_V2(0), FP32_1(0),          FP32_1(0),          FP32_DENORM_MAX(0) } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
               /*flags    */ 0, 0 },
-          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_ONE(0),        BS3_FP32_DENORMAL_MAX(0), BS3_FP32_DENORMAL_MAX(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_0(0),   BS3_FP32_DENORMAL_MAX(0) } },
-            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_DENORMAL_MIN(1), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_4(0)   } },
-            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_4(0), BS3_FP32_DENORMAL_MIN(1), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_4(0)   } },
+          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_1(0),       FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_RAND_V3(0), FP32_RAND_V0(0), FP32_RAND_V0(0),    FP32_DENORM_MAX(0) } },
+            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V4(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_1(0),       FP32_1(0),       FP32_DENORM_MIN(0), FP32_RAND_V4(0)    } },
+            { /* =>      */ { FP32_0(0),          FP32_RAND_V4(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_1(0),       FP32_1(0),       FP32_DENORM_MIN(0), FP32_RAND_V4(0)    } },
               /*mask     */ X86_MXCSR_XCPT_MASK,
               /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
