Index: trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
===================================================================
--- trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32	(revision 106283)
+++ trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32	(revision 106284)
@@ -13340,4 +13340,229 @@
               /*128:out  */ X86_MXCSR_FZ,
               /*256:out  */ -1 },
+    /*
+     * Normals.
+     */
+    /*15*/{ { /*src1     */ { FP32_1(0),                                    FP32_RAND_x7_V3 } },
+            { /*unused   */ { FP32_RAND_V3(0),                              FP32_RAND_x7_V2 } },
+            { /* =>      */ { FP32_V(0, 0x7ff000, RTFLOAT32U_EXP_BIAS - 1), FP32_RAND_x7_V2 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_1(0),                                    FP32_RAND_x7_V3 } },
+            { /*unused   */ { FP32_RAND_V2(0),                              FP32_RAND_x7_V0 } },
+            { /* =>      */ { FP32_V(0, 0x7ff000, RTFLOAT32U_EXP_BIAS - 1), FP32_RAND_x7_V0 } },
+              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
+              /*128:out  */ X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_1(0),                                    FP32_RAND_x7_V3 } },
+            { /*unused   */ { FP32_RAND_V2(0),                              FP32_RAND_x7_V1 } },
+            { /* =>      */ { FP32_V(0, 0x7ff000, RTFLOAT32U_EXP_BIAS - 1), FP32_RAND_x7_V1 } },
+              /*mxcsr:in */ X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_RC_UP,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_1(0),                                    FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V1(0),                              FP32_RAND_x7_V6 } },
+            { /* =>      */ { FP32_V(0, 0x7ff000, RTFLOAT32U_EXP_BIAS - 1), FP32_RAND_x7_V6 } },
+              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x7fe800, RTFLOAT32U_EXP_BIAS - 2), FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V2(0),                              FP32_RAND_x7_V1 } },
+            { /* =>      */ { FP32_V(0, 4096, RTFLOAT32U_EXP_BIAS + 1),     FP32_RAND_x7_V1 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc01, RTFLOAT32U_EXP_BIAS - 1),                   FP32_RAND_x7_V5 } },
+            { /*unused   */ { FP32_RAND_V2(0),                                             FP32_RAND_x7_V4 } },
+            { /* =>      */ { FP32_V(0, FP32_FRAC_DENORM_MAX - 4095, RTFLOAT32U_EXP_BIAS), FP32_RAND_x7_V4 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x7fe800, RTFLOAT32U_EXP_MAX  - 3), FP32_RAND_x7_V5 } },
+            { /*unused   */ { FP32_RAND_V1(1),                              FP32_RAND_x7_V6 } },
+            { /* =>      */ { FP32_V(0, 4096, 1),                           FP32_RAND_x7_V6 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x7fe800, RTFLOAT32U_EXP_MAX  - 3), FP32_RAND_x7_V5 } },
+            { /*unused   */ { FP32_RAND_V1(1),                              FP32_RAND_x7_V6 } },
+            { /* =>      */ { FP32_V(0, 4096, 1),                           FP32_RAND_x7_V6 } },
+              /*mxcsr:in */ X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_RC_UP,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x7fe800, RTFLOAT32U_EXP_MAX  - 3), FP32_RAND_x7_V5 } },
+            { /*unused   */ { FP32_RAND_V1(1),                              FP32_RAND_x7_V6 } },
+            { /* =>      */ { FP32_V(0, 4096, 1),                           FP32_RAND_x7_V6 } },
+              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
+              /*128:out  */ X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc01, RTFLOAT32U_EXP_MAX  - 2), FP32_RAND_x7_V1 } },
+            { /*unused   */ { FP32_RAND_V2(1),                           FP32_RAND_x7_V1 } },
+            { /* =>      */ { FP32_0(0),                                 FP32_RAND_x7_V1 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc01, RTFLOAT32U_EXP_MAX  - 3), FP32_RAND_x7_V1 } },
+            { /*unused   */ { FP32_RAND_V2(1),                           FP32_RAND_x7_V6 } },
+            { /* =>      */ { FP32_V(0, 0x7ff000, 1),                    FP32_RAND_x7_V6 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc00, RTFLOAT32U_EXP_MAX  - 2), FP32_RAND_x7_V0 } },
+            { /*unused   */ { FP32_RAND_V1(1),                           FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_0(0),                                 FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc00, RTFLOAT32U_EXP_MAX  - 2), FP32_RAND_x7_V0 } },
+            { /*unused   */ { FP32_RAND_V2(1),                           FP32_RAND_x7_V1 } },
+            { /* =>      */ { FP32_0(0),                                 FP32_RAND_x7_V1 } },
+              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
+              /*128:out  */ X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc00, RTFLOAT32U_EXP_MAX  - 2), FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V4(1),                           FP32_RAND_x7_V4 } },
+            { /* =>      */ { FP32_0(0),                                 FP32_RAND_x7_V4 } },
+              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc02, RTFLOAT32U_EXP_MAX  - 2), FP32_RAND_x7_V3 } },
+            { /*unused   */ { FP32_RAND_V6(1),                           FP32_RAND_x7_V5 } },
+            { /* =>      */ { FP32_0(0),                                 FP32_RAND_x7_V5 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc02, RTFLOAT32U_EXP_MAX  - 2), FP32_RAND_x7_V1 } },
+            { /*unused   */ { FP32_RAND_V2(0),                           FP32_RAND_x7_V2 } },
+            { /* =>      */ { FP32_0(0),                                 FP32_RAND_x7_V2 } },
+              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
+              /*128:out  */ X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc02, RTFLOAT32U_EXP_MAX  - 2), FP32_RAND_x7_V0 } },
+            { /*unused   */ { FP32_RAND_V3(1),                           FP32_RAND_x7_V6 } },
+            { /* =>      */ { FP32_0(0),                                 FP32_RAND_x7_V6 } },
+              /*mxcsr:in */ X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_RC_UP,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0xc02, RTFLOAT32U_EXP_MAX  - 2), FP32_RAND_x7_V3 } },
+            { /*unused   */ { FP32_RAND_V5(1),                           FP32_RAND_x7_V5 } },
+            { /* =>      */ { FP32_0(0),                                 FP32_RAND_x7_V5 } },
+              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x7fe801, RTFLOAT32U_EXP_MAX  - 3), FP32_RAND_x7_V7 } },
+            { /*unused   */ { FP32_RAND_V7(1),                              FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 4096, 1),                           FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x7fe801, RTFLOAT32U_EXP_MAX  - 3), FP32_RAND_x7_V3 } },
+            { /*unused   */ { FP32_RAND_V4(1),                              FP32_RAND_x7_V4 } },
+            { /* =>      */ { FP32_V(0, 4096, 1),                           FP32_RAND_x7_V4 } },
+              /*mxcsr:in */ X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_RC_UP,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x7fe801, RTFLOAT32U_EXP_MAX  - 3), FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V3(1),                              FP32_RAND_x7_V6 } },
+            { /* =>      */ { FP32_V(0, 4096, 1),                           FP32_RAND_x7_V6 } },
+              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x7fe801, RTFLOAT32U_EXP_MAX  - 3), FP32_RAND_x7_V1 } },
+            { /*unused   */ { FP32_RAND_V2(1),                              FP32_RAND_x7_V0 } },
+            { /* =>      */ { FP32_V(0, 4096, 1),                           FP32_RAND_x7_V0 } },
+              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
+              /*128:out  */ X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_x7_V1 } },
+            { /*unused   */ { FP32_RAND_V3(1),                      FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 1343488, 106),              FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_x7_V1 } },
+            { /*unused   */ { FP32_RAND_V3(1),                      FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 1343488, 106),              FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
+              /*128:out  */ X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x5ca5b8, 0x93)/*1807543*/, FP32_RAND_x7_V1 } },
+            { /*unused   */ { FP32_RAND_V3(1),                      FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 1343488, 106),              FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_RC_UP,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x1ea980, 0x8f)/*81235*/, FP32_RAND_x7_V1 } },
+            { /*unused   */ { FP32_RAND_V2(0),                    FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 5146624, 110),            FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x253468, 0x93)/*1353357*/, FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V3(0),                      FP32_RAND_x7_V0 } },
+            { /* =>      */ { FP32_V(0, 4610048, 106),              FP32_RAND_x7_V0 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x620b2d, 0x92)/*925874.8*/, FP32_RAND_x7_V4 } },
+            { /*unused   */ { FP32_RAND_V2(0),                       FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 1112064, 107),               FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
+              /*128:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x620b2d, 0x92)/*925874.8*/, FP32_RAND_x7_V4 } },
+            { /*unused   */ { FP32_RAND_V2(0),                       FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 1112064, 107),               FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x600000, 0x7e)/*0.875*/, FP32_RAND_x7_V4 } },
+            { /*unused   */ { FP32_RAND_V3(0),                    FP32_RAND_x7_V0 } },
+            { /* =>      */ { FP32_V(0, 1196032, 127),            FP32_RAND_x7_V0 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V1(0),                        FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 2293760, 125),                FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
+              /*128:out  */ X86_MXCSR_XCPT_MASK,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V1(0),                        FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(0, 2293760, 125),                FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ X86_MXCSR_RC_UP,
+              /*128:out  */ X86_MXCSR_RC_UP,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(0, 0x490fda, 0x80)/*3.1415926*/, FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V1(0),                        FP32_RAND_x7_V0 } },
+            { /* =>      */ { FP32_V(0, 2293760, 125),                FP32_RAND_x7_V0 } },
+              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
+              /*128:out  */ X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(1, 0, 0x7d)/*-0.250*/, FP32_RAND_x7_V6 } },
+            { /*unused   */ { FP32_RAND_V6(0),              FP32_RAND_x7_V1 } },
+            { /* =>      */ { FP32_V(1, 8384512, 128),      FP32_RAND_x7_V1 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(1, 0, 0x7d)/*-0.250*/, FP32_RAND_x7_V6 } },
+            { /*unused   */ { FP32_RAND_V3(1),              FP32_RAND_x7_V1 } },
+            { /* =>      */ { FP32_V(1, 8384512, 128),      FP32_RAND_x7_V1 } },
+              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
+              /*128:out  */ X86_MXCSR_RC_DOWN,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(1, 0x534000, 0x86)/*-211.25*/, FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V3(1),                      FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(1, 1775616, 119),              FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ 0,
+              /*128:out  */ 0,
+              /*256:out  */ -1 },
+          { { /*src1     */ { FP32_V(1, 0x534000, 0x86)/*-211.25*/, FP32_RAND_x7_V2 } },
+            { /*unused   */ { FP32_RAND_V3(1),                      FP32_RAND_x7_V3 } },
+            { /* =>      */ { FP32_V(1, 1775616, 119),              FP32_RAND_x7_V3 } },
+              /*mxcsr:in */ X86_MXCSR_RC_ZERO,
+              /*128:out  */ X86_MXCSR_RC_ZERO,
+              /*256:out  */ -1 },
     };
 
