VirtualBox

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


Ignore:
Timestamp:
Sep 10, 2024 10:00:54 AM (5 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
164745
Message:

ValidationKit/bootsectors: bugref:10658 SIMD FP testcase: [v]addsubpd.

File:
1 edited

Legend:

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

    r105999 r106000  
    90699069              /*xcpt?    */ false, false },
    90709070    /** @todo More Denormals. */
    9071     /** @todo Invalids; Rounding; FZ etc. */
     9071    /*
     9072     * Invalids.
     9073     */
     9074    /*56*/{ { /*src2     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP64_FRAC_V1) } },
     9075            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     9076            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     9077              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     9078              /*128:out  */ X86_MXCSR_XCPT_MASK,
     9079              /*256:out  */ X86_MXCSR_XCPT_MASK,
     9080              /*xcpt?    */ false, false },
     9081          { { /*src2     */ { FP64_QNAN(0),      FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP64_FRAC_V2) } },
     9082            { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1) } },
     9083            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, 1),                  FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V1) } },
     9084              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     9085              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     9086              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     9087              /*xcpt?    */ false, false },
     9088          { { /*src2     */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V1) } },
     9089            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     9090            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     9091              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     9092              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     9093              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     9094              /*xcpt?    */ false, false },
     9095          { { /*src2     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     9096            { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V0) } },
     9097            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V0) } },
     9098              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     9099              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     9100              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     9101              /*xcpt?    */ false, false },
     9102          { { /*src2     */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_QNAN_V(0, FP64_FRAC_V1) } },
     9103            { /*src1     */ { FP64_1(0),    FP64_1(1),                          FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     9104            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V1) } },
     9105              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     9106              /*128:out  */ X86_MXCSR_XCPT_MASK,
     9107              /*256:out  */ X86_MXCSR_XCPT_MASK,
     9108              /*xcpt?    */ false, false },
     9109          { { /*src2     */ { FP64_SNAN(1),      FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_SNAN_V(0, FP64_FRAC_V1) } },
     9110            { /*src1     */ { FP64_1(0),         FP64_1(0),                          FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1)              } },
     9111            { /* =>      */ { FP64_QNAN_V(1, 1), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V1) } },
     9112              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     9113              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     9114              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE,
     9115              /*xcpt?    */ false, false },
     9116          { { /*src2     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP64_FRAC_V2) } },
     9117            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     9118            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     9119              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     9120              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     9121              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     9122              /*xcpt?    */ false, false },
     9123          { { /*src2     */ { FP64_QNAN(0),      FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0),       FP64_QNAN_V(0, FP32_FRAC_V1) } },
     9124            { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP32_FRAC_V2) } },
     9125            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, 1),                  FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP32_FRAC_V2) } },
     9126              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     9127              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     9128              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     9129              /*xcpt?    */ true, true },
     9130          { { /*src2     */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V1) } },
     9131            { /*src1     */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     9132            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     9133              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     9134              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     9135              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     9136              /*xcpt?    */ true, true },
     9137          { { /*src2     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } },
     9138            { /*src1     */ { FP64_SNAN(0),      FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } },
     9139            { /* =>      */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V3) } },
     9140              /*mxcsr:in */ X86_MXCSR_RC_UP,
     9141              /*128:out  */ X86_MXCSR_RC_UP | X86_MXCSR_IE,
     9142              /*256:out  */ X86_MXCSR_RC_UP | X86_MXCSR_IE,
     9143              /*xcpt?    */ true, true },
     9144          { { /*src2     */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_QNAN_V(0, FP64_FRAC_V1) } },
     9145            { /*src1     */ { FP64_1(0),    FP64_1(1),                          FP64_QNAN_V(1, FP64_FRAC_V3), FP64_NORM_V2(1)              } },
     9146            { /* =>      */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V1) } },
     9147              /*mxcsr:in */ X86_MXCSR_RC_DOWN,
     9148              /*128:out  */ X86_MXCSR_RC_DOWN,
     9149              /*256:out  */ X86_MXCSR_RC_DOWN,
     9150              /*xcpt?    */ false, false },
     9151          { { /*src2     */ { FP64_SNAN(1),      FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1),              FP64_SNAN_V(0, FP64_FRAC_V2) } },
     9152            { /*src1     */ { FP64_1(0),         FP64_1(0),                          FP64_SNAN_V(1, FP64_FRAC_V3), FP64_NORM_V2(1)              } },
     9153            { /* =>      */ { FP64_QNAN_V(1, 1), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } },
     9154              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
     9155              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     9156              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     9157              /*xcpt?    */ true, true },
     9158    /** @todo Rounding; FZ etc. */
    90729159    };
    90739160
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