VirtualBox

Changeset 105923 in vbox for trunk/src/VBox/ValidationKit


Ignore:
Timestamp:
Sep 3, 2024 7:52:02 AM (5 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: bugref:10658 SIMD FP testcase: [v]hsubpd (W.I.P)

File:
1 edited

Legend:

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

    r105913 r105923  
    61096109              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    61106110              /*xcpt?    */ false, false },
     6111          { { /*src2     */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(1) } },
     6112            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(0) } },
     6113            { /* =>      */ { FP64_0(1), FP64_0(0), FP64_0(1), FP64_0(1) } },
     6114              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     6115              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     6116              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     6117              /*xcpt?    */ false, false },
    61116118    /*
    61126119     * Infinity.
    61136120     */
    6114     /* 6*/{ { /*src2     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
     6121    /* 7*/{ { /*src2     */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } },
    61156122            { /*src1     */ { FP64_INF(1), FP64_INF(0), FP64_0(0),   FP64_0(0)   } },
    61166123            { /* =>      */ { FP64_INF(1), FP64_INF(0), FP64_0(0),   FP64_INF(0) } },
     
    61506157     * Overflow, Precision.
    61516158     */
    6152     /*11*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(0), FP64_NORM_MAX(0) } },
     6159    /*12*/{ { /*src2     */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(0), FP64_NORM_MAX(0) } },
    61536160            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(1), FP64_NORM_MAX(1) } },
    61546161            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0),        FP64_0(0)        } },
     
    62136220              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP | X86_MXCSR_PE,
    62146221              /*xcpt?    */ false, false },
    6215     /** @todo Denormals; Normals; Invalids; Underflow,
     6222    /*
     6223     * Denormals.
     6224     */
     6225    /*21*/{ { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0),          FP64_DENORM_MAX(0), FP64_0(0)          } },
     6226            { /*src1     */ { FP64_0(0),          FP64_DENORM_MAX(1), FP64_0(0),          FP64_DENORM_MAX(1) } },
     6227            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
     6228              /*mxcsr:in */ 0,
     6229              /*128:out  */ X86_MXCSR_DE,
     6230              /*256:out  */ X86_MXCSR_DE,
     6231              /*xcpt?    */ true, true },
     6232          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(1), FP64_DENORM_MIN(1) } },
     6233            { /*src1     */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(1), FP64_DENORM_MAX(1) } },
     6234            { /* =>      */ { FP64_0(0),          FP64_0(0),          FP64_0(0),          FP64_0(0)          } },
     6235              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK,
     6236              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK,
     6237              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK,
     6238              /*xcpt?    */ false, false },
     6239          { { /*src2     */ { FP64_DENORM_MAX(0), FP64_0(0), FP64_0(0),          FP64_0(0) } },
     6240            { /*src1     */ { FP64_0(0),          FP64_0(0), FP64_DENORM_MIN(0), FP64_0(0) } },
     6241            { /* =>      */ { FP64_0(0),          FP64_0(0), FP64_0(0),          FP64_0(0) } },
     6242              /*mxcsr:in */ 0,
     6243              /*128:out  */ X86_MXCSR_DE,
     6244              /*256:out  */ X86_MXCSR_DE,
     6245              /*xcpt?    */ true, true },
     6246          { { /*src2     */ { FP64_0(0), FP64_0(0),          FP64_DENORM_MIN(1), FP64_DENORM_MAX(1) } },
     6247            { /*src1     */ { FP64_0(1), FP64_DENORM_MAX(0), FP64_DENORM_MAX(1), FP64_0(0)          } },
     6248            { /* =>      */ { FP64_0(1), FP64_0(0),          FP64_0(1),          FP64_0(0)          } },
     6249              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
     6250              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
     6251              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
     6252              /*xcpt?    */ false, false },
     6253          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } },
     6254            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_DENORM_MIN(1), FP64_DENORM_MIN(1) } },
     6255            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_0(0),          FP64_0(0)          } },
     6256              /*mxcsr:in */ 0,
     6257              /*128:out  */ 0,
     6258              /*256:out  */ X86_MXCSR_DE,
     6259              /*xcpt?    */ false, true },
     6260          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_DENORM_MAX(1), FP64_DENORM_MAX(1) } },
     6261            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_DENORM_MIN(1), FP64_DENORM_MIN(1) } },
     6262            { /* =>      */ { FP64_0(1), FP64_0(1), FP64_0(1),          FP64_0(1)          } },
     6263              /*mxcsr:in */ X86_MXCSR_XCPT_FLAGS | X86_MXCSR_RC_DOWN,
     6264              /*128:out  */ X86_MXCSR_XCPT_FLAGS | X86_MXCSR_RC_DOWN,
     6265              /*256:out  */ X86_MXCSR_XCPT_FLAGS | X86_MXCSR_RC_DOWN | X86_MXCSR_DE,
     6266              /*xcpt?    */ false, true },
     6267    /** @todo Normals; Invalids; Underflow,
    62166268     *        Precision; Rounding, FZ etc. */
    62176269    };
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