VirtualBox

Changeset 106091 in vbox


Ignore:
Timestamp:
Sep 19, 2024 9:25:16 AM (2 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: bugref:10658 SIMD FP testcase: [v]maxss -- denormals.

File:
1 edited

Legend:

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

    r106089 r106091  
    99699969     * Infinity.
    99709970     */
    9971     /*9 */{ { /*src2     */ { FP32_INF(0), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
     9971    /*11*/{ { /*src2     */ { FP32_INF(0), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1), FP32_RAND_V0(1) } },
    99729972            { /*src1     */ { FP32_0(0),   FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
    99739973            { /* =>      */ { FP32_INF(0), FP32_RAND_V1(0), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V3(0), FP32_RAND_V1(0), FP32_RAND_V6(1) } },
     
    1008410084     * Normals.
    1008510085     */
    10086     /*25*/{ { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V1(1) } },
     10086    /*27*/{ { /*src2     */ { FP32_NORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V4(0), FP32_RAND_V3(0), FP32_RAND_V1(1) } },
    1008710087            { /*src1     */ { FP32_NORM_MAX(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V3(1), FP32_RAND_V1(1) } },
    1008810088            { /* =>      */ { FP32_NORM_MAX(0), FP32_RAND_V3(1), FP32_RAND_V2(0), FP32_RAND_V5(1), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V3(1), FP32_RAND_V1(1) } },
     
    1021810218              /*xcpt?    */ false, false },
    1021910219    /** @todo More Normals. */
    10220     /** @todo Normals; Denormals; Invalids; Rounding; FZ etc. */
     10220    /*
     10221     * Denormals.
     10222     */
     10223    /*46*/{ { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V7(0), FP32_RAND_V2(1) } },
     10224            { /*src1     */ { FP32_0(0),          FP32_RAND_V3(0), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
     10225            { /* =>      */ { FP32_0(0),          FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(0), FP32_RAND_V1(1) } },
     10226              /*mxcsr:in */ 0,
     10227              /*128:out  */ X86_MXCSR_DE,
     10228              /*256:out  */ X86_MXCSR_DE,
     10229              /*xcpt?    */ true, true },
     10230          { { /*src2     */ { FP32_0(0),          FP32_SNAN(0),    FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(0), FP32_SNAN(0),    FP32_SNAN(0),    FP32_QNAN(1)    } },
     10231            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_QNAN(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
     10232            { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_QNAN(1), FP32_RAND_V6(0), FP32_RAND_V3(1), FP32_RAND_V2(0) } },
     10233              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10234              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10235              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10236              /*xcpt?    */ false, false },
     10237          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_INF(1), FP32_SNAN(0), FP32_INF(1),  FP32_RAND_V2(1), FP32_RAND_V5(1), FP32_RAND_V2(1), FP32_RAND_V0(1) } },
     10238            { /*src1     */ { FP32_DENORM_MAX(0), FP32_INF(0), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V3(0) } },
     10239            { /* =>      */ { FP32_0(0),          FP32_INF(0), FP32_QNAN(1), FP32_SNAN(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V2(1), FP32_RAND_V3(0) } },
     10240              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     10241              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     10242              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP,
     10243              /*xcpt?    */ false, false },
     10244          { { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V7(1), FP32_RAND_V6(0), FP32_RAND_V2(0), FP32_RAND_V1(1), FP32_RAND_V7(0), FP32_RAND_V0(0) } },
     10245            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V4(1) } },
     10246            { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V3(0), FP32_RAND_V5(0), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V4(1) } },
     10247              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10248              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10249              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10250              /*xcpt?    */ false, false },
     10251          { { /*src2     */ { FP32_DENORM_MAX(0), FP32_RAND_V1(1), FP32_RAND_V2(1), FP32_RAND_V2(0), FP32_RAND_V3(0), FP32_RAND_V3(1), FP32_RAND_V4(0), FP32_RAND_V5(1) } },
     10252            { /*src1     */ { FP32_DENORM_MAX(1), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
     10253            { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V7(0), FP32_RAND_V6(0), FP32_RAND_V7(0), FP32_RAND_V5(0), FP32_RAND_V3(1), FP32_RAND_V3(1), FP32_RAND_V2(1) } },
     10254              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10255              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10256              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10257              /*xcpt?    */ false, false },
     10258          { { /*src2     */ { FP32_DENORM_MAX(1), FP32_RAND_V3(1), FP32_RAND_V7(0), FP32_RAND_V6(1), FP32_RAND_V2(0), FP32_RAND_V1(0), FP32_RAND_V7(1), FP32_RAND_V2(1) } },
     10259            { /*src1     */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     10260            { /* =>      */ { FP32_DENORM_MAX(0), FP32_RAND_V2(1), FP32_RAND_V3(1), FP32_RAND_V5(1), FP32_RAND_V6(1), FP32_RAND_V7(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     10261              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10262              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10263              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10264              /*xcpt?    */ false, false },
     10265          { { /*src2     */ { FP32_DENORM_MIN(1), FP32_RAND_V7(1), FP32_RAND_V6(1), FP32_RAND_V5(1), FP32_RAND_V4(1), FP32_RAND_V3(1), FP32_RAND_V2(1), FP32_RAND_V1(1) } },
     10266            { /*src1     */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
     10267            { /* =>      */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
     10268              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10269              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10270              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10271              /*xcpt?    */ false, false },
     10272          { { /*src2     */ { FP32_DENORM_MIN(1), FP32_INF(0),     FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(1), FP32_SNAN(1),    FP32_SNAN(0),    FP32_QNAN(1)    } },
     10273            { /*src1     */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     10274            { /* =>      */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     10275              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10276              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10277              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10278              /*xcpt?    */ false, false },
     10279          { { /*src2     */ { FP32_DENORM_MIN(1), FP32_INF(0),     FP32_QNAN(1),    FP32_QNAN(0),    FP32_SNAN(1), FP32_SNAN(1),    FP32_SNAN(0),    FP32_QNAN(1)    } },
     10280            { /*src1     */ { FP32_DENORM_MIN(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     10281            { /* =>      */ { FP32_0(1),          FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V0(1), FP32_QNAN(0), FP32_RAND_V2(0), FP32_RAND_V4(1), FP32_RAND_V7(0) } },
     10282              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     10283              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     10284              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ,
     10285              /*xcpt?    */ false, false },
     10286          { { /*src2     */ { FP32_DENORM_MIN(0), FP32_RAND_V0(1), FP32_RAND_V1(0), FP32_RAND_V2(1), FP32_RAND_V3(0), FP32_RAND_V4(1), FP32_RAND_V5(0), FP32_RAND_V6(1) } },
     10287            { /*src1     */ { FP32_0(0),          FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
     10288            { /* =>      */ { FP32_DENORM_MIN(0), FP32_RAND_V0(0), FP32_RAND_V1(1), FP32_RAND_V2(0), FP32_RAND_V3(1), FP32_RAND_V4(1), FP32_RAND_V5(1), FP32_RAND_V6(1) } },
     10289              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     10290              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10291              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE,
     10292              /*xcpt?    */ false, false },
     10293    /** @todo More Denormals. */
     10294    /** @todo Invalids; Rounding; FZ etc. */
    1022110295    };
    1022210296
Note: See TracChangeset for help on using the changeset viewer.

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