Index: trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
===================================================================
--- trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32	(revision 106220)
+++ trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32	(revision 106223)
@@ -964,5 +964,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK,                                                          \
-              /*256:out  */ X86_MXCSR_XCPT_MASK,                                                          \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_QNAN_MAX(0), FP64_QNAN_V1(1), FP64_QNAN_V2(0), FP64_INF(0)  } },       \
@@ -971,5 +971,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK,                                                          \
-              /*256:out  */ X86_MXCSR_XCPT_MASK,                                                          \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_QNAN_V1(0), FP64_QNAN_V1(0), FP64_QNAN_V2(0), FP64_INF(1)  } },        \
@@ -978,5 +978,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK,                                                          \
-              /*256:out  */ X86_MXCSR_XCPT_MASK,                                                          \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
     /* QNan, SNan (Masked). */                                                                            \
@@ -986,5 +986,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_QNAN_MAX(0),  FP64_QNAN_MAX(0), FP64_QNAN_V0(0),  FP64_QNAN_V1(0) } }, \
@@ -993,5 +993,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_QNAN_V1(0), FP64_QNAN_MAX(0), FP64_QNAN_V0(0),  FP64_INF(0)  } },      \
@@ -1000,5 +1000,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
     /* SNan, QNan (Masked). */                                                                            \
@@ -1008,5 +1008,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_SNAN_MAX(0), FP64_SNAN_MAX(1), FP64_SNAN_V1(0), FP64_SNAN_V1(0) } },   \
@@ -1015,5 +1015,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_SNAN_V0(0), FP64_SNAN_MAX(0), FP64_SNAN_V1(0), FP64_SNAN_V1(0) } },    \
@@ -1022,5 +1022,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
     /* SNan, SNan (Masked). */                                                                            \
@@ -1030,5 +1030,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_SNAN(0),     FP64_SNAN_V2(0), FP64_SNAN_V1(0), FP64_SNAN_V2(0) } },    \
@@ -1037,5 +1037,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_SNAN_V1(0), FP64_SNAN_V2(0), FP64_SNAN_V1(0), FP64_SNAN_V2(0) } },     \
@@ -1044,5 +1044,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
     /* QNan, Norm FP (Masked). */                                                                         \
@@ -1052,5 +1052,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK,                                                          \
-              /*256:out  */ X86_MXCSR_XCPT_MASK,                                                          \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
     /* SNan, Norm FP (Masked). */                                                                         \
@@ -1060,5 +1060,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,                                                          \
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,                                           \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
     /* QNan, QNan (Unmasked). */                                                                          \
@@ -1068,5 +1068,5 @@
               /*mxcsr:in */ 0,                                                                            \
               /*128:out  */ 0,                                                                            \
-              /*256:out  */ 0,                                                                            \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_QNAN_MAX(0), FP64_QNAN_V1(0), FP64_QNAN_V2(0), FP64_QNAN_V3(0) } },    \
@@ -1075,5 +1075,5 @@
               /*mxcsr:in */ 0,                                                                            \
               /*128:out  */ 0,                                                                            \
-              /*256:out  */ 0,                                                                            \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
           { { /*src2     */ { FP64_QNAN_V1(0), FP64_QNAN_V1(0), FP64_QNAN_V2(0), FP64_QNAN_V3(0) } },     \
@@ -1082,14 +1082,13 @@
               /*mxcsr:in */ 0,                                                                            \
               /*128:out  */ 0,                                                                            \
-              /*256:out  */ 0,                                                                            \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
-                                                                                                          \
     /* QNan, SNan (Unmasked). */                                                                          \
           { { /*src2     */ { FP64_QNAN(0),      FP64_QNAN_V1(0), FP64_QNAN_V2(0), FP64_QNAN_V3(0) } },   \
             { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V2(1), FP64_SNAN_V3(1), FP64_SNAN_V2(0) } },   \
-            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_QNAN_V2(1), FP64_SNAN_V3(1), FP64_SNAN_V2(0) } },   \
+            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_SNAN_V2(1), FP64_SNAN_V3(1), FP64_SNAN_V2(0) } },   \
               /*mxcsr:in */ 0,                                                                            \
               /*128:out  */ X86_MXCSR_IE,                                                                 \
-              /*256:out  */ X86_MXCSR_IE,                                                                 \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
           { { /*src2     */ { FP64_QNAN_MAX(0),  FP64_QNAN_MAX(0), FP64_QNAN_V0(0),  FP64_QNAN_V1(0) } }, \
@@ -1098,5 +1097,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,                             \
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,              \
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,              \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
           { { /*src2     */ { FP64_QNAN_V1(0), FP64_QNAN_MAX(0), FP64_QNAN_V0(0),  FP64_QNAN_V1(0) } },   \
@@ -1105,5 +1104,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,                                             \
               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,                              \
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,                              \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
     /* SNan, QNan (Unmasked). */                                                                          \
@@ -1113,5 +1112,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ,                                                                \
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_IE,                                                 \
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_IE,                                                 \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
           { { /*src2     */ { FP64_SNAN_MAX(0), FP64_SNAN_MAX(0), FP64_SNAN_V1(0), FP64_SNAN_V1(1) } },   \
@@ -1120,5 +1119,5 @@
               /*mxcsr:in */ X86_MXCSR_RC_UP,                                                              \
               /*128:out  */ X86_MXCSR_RC_UP | X86_MXCSR_IE,                                               \
-              /*256:out  */ X86_MXCSR_RC_UP | X86_MXCSR_IE,                                               \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
           { { /*src2     */ { FP64_SNAN_V0(0), FP64_SNAN_MAX(0), FP64_SNAN_V1(0), FP64_SNAN_V1(1) } },    \
@@ -1127,5 +1126,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,                                             \
               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,                              \
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,                              \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
     /* SNan, SNan (Unmasked). */                                                                          \
@@ -1135,5 +1134,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ,                                                 \
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_IE,                                  \
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_IE,                                  \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
           { { /*src2     */ { FP64_SNAN(0),     FP64_SNAN_V2(0), FP64_SNAN_V1(0), FP64_SNAN_V2(1) } },    \
@@ -1142,5 +1141,5 @@
               /*mxcsr:in */ X86_MXCSR_RC_ZERO,                                                            \
               /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_IE,                                             \
-              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_IE,                                             \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
           { { /*src2     */ { FP64_SNAN_V1(0), FP64_SNAN_V2(0), FP64_SNAN_V0(1), FP64_SNAN_V2(0) } },     \
@@ -1149,5 +1148,5 @@
               /*mxcsr:in */ 0,                                                                            \
               /*128:out  */ X86_MXCSR_IE,                                                                 \
-              /*256:out  */ X86_MXCSR_IE,                                                                 \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
     /* QNan, Norm FP (Unmasked). */                                                                       \
@@ -1157,5 +1156,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ,                                                                 \
               /*128:out  */ X86_MXCSR_FZ,                                                                 \
-              /*256:out  */ X86_MXCSR_FZ,                                                                 \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ false, false },                                                               \
     /* SNan, Norm FP (Unmasked). */                                                                       \
@@ -1165,5 +1164,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,                             \
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,              \
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,              \
+              /*256:out  */ -1,                                                                           \
               /*xcpt?    */ true, true },                                                                 \
 
@@ -4544,5 +4543,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -4551,5 +4550,5 @@
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
@@ -4558,5 +4557,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(1), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -4565,5 +4564,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -4572,5 +4571,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -4579,5 +4578,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
@@ -4586,15 +4585,15 @@
     /* 6*/{ { /*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_0(0),    FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_QNAN(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM,
               /*128:out  */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_INF(0),  FP64_RAND_V1(0), FP64_RAND_V2(0), FP32_RAND_V3(1) } },
             { /*src1     */ { FP64_INF(1),  FP64_RAND_V0(0), FP64_RAND_V1(1), FP32_RAND_V1(1) } },
-            { /* =>      */ { FP64_0(0),    FP64_RAND_V0(0), FP64_RAND_V1(1), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP64_QNAN(1), FP64_RAND_V0(0), FP64_RAND_V1(1), FP32_RAND_V1(1) } },
               /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_INF(1),  FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -4603,5 +4602,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(0),  FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -4610,12 +4609,12 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(0),  FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V0(1) } },
             { /*src1     */ { FP64_INF(1),  FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
-            { /* =>      */ { FP64_QNAN(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
+            { /* =>      */ { FP64_QNAN(1), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_INF(1),  FP64_0(0), FP64_0(0), FP64_RAND_V1(1) } },
@@ -4624,5 +4623,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
     /*
@@ -4631,15 +4630,29 @@
     /*12*/{ { /*src2     */ { FP64_NORM_MAX(1), FP64_0(0), FP64_0(0), FP64_RAND_V1(1) } },
             { /*src1     */ { FP64_NORM_MAX(1), FP64_0(1), FP64_0(1), FP64_RAND_V1(1) } },
-            { /* =>      */ { FP64_0(0),        FP64_0(1), FP64_0(1), FP64_RAND_V1(1) } },
-              /*mxcsr:in */ 0,
-              /*128:out  */ X86_MXCSR_OE,
-              /*256:out  */ X86_MXCSR_OE,
+            { /* =>      */ { FP64_INF(1),      FP64_0(1), FP64_0(1), FP64_RAND_V1(1) } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*src2     */ { FP64_NORM_MAX(1), FP64_0(0), FP64_0(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_NORM_MAX(1), FP64_0(1), FP64_0(1), FP64_RAND_V1(1) } },
+            { /* =>      */ { FP64_INF(1),      FP64_0(1), FP64_0(1), FP64_RAND_V1(1) } },
+              /*mxcsr:in */ X86_MXCSR_OM,
+              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_NORM_MAX(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
             { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
             { /* =>      */ { FP64_INF(0),      FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
-              /*mxcsr:in */ X86_MXCSR_OM | X86_MXCSR_PM,
-              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE,
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+            { /* =>      */ { FP64_INF(0),      FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+              /*mxcsr:in */ X86_MXCSR_OM,
+              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_RAND_V0(1),  FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } },
@@ -4648,12 +4661,19 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_PE,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_MAX(1), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
             { /*src1     */ { FP64_NORM_MAX(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
             { /* =>      */ { FP64_INF(1),      FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
-              /*mxcsr:in */ X86_MXCSR_OM | X86_MXCSR_PM,
-              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE,
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_NORM_MAX(1), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
+            { /*src1     */ { FP64_NORM_MAX(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+            { /* =>      */ { FP64_INF(1),      FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+              /*mxcsr:in */ X86_MXCSR_OM,
+              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0),                            FP64_RAND_V1(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } },
@@ -4662,5 +4682,5 @@
               /*mxcsr:in */ X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(1),                            FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
@@ -4669,15 +4689,15 @@
               /*mxcsr:in */ X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
     /*
      * Normals.
      */
-    /*18*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_V1(0), FP64_0(0), FP64_SNAN(0) } },
+    /*19*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_V1(0), FP64_0(0), FP64_SNAN(0) } },
             { /*src1     */ { FP64_NORM_MAX(1), FP64_NORM_V1(1), FP64_0(0), FP64_SNAN(1) } },
             { /* =>      */ { FP64_0(0),        FP64_NORM_V1(1), FP64_0(0), FP64_SNAN(1) } },
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0,               0x409)/*1024*/, FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
@@ -4686,5 +4706,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_RAND_V2(1), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
@@ -4693,5 +4713,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/* 1234567890*/, FP64_RAND_V0(1), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -4700,5 +4720,5 @@
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_RAND_V2(1), FP64_RAND_V1(0), FP64_RAND_V0(1) } },
@@ -4707,5 +4727,5 @@
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/, FP64_RAND_V0(1), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
@@ -4714,5 +4734,5 @@
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
@@ -4721,5 +4741,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(0),               FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(0) } },
@@ -4728,5 +4748,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_1(1),                               FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
@@ -4735,5 +4755,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V2(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
@@ -4742,5 +4762,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
@@ -4749,22 +4769,55 @@
               /*mxcsr:in */ X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_RC_UP,
-              /*256:out  */ X86_MXCSR_RC_UP,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
      * Denormals.
      */
-    /*29*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_SNAN(0), FP64_SNAN(0), FP64_QNAN(0) } },
+    /*32*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_SNAN(0), FP64_SNAN(0), FP64_QNAN(0) } },
             { /*src1     */ { FP64_0(0),          FP64_SNAN(0), FP64_QNAN(1), FP64_SNAN(1) } },
             { /* =>      */ { FP64_0(0),          FP64_SNAN(0), FP64_QNAN(1), FP64_SNAN(1) } },
               /*mxcsr:in */ 0,
-              /*128:out  */ X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_DE,
+              /*128:out  */ X86_MXCSR_DE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+#ifdef TODO_X86_MXCSR_UE_IEM /** @todo THIS FAILS ON IEM: X86_MXCSR_UE not set in 128:out *AND* different output values */
+ /*--|33*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_SNAN(0), FP64_SNAN(0), FP64_QNAN(0) } },
+            { /*src1     */ { FP64_0(0),          FP64_SNAN(0), FP64_QNAN(1), FP64_SNAN(1) } },
+            { /* =>      */ { FP64_0(0),          FP64_SNAN(0), FP64_QNAN(1), FP64_SNAN(1) } } /* result on HW (i7-10700) */,
+    // IEM: { /* =>      */ { FP64_DENORM_MAX(0), FP64_SNAN(0), FP64_QNAN(1), FP64_SNAN(1) } } /* result on IEM */,
+              /*mxcsr:in */ X86_MXCSR_DM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_DE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+#endif /* TODO_X86_MXCSR_UE_IEM */
+ /*33|34*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_SNAN(0), FP64_SNAN(0), FP64_QNAN(0) } },
+            { /*src1     */ { FP64_0(0),          FP64_SNAN(0), FP64_QNAN(1), FP64_SNAN(1) } },
+            { /* =>      */ { FP64_DENORM_MAX(0), FP64_SNAN(0), FP64_QNAN(1), FP64_SNAN(1) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_UM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_DE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_0(0),          FP64_SNAN(1), FP64_INF(0),  FP64_SNAN(0) } },
             { /*src1     */ { FP64_DENORM_MAX(0), FP64_INF(0),  FP64_SNAN(1), FP64_QNAN(0) } },
             { /* =>      */ { FP64_DENORM_MAX(0), FP64_INF(0),  FP64_SNAN(1), FP64_QNAN(0) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
-              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_DE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+#ifdef TODO_X86_MXCSR_UE_IEM /** @todo THIS FAILS ON IEM: X86_MXCSR_UE not set in 128:out */
+ /*--|36*/{ { /*src2     */ { FP64_0(0),          FP64_SNAN(1), FP64_INF(0),  FP64_SNAN(0) } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_INF(0),  FP64_SNAN(1), FP64_QNAN(0) } },
+            { /* =>      */ { FP64_DENORM_MAX(0), FP64_INF(0),  FP64_SNAN(1), FP64_QNAN(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_DE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+#endif /* TODO_X86_MXCSR_UE_IEM */
+ /*35|37*/{ { /*src2     */ { FP64_0(0),          FP64_SNAN(1), FP64_INF(0),  FP64_SNAN(0) } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_INF(0),  FP64_SNAN(1), FP64_QNAN(0) } },
+            { /* =>      */ { FP64_DENORM_MAX(0), FP64_INF(0),  FP64_SNAN(1), FP64_QNAN(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_UM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_DE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
@@ -4773,5 +4826,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           /** @todo More Denormals. */
@@ -4779,5 +4832,5 @@
      * Invalids.
      */
-    /*32*/ FP64_TABLE_D1_SD_INVALIDS
+ /*37|39*/ FP64_TABLE_D1_SD_INVALIDS
     /** @todo Underflow, Precision; Rounding; FZ etc. */
     };
@@ -4818,5 +4871,5 @@
     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
-    return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
+    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
                                         g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3));
 }
@@ -6543,5 +6596,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -6550,5 +6603,5 @@
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
@@ -6557,5 +6610,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(1), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -6564,5 +6617,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -6571,5 +6624,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -6578,22 +6631,22 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
      * Infinity.
      */
-    /* 6*/{ { /*src2     */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
-            { /*src1     */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
-            { /* =>      */ { FP64_0(0),   FP64_0(0), FP64_0(0), FP64_0(0) } },
+    /* 6*/{ { /*src2     */ { FP64_INF(1),  FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /*src1     */ { FP64_INF(1),  FP64_0(0), FP64_0(0), FP64_0(0) } },
+            { /* =>      */ { FP64_QNAN(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM,
               /*128:out  */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_IE,
-              /*xcpt?    */ true, true },
-          { { /*src2     */ { FP64_INF(1), FP64_RAND_V1(0), FP64_RAND_V2(0), FP32_RAND_V3(1) } },
-            { /*src1     */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V1(1), FP32_RAND_V1(1) } },
-            { /* =>      */ { FP64_0(0),   FP64_RAND_V0(0), FP64_RAND_V1(1), FP32_RAND_V1(1) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*src2     */ { FP64_INF(1),  FP64_RAND_V1(0), FP64_RAND_V2(0), FP32_RAND_V3(1) } },
+            { /*src1     */ { FP64_INF(1),  FP64_RAND_V0(0), FP64_RAND_V1(1), FP32_RAND_V1(1) } },
+            { /* =>      */ { FP64_QNAN(1), FP64_RAND_V0(0), FP64_RAND_V1(1), FP32_RAND_V1(1) } },
               /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_DM | X86_MXCSR_ZM | X86_MXCSR_OM | X86_MXCSR_UM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_INF(1),  FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -6602,5 +6655,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(1),  FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -6609,12 +6662,12 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(1),  FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V0(1) } },
             { /*src1     */ { FP64_INF(1),  FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
-            { /* =>      */ { FP64_QNAN(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
+            { /* =>      */ { FP64_QNAN(1), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_INF(1),  FP64_0(0), FP64_0(0), FP64_RAND_V1(1) } },
@@ -6623,5 +6676,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_INF(0), FP64_0(0),       FP64_0(0), FP64_RAND_V1(1) } },
@@ -6630,5 +6683,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(1), FP64_RAND_V1(0), FP64_RAND_V3(0), FP64_RAND_V2(1) } },
@@ -6637,5 +6690,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
@@ -6644,43 +6697,71 @@
     /*14*/{ { /*src2     */ { FP64_NORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V3(0), FP64_RAND_V2(1) } },
             { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
-            { /* =>      */ { FP64_0(0),        FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
+            { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V1(0) } },
               /*mxcsr:in */ 0,
               /*128:out  */ X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_PE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_NORM_MIN(0), FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V3(1) } },
             { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V1(1) } },
-            { /* =>      */ { FP64_0(0),        FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V1(1) } },
+            { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V1(1) } },
               /*mxcsr:in */ 0,
               /*128:out  */ X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_PE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*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)        } },
-              /*mxcsr:in */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO,
-              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE,
+              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*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)        } },
+              /*mxcsr:in */ X86_MXCSR_OM | X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*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)      } },
-              /*mxcsr:in */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_FZ,
-              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_FZ | X86_MXCSR_OE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_FZ | X86_MXCSR_OE | X86_MXCSR_PE,
+              /*mxcsr:in */ X86_MXCSR_FZ,
+              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*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)      } },
+              /*mxcsr:in */ X86_MXCSR_OM | X86_MXCSR_FZ,
+              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_FZ | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_V(1, 0, FP32_EXP_NORM_MIN + 1),  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)        } },
-              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM,
-              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE,
+              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
+              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_V(1, 0, FP32_EXP_NORM_MIN + 1),  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)        } },
+              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM,
+              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_MAX(1), FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V0(0) } },
             { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
             { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
-              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OM | X86_MXCSR_PM,
-              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE,
+              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_NORM_MAX(1), FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V0(0) } },
+            { /*src1     */ { FP64_NORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
+            { /* =>      */ { FP64_NORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V1(0) } },
+              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OM,
+              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OM | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(0), FP64_NORM_MAX(0) } },
@@ -6689,29 +6770,29 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE,
-              /*xcpt?    */ false, false },
-          { { /*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)        } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK & ~(X86_MXCSR_OM | X86_MXCSR_PM) | X86_MXCSR_RC_ZERO,
-              /*128:out  */ X86_MXCSR_XCPT_MASK & ~(X86_MXCSR_OM | X86_MXCSR_PM) | X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK & ~(X86_MXCSR_OM | X86_MXCSR_PM) | X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
-              /*xcpt?    */ true, true },
-          { { /*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)                 } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*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_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_NORM_MAX), FP64_NORM_MAX(0), FP64_0(0),        FP64_0(0)        } },
               /*mxcsr:in */ X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*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_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_MAX(1), FP64_0(0),                 FP64_0(0)                 } },
+              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_RC_ZERO | X86_MXCSR_PE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
     /*
      * Normals.
      */
-    /*23*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_V1(1), FP64_NORM_MAX(0), FP64_NORM_V2(0) } },
+    /*27*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_V1(1), FP64_NORM_MAX(0), FP64_NORM_V2(0) } },
             { /*src1     */ { FP64_NORM_MAX(0), FP64_NORM_V1(1), FP64_NORM_MAX(1), FP64_NORM_V1(0) } },
             { /* =>      */ { FP64_0(0),        FP64_NORM_V1(1), FP64_NORM_MAX(1), FP64_NORM_V1(0) } },
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_MIN(0), FP64_NORM_V2(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } },
@@ -6720,5 +6801,5 @@
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0,               0x409)/*1024*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -6727,5 +6808,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xc000000000000, 0x401)/* 7*/, FP64_RAND_V2(0), FP64_RAND_V2(0), FP64_RAND_V0(1) } },
@@ -6734,5 +6815,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0x26580b4800000, 0x41d)/*1234567890*/, FP64_RAND_V3(0), FP64_RAND_V0(0), FP64_RAND_V1(1) } },
@@ -6741,5 +6822,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0x9000000000000, 0x405)/*       100*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -6748,5 +6829,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/, FP64_RAND_V0(0), FP64_RAND_V0(1), FP64_RAND_V0(1) } },
@@ -6755,5 +6836,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
@@ -6762,5 +6843,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_1(0),                                                FP64_RAND_V3(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
@@ -6769,5 +6850,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(1), FP64_RAND_V0(0), FP64_RAND_V0(1), FP64_RAND_V0(1) } },
@@ -6776,5 +6857,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_RAND_V0(0), FP64_RAND_V0(1), FP64_RAND_V0(1) } },
@@ -6783,15 +6864,31 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
      * Denormals.
      */
-    /*34*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+    /*38*/{ { /*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) } },
-              /*mxcsr:in */ 0,
-              /*128:out  */ X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_DE,
+            { /* =>      */ { FP64_DENORM_MAX(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_DE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+#ifdef TODO_X86_MXCSR_UE_IEM /** @todo THIS FAILS ON IEM: X86_MXCSR_UE not set in 128:out */
+ /*--|39*/{ { /*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_DENORM_MAX(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_DE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+#endif /* TODO_X86_MXCSR_UE_IEM */
+ /*39|40*/{ { /*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_DENORM_MAX(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_UM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_DE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_0(0),          FP64_0(0), FP64_0(0), FP64_0(0) } },
@@ -6800,5 +6897,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_RAND_V1(0), FP64_RAND_V0(0), FP64_RAND_V0(1) } },
@@ -6807,5 +6904,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           /** @todo More Denormals. */
@@ -6813,5 +6910,5 @@
      * Invalids.
      */
-    /*32*/ FP64_TABLE_D1_SD_INVALIDS
+ /*42|43*/ FP64_TABLE_D1_SD_INVALIDS
     /** @todo Underflow; Precision; Rounding; FZ etc. */
     };
@@ -6852,5 +6949,5 @@
     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
-    return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
+    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
                                         g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3));
 }
@@ -8487,14 +8584,7 @@
             { /*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) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
-              /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
-              /*xcpt?    */ false, false },
-          { { /*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) } },
               /*mxcsr:in */ 0,
               /*128:out  */ 0,
-              /*256:out  */ 0,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
@@ -8503,5 +8593,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_NORM_V3(0), FP64_NORM_V2(0), FP64_0(0)       } },
@@ -8510,5 +8600,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(1), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
@@ -8517,5 +8607,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(1), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -8524,5 +8614,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -8531,5 +8621,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -8538,5 +8628,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
@@ -8548,5 +8638,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM,
               /*128:out  */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM,
-              /*256:out  */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
@@ -8555,5 +8645,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
@@ -8562,5 +8652,5 @@
               /*mxcsr:in */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM) | X86_MXCSR_DAZ | X86_MXCSR_FZ,
               /*128:out  */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM) | X86_MXCSR_DAZ | X86_MXCSR_FZ,
-              /*256:out  */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM) | X86_MXCSR_DAZ | X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(1), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
@@ -8569,5 +8659,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_1(0),   FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
@@ -8576,5 +8666,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
@@ -8583,5 +8673,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(1), FP64_QNAN(0), FP64_SNAN(0), FP64_RAND_V0(0) } },
@@ -8590,5 +8680,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
@@ -8600,5 +8690,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xaf00000000000, 0x406)/*      215.50*/, FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V2(1) } },
@@ -8607,5 +8697,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(1, 0x107526e749f80, 0x42b)/*-18723145413791.50*/, FP64_RAND_V3(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
@@ -8614,5 +8704,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0x6fee0e4bd0000, 0x420)/* 12345678999.62500*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -8621,5 +8711,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_MAX(1), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
@@ -8628,5 +8718,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_RAND_V2(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -8635,5 +8725,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(1, 0x68b83b1ed4000, 0x41e)/*-3025935759.4140625*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -8642,5 +8732,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -8649,5 +8739,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_1(0),                 FP64_0(0),                                                FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_MAX(1)          } },
@@ -8656,5 +8746,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_NORM_V2(0), FP64_NORM_V3(1) } },
@@ -8663,5 +8753,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
@@ -8673,5 +8763,5 @@
               /*mxcsr:in */ 0,
               /*128:out  */ X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_DE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_0(0),          FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -8680,5 +8770,5 @@
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_DE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -8687,5 +8777,5 @@
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -8694,5 +8784,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_DENORM_MIN(1), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } },
@@ -8701,12 +8791,26 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_1(1),          FP64_RAND_V3(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } },
             { /*src1     */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
             { /* =>      */ { FP64_0(1),          FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
-              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE,
+              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_1(1),          FP64_RAND_V3(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+            { /* =>      */ { FP64_0(1),          FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_DE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_1(1),          FP64_RAND_V3(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+            { /* =>      */ { FP64_0(1),          FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
@@ -8714,6 +8818,22 @@
             { /* =>      */ { FP64_0(0),          FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
-              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE,
+              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+#ifdef TODO_X86_MXCSR_PE_IEM /** @todo THIS FAILS ON IEM: X86_MXCSR_PE not set in 128:out */
+ /*--|34*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+#endif /* TODO_X86_MXCSR_PE_IEM */
+ /*34|35*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
+            { /* =>      */ { FP64_0(0),          FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
           { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
@@ -8721,11 +8841,25 @@
             { /* =>      */ { FP64_0(0),          FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } },
               /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
-              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE,
+              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
+            { /*src1     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } },
+            { /* =>      */ { FP64_0(0),          FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*src2     */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
+            { /*src1     */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } },
+            { /* =>      */ { FP64_0(0),          FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_UM | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
     /*
      * Invalids.
      */
-    /*33*/ FP64_TABLE_D1_SD_INVALIDS
+ /*38|39*/ FP64_TABLE_D1_SD_INVALIDS
     /** @todo Underflow, Precision; Rounding; FZ etc. */
     };
@@ -8766,5 +8900,5 @@
     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
-    return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
+    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
                                         g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3));
 }
@@ -9801,69 +9935,62 @@
      * 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) } },
+    /* 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_QNAN(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
-              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
-              /*xcpt?    */ false, false },
-          { { /*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_QNAN(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mxcsr:in */ 0,
               /*128:out  */ X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_IE,
-              /*xcpt?    */ true, true },
-          { { /*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) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*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_QNAN(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*xcpt?    */ false, false },
-          { { /*src2     */ { FP64_0(0), FP64_NORM_V3(0), FP64_NORM_V2(0), FP64_0(0)       } },
-            { /*src1     */ { FP64_0(0), FP64_0(1),       FP64_0(1),       FP64_NORM_V1(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_0(0),    FP64_NORM_V3(0), FP64_NORM_V2(0), FP64_0(0)       } },
+            { /*src1     */ { FP64_0(0),    FP64_0(1),       FP64_0(1),       FP64_NORM_V1(0) } },
             { /* =>      */ { FP64_QNAN(1), FP64_0(1),       FP64_0(1),       FP64_NORM_V1(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
-              /*xcpt?    */ false, false },
-          { { /*src2     */ { FP64_0(1), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_0(1),    FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_0(1),    FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
             { /* =>      */ { FP64_QNAN(1), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(0) } },
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE,
-              /*xcpt?    */ true, true },
-          { { /*src2     */ { FP64_0(1), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
-            { /*src1     */ { FP64_0(0), FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*src2     */ { FP64_0(1),    FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+            { /*src1     */ { FP64_0(0),    FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
             { /* =>      */ { FP64_QNAN(1), FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(0) } },
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*xcpt?    */ true, true },
-          { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
-            { /*src1     */ { FP64_0(1), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*src2     */ { FP64_0(0),    FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+            { /*src1     */ { FP64_0(1),    FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
             { /* =>      */ { FP64_QNAN(1), FP64_RAND_V1(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_IE,
-              /*xcpt?    */ false, false },
-          { { /*src2     */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
-            { /*src1     */ { FP64_1(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_0(0),   FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
+            { /*src1     */ { FP64_1(0),   FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
             { /* =>      */ { FP64_INF(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V0(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_FSW_ZE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_FSW_ZE,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
      * Infinity.
      */
-    /* 8*/{ { /*src2     */ { FP64_INF(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
+    /* 7*/{ { /*src2     */ { FP64_INF(0), FP64_0(0), FP64_0(0), FP64_0(0) } },
             { /*src1     */ { FP64_1(1),   FP64_0(0), FP64_0(0), FP64_0(0) } },
             { /* =>      */ { FP64_0(1),   FP64_0(0), FP64_0(0), FP64_0(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM,
               /*128:out  */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM,
-              /*256:out  */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_0(0) } },
@@ -9872,19 +9999,19 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
-              /*xcpt?    */ false, false },
-          { { /*src2     */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
-            { /*src1     */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
-            { /* =>      */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_INF(0),  FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
+            { /*src1     */ { FP64_INF(0),  FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
+            { /* =>      */ { FP64_QNAN(1), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
               /*mxcsr:in */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM) | X86_MXCSR_DAZ | X86_MXCSR_FZ,
               /*128:out  */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM) | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_IE,
-              /*256:out  */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM) | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_IE,
-              /*xcpt?    */ true, true },
-          { { /*src2     */ { FP64_INF(1), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V0(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*src2     */ { FP64_INF(1),  FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_INF(0),  FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V0(0) } },
             { /* =>      */ { FP64_QNAN(1), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V0(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_1(0),   FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } },
@@ -9893,5 +10020,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } },
@@ -9900,22 +10027,22 @@
               /*mxcsr:in */ X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_FZ,
-              /*xcpt?    */ false, false },
-          { { /*src2     */ { FP64_INF(1), FP64_QNAN(0), FP64_SNAN(0), FP64_RAND_V0(0) } },
-            { /*src1     */ { FP64_INF(0), FP64_QNAN(0), FP64_SNAN(0), FP64_RAND_V0(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*src2     */ { FP64_INF(1),  FP64_QNAN(0), FP64_SNAN(0), FP64_RAND_V0(0) } },
+            { /*src1     */ { FP64_INF(0),  FP64_QNAN(0), FP64_SNAN(0), FP64_RAND_V0(0) } },
             { /* =>      */ { FP64_QNAN(1), FP64_QNAN(0), FP64_SNAN(0), FP64_RAND_V0(0) } },
               /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
-              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
+              /*256:out  */ -1,
               /*xcpt?    */ true, true },
     /*
      * Normals.
      */
-    /*15*/{ { /*src2     */ { FP64_V(0, 0xe66f500000000, 0x40d)/*31131.828125*/, FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
+    /*14*/{ { /*src2     */ { FP64_V(0, 0xe66f500000000, 0x40d)/*31131.828125*/, FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } },
             { /*src1     */ { FP64_V(0, 0xe66f500000000, 0x40d)/*31131.828125*/, FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
             { /* =>      */ { FP64_1(0),                                         FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xaf00000000000, 0x406)/*      215.50*/, FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V2(1) } },
@@ -9924,5 +10051,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(1, 0x107526e749f80, 0x42b)/*-18723145413791.50*/, FP64_RAND_V3(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } },
@@ -9931,5 +10058,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0x6fee0e4bd0000, 0x420)/* 12345678999.62500*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -9938,5 +10065,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK,
-              /*256:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_MAX(1), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } },
@@ -9945,5 +10072,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_RAND_V2(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -9952,5 +10079,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(1, 0x68b83b1ed4000, 0x41e)/*-3025935759.4140625*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } },
@@ -9959,5 +10086,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(1) } },
@@ -9966,5 +10093,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_1(0),                 FP64_0(0),                                                FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_MAX(1)          } },
@@ -9973,5 +10100,5 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           { { /*src2     */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_NORM_V2(0), FP64_NORM_V3(1) } },
@@ -9980,145 +10107,202 @@
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
     /*
      * Denormals.
      */
-    /*25*/{ { /* UNMASKED:           0 /  DENORM_MAX = 0       &&_DE */
-              /*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_DENORM_MIN(0),  FP64_0(0),          FP64_DENORM_MAX(0) } },
+    /*24*/{ { /*                     0 /  DENORM_MAX = 0        &_DE */
+              /*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_DENORM_MIN(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
               /*mxcsr:in */ 0,
               /*128:out  */ X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_DE,
-              /*xcpt?    */ true, true },
-          { { /*   MASKED:           0 /  DENORM_MAX = 0        &_DE */
-              /*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_DENORM_MIN(0),  FP64_0(0),          FP64_DENORM_MAX(0) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
-              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
-              /*xcpt?    */ false, false },
-          { { /* UNMASKED:  DENORM_MAX / -0          = -INF    &&_ZE */
-              /*src2     */ { FP64_0(1),          FP64_0(0),           FP64_DENORM_MIN(0), FP64_0(0)          } },
-            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0),  FP64_0(0),          FP64_DENORM_MAX(0) } },
-            { /* =>      */ { FP64_INF(1),        FP64_DENORM_MIN(0),  FP64_0(0),          FP64_DENORM_MAX(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*            DENORM_MAX / -0          = -INF     &_ZE */
+              /*src2     */ { FP64_0(1),          FP64_0(0),          FP64_DENORM_MIN(0), FP64_0(0)          } },
+            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
+            { /* =>      */ { FP64_INF(1),        FP64_DENORM_MIN(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
               /*mxcsr:in */ 0,
               /*128:out  */ X86_MXCSR_ZE,
-              /*256:out  */ X86_MXCSR_ZE,
-              /*xcpt?    */ true, true },
-          { { /*   MASKED: -DENORM_MAX / -0          = INF      &_ZE */
-              /*src2     */ { FP64_0(1),          FP64_0(0),           FP64_DENORM_MIN(0), FP64_0(0)          } },
-            { /*src1     */ { FP64_DENORM_MAX(1), FP64_DENORM_MIN(0),  FP64_0(0),          FP64_DENORM_MAX(0) } },
-            { /* =>      */ { FP64_INF(0),        FP64_DENORM_MIN(0),  FP64_0(0),          FP64_DENORM_MAX(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*            DENORM_MAX / -0          = INF      &_ZE */
+              /*src2     */ { FP64_0(1),          FP64_0(0),          FP64_DENORM_MIN(0), FP64_0(0)          } },
+            { /*src1     */ { FP64_DENORM_MAX(1), FP64_DENORM_MIN(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
+            { /* =>      */ { FP64_INF(0),        FP64_DENORM_MIN(0), FP64_0(0),          FP64_DENORM_MAX(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_ZE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_ZE,
-              /*xcpt?    */ false, false },
-          { { /*   MASKED: -DENORM_MAX /  DENORM_MIN = (-huge)  &_DE */
-              /*src2     */ { FP64_DENORM_MIN(0), FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_DENORM_MAX(1), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_V(1, 0xffffffffffffe, 0x432)/*-4503599627370495.0*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*           -DENORM_MAX /  DENORM_MIN = (-huge)  &_DE */
+              /*src2     */ { FP64_DENORM_MIN(0),                                       FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(1),                                       FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(1, 0xffffffffffffe, 0x432)/*-4503599627370495.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP | X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP | X86_MXCSR_DE,
-              /*xcpt?    */ false, false },
-          { { /* UNMASKED: -DENORM_MAX / -DENORM_MIN = (huge)  &&_DE */
-              /*src2     */ { FP64_DENORM_MIN(1), FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_DENORM_MAX(1), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_V(0, 0xffffffffffffe, 0x432)/*4503599627370495.0*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*           -DENORM_MAX / -DENORM_MIN = (huge)   &_DE */
+              /*src2     */ { FP64_DENORM_MIN(1),                                      FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(1),                                      FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(0, 0xffffffffffffe, 0x432)/*4503599627370495.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
               /*mxcsr:in */ X86_MXCSR_RC_UP,
               /*128:out  */ X86_MXCSR_RC_UP | X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_RC_UP | X86_MXCSR_DE,
-              /*xcpt?    */ true, true },
-          { { /*   MASKED: -DENORM_MIN /  DENORM_MAX = (-tiny)  &_DE,_PE */
-              /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_DENORM_MIN(1), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_V(1, 0x0000000000001, 0x3cb)/*-22204460492503135739e-35*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /*           -DENORM_MIN /  DENORM_MAX = (-tiny)  &_DE &_PE */
+              /*src2     */ { FP64_DENORM_MAX(0),                                             FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MIN(1),                                             FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(1, 0x0000000000001, 0x3cb)/*-22204460492503135739e-35*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE,
-              /*xcpt?    */ false, false },
-          { { /*   MASKED:          -0 /  DENORM_MIN = -0       &_DE */
-              /*src2     */ { FP64_DENORM_MIN(0), FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_0(1), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_0(1), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*                    -0 /  DENORM_MIN = -0       &_DE */
+              /*src2     */ { FP64_DENORM_MIN(0), FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_0(1),          FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_0(1),          FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
-              /*xcpt?    */ false, false },
-          { { /*   MASKED:       -0.25 /  DENORM_MAX = (-HUGE)  &_DE &_PE */
-              /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_V(1, 0, 0x3fd)/*0.25*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_V(1, 1, 0x7fb)/*1.1XYZe307*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*                 -0.25 /  DENORM_MAX = (-HUGE)  &_DE &_PE */
+              /*src2     */ { FP64_DENORM_MAX(0),                FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_V(1, 0, 0x3fd)/*0.25*/,       FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(1, 1, 0x7fb)/*1.1XYZe307*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE,
-              /*xcpt?    */ false, false },
-          { { /*   MASKED:        42.0 /  DENORM_MIN = INF      &_DE &_PE &_OE */
-              /*src2     */ { FP64_DENORM_MIN(0), FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_INF(0), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
-              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_OE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_OE,
-              /*xcpt?    */ false, false },
-          { { /* ~OMASKED:        42.0 /  DENORM_MIN = INF      &_DE &&_OE */
-              /*src2     */ { FP64_DENORM_MIN(0), FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_INF(0), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_OM,
-              /*128:out  */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_OM) | X86_MXCSR_DE | X86_MXCSR_OE,
-              /*256:out  */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_OM) | X86_MXCSR_DE | X86_MXCSR_OE,
-              /*xcpt?    */ true, true },
-          { { /* DAZ+MASK:        42.0 /  DENORM_MIN = INF      &_ZE */
-              /*src2     */ { FP64_DENORM_MIN(0), FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_INF(0), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*                  42.0 /  DENORM_MIN = INF      &_DE &_PE(if OM) &_OE */
+              /*src2     */ { FP64_DENORM_MIN(0),                        FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_INF(0),                               FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ X86_MXCSR_OM,
+              /*128:out  */ X86_MXCSR_OM | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*                  42.0 /  DENORM_MIN = INF      &_DE &_PE(if !DM) &_OE */
+              /*src2     */ { FP64_DENORM_MIN(0),                        FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_INF(0),                               FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_OE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*                  42.0 /  DENORM_MIN = INF      &_DE &!_PE(if !OM && DM) &_OE */
+              /*src2     */ { FP64_DENORM_MIN(0),                        FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_INF(0),                               FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_DE | X86_MXCSR_OE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /* ~DMASKED:        42.0 /  DENORM_MIN = INF      &_DE &_OE &!_PE(if !DM)*/
+              /*src2     */ { FP64_DENORM_MIN(0),                        FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_INF(0),                               FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_DE | X86_MXCSR_OE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /* ~OMASKED:        42.0 /  DENORM_MIN = INF      &_DE &_OE &!_PE(if !OM)*/
+              /*src2     */ { FP64_DENORM_MIN(0),                        FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_INF(0),                               FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_DE | X86_MXCSR_OE | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /* DOMASKED:        42.0 /  DENORM_MIN = INF      &_DE &_OE &_PE(if DM && OM) */
+              /*src2     */ { FP64_DENORM_MIN(0),                        FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_INF(0),                               FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM | X86_MXCSR_OM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_OM | X86_MXCSR_DE | X86_MXCSR_OE | X86_MXCSR_PE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_OM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /* DAZ:             42.0 /  DENORM_MIN = INF      &_ZE */
+              /*src2     */ { FP64_DENORM_MIN(0),                        FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_V(0, 0x5000000000000, 0x404)/*42.0*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_INF(0),                               FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_ZE | X86_MXCSR_DAZ,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_ZE | X86_MXCSR_DAZ,
-              /*xcpt?    */ false, false },
-          { { /*   MASKED:  DENORM_MAX /       -42.0 = -5e-310  &_DE &_PE &_UE */
-              /*src2     */ { FP64_V(1, 0x5000000000000, 0x404)/*-42.0*/, FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_V(1, 0x618618618618, 0)/*-5.29XYZe-310*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
-              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_UE,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_UE,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*            DENORM_MAX /       -42.0 = -5e-310  &_DE &_PE(if UM) &_UE */
+              /*src2     */ { FP64_V(1, 0x5000000000000, 0x404)/*-42.0*/,    FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0),                            FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(1, 0x618618618618, 0)/*-5.29XYZe-310*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ X86_MXCSR_UM,
+              /*128:out  */ X86_MXCSR_UM | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_UE | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /*            DENORM_MAX /       -42.0 = -5e-310  &_DE &_PE(if !DM) &_UE */
+              /*src2     */ { FP64_V(1, 0x5000000000000, 0x404)/*-42.0*/,    FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0),                            FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(1, 0x618618618618, 0)/*-5.29XYZe-310*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
 #ifdef TODO_X86_MXCSR_PE /** @todo THIS FAILS ON IEM: X86_MXCSR_PE not set in 128:out */
-          { { /* ~UMASKED:  DENORM_MAX /        42.0 = 5e-310   &_DE &_PE &&_UE */
-              /*src2     */ { FP64_V(0, 0x5000000000000, 0x404)/*-42.0*/, FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_V(0, 0x618618618618, 0)/*-5.29XYZe-310*/, FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-              /*mxcsr:in */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_UM,
-              /*128:out  */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_UM) | X86_MXCSR_PE | X86_MXCSR_DE | X86_MXCSR_UE, // | BS3_MXCSR_PE_FUZZY /* IEM: when converted to Worker1A */
-              /*256:out  */ (X86_MXCSR_XCPT_MASK & ~X86_MXCSR_UM) | X86_MXCSR_PE | X86_MXCSR_DE | X86_MXCSR_UE,
-              /*xcpt?    */ true, true },
+ /*--|41*/{ { /*            DENORM_MAX /       -42.0 = -5e-310  &_DE &!_PE(if DM && !UM) &_UE */
+              /*src2     */ { FP64_V(1, 0x5000000000000, 0x404)/*-42.0*/,    FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0),                            FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(1, 0x618618618618, 0)/*-5.29XYZe-310*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
 #endif /* TODO_X86_MXCSR_PE */
-          { { /* DAZ+MASK:  DENORM_MAX /       -42.0 = -0       &- */
-              /*src2     */ { FP64_V(1, 0x5000000000000, 0x404)/*-42.0*/, FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_0(1), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+ /*41|42*/{ { /*  UMASKED:  DENORM_MAX /        42.0 = 5e-310   &_DE &_PE(if UM) &_UE */
+              /*src2     */ { FP64_V(0, 0x5000000000000, 0x404)/*-42.0*/,    FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0),                            FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(0, 0x618618618618, 0)/*-5.29XYZe-310*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ X86_MXCSR_UM,
+              /*128:out  */ X86_MXCSR_UM | X86_MXCSR_PE | X86_MXCSR_DE | X86_MXCSR_UE | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+          { { /* ~DMASKED:  DENORM_MAX /        42.0 = 5e-310   &_DE &_PE(if !DM) &_UE */
+              /*src2     */ { FP64_V(0, 0x5000000000000, 0x404)/*-42.0*/,    FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0),                            FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(0, 0x618618618618, 0)/*-5.29XYZe-310*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ X86_MXCSR_PE | X86_MXCSR_DE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+#ifdef TODO_X86_MXCSR_PE /** @todo THIS FAILS ON IEM: X86_MXCSR_PE not set in 128:out */
+ /*--|44*/{ { /* D~UMASKED: DENORM_MAX /        42.0 = 5e-310   &_DE &!_PE(if DM && !UM) &_UE */
+              /*src2     */ { FP64_V(0, 0x5000000000000, 0x404)/*-42.0*/,    FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0),                            FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_V(0, 0x618618618618, 0)/*-5.29XYZe-310*/, FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*mxcsr:in */ X86_MXCSR_DM,
+              /*128:out  */ X86_MXCSR_DM | X86_MXCSR_PE | X86_MXCSR_DE | X86_MXCSR_UE | BS3_MXCSR_DM_FIXED | BS3_MXCSR_UM_FIXED,
+              /*256:out  */ -1,
+              /*xcpt?    */ true, true },
+#endif /* TODO_X86_MXCSR_PE */
+ /*43|45*/{ { /* DAZ:       DENORM_MAX /       -42.0 = -0       &- */
+              /*src2     */ { FP64_V(1, 0x5000000000000, 0x404)/*-42.0*/, FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0),                         FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_0(1),                                  FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
-              /*xcpt?    */ false, false },
-          { { /* DAZ+FZ+M:  DENORM_MAX /       -42.0 = -0       &- */
-              /*src2     */ { FP64_V(1, 0x5000000000000, 0x404)/*-42.0*/, FP64_0(0),           FP64_RAND_V2(0), FP64_RAND_V1(1) } },
-            { /*src1     */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
-            { /* =>      */ { FP64_0(1), FP64_DENORM_MIN(0),  FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+              /*256:out  */ -1,
+              /*xcpt?    */ false, false },
+          { { /* DAZ+FZ:    DENORM_MAX /       -42.0 = -0       &- */
+              /*src2     */ { FP64_V(1, 0x5000000000000, 0x404)/*-42.0*/, FP64_0(0),          FP64_RAND_V2(0), FP64_RAND_V1(1) } },
+            { /*src1     */ { FP64_DENORM_MAX(0),                         FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
+            { /* =>      */ { FP64_0(1),                                  FP64_DENORM_MIN(0), FP64_RAND_V1(1), FP64_RAND_V3(0) } },
               /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ,
               /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ,
-              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ,
+              /*256:out  */ -1,
               /*xcpt?    */ false, false },
           /** @todo how to usefully test FZ, RC_{NEAREST,UP,DOWN,ZERO} ? */
-
     /*
      * Invalids.
      */
-    /*40*/ FP64_TABLE_D1_SD_INVALIDS
+ /*45|47*/ FP64_TABLE_D1_SD_INVALIDS
     /** @todo Underflow, Precision; Rounding; FZ etc. */
     };
@@ -10159,5 +10343,5 @@
     static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64);
     unsigned const                         iTest       = BS3CPUINSTR4_TEST_MODES_INDEX(bMode);
-    return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
+    return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests,
                                         g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3));
 }
