VirtualBox

Changeset 105986 in vbox


Ignore:
Timestamp:
Sep 9, 2024 4:04:32 PM (3 months ago)
Author:
vboxsync
Message:

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

File:
1 edited

Legend:

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

    r105977 r105986  
    87338733             /*256:out  */ X86_MXCSR_XCPT_FLAGS | X86_MXCSR_RC_ZERO,
    87348734             /*xcpt?    */ false, false },
    8735          /** @todo Infinity; Overflow/Precision; Normals; Denormals; Invalids; Rounding; FZ
     8735    /*
     8736     * Infinity.
     8737     */
     8738    /*10*/{ { /*src2     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(0), FP64_INF(0)  } },
     8739            { /*src1     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(1), FP64_INF(1)  } },
     8740            { /* =>      */ { FP64_QNAN(1), FP64_INF(0), FP64_INF(1), FP64_QNAN(1) } },
     8741              /*mxcsr:in */ X86_MXCSR_IM,
     8742              /*128:out  */ X86_MXCSR_IM | X86_MXCSR_IE,
     8743              /*256:out  */ X86_MXCSR_IM | X86_MXCSR_IE,
     8744              /*xcpt?    */ false, false },
     8745          { { /*src2     */ { FP64_INF(0), FP64_QNAN(1), FP64_QNAN(1), FP64_INF(1) } },
     8746            { /*src1     */ { FP64_INF(0), FP64_QNAN(1), FP64_QNAN(1), FP64_INF(1) } },
     8747            { /* =>      */ { FP64_QNAN(1), FP64_QNAN(1), FP64_QNAN(1), FP64_INF(1) } },
     8748              /*mxcsr:in */ X86_MXCSR_IM,
     8749              /*128:out  */ X86_MXCSR_IM | X86_MXCSR_IE,
     8750              /*256:out  */ X86_MXCSR_IM | X86_MXCSR_IE,
     8751              /*xcpt?    */ false, false },
     8752          { { /*src2     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(0), FP64_INF(0)  } },
     8753            { /*src1     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(1), FP64_INF(1)  } },
     8754            { /* =>      */ { FP64_QNAN(1), FP64_INF(0), FP64_INF(1), FP64_QNAN(1) } },
     8755              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     8756              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     8757              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     8758              /*xcpt?    */ false, false },
     8759          { { /*src2     */ { FP64_INF(1), FP64_INF(1),  FP64_INF(1),  FP64_INF(1) } },
     8760            { /*src1     */ { FP64_INF(0), FP64_INF(0),  FP64_INF(1),  FP64_INF(1) } },
     8761            { /* =>      */ { FP64_INF(0), FP64_QNAN(1), FP64_QNAN(1), FP64_INF(1) } },
     8762              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     8763              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     8764              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     8765              /*xcpt?    */ false, false },
     8766          { { /*src2     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(0), FP64_INF(0)  } },
     8767            { /*src1     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(1), FP64_INF(1)  } },
     8768            { /* =>      */ { FP64_QNAN(1), FP64_INF(0), FP64_INF(1), FP64_QNAN(1) } },
     8769              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     8770              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     8771              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     8772              /*xcpt?    */ false, false },
     8773          { { /*src2     */ { FP64_INF(1), FP64_INF(1),  FP64_INF(1),  FP64_INF(1) } },
     8774            { /*src1     */ { FP64_INF(0), FP64_INF(0),  FP64_INF(1),  FP64_INF(1) } },
     8775            { /* =>      */ { FP64_INF(0), FP64_QNAN(1), FP64_QNAN(1), FP64_INF(1) } },
     8776              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     8777              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     8778              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE,
     8779              /*xcpt?    */ false, false },
     8780          { { /*src2     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(0), FP64_INF(0)  } },
     8781            { /*src1     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(1), FP64_INF(1)  } },
     8782            { /* =>      */ { FP64_QNAN(1), FP64_INF(0), FP64_INF(1), FP64_QNAN(1) } },
     8783              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     8784              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
     8785              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
     8786              /*xcpt?    */ false, false },
     8787          { { /*src2     */ { FP64_INF(1), FP64_INF(1),  FP64_INF(1),  FP64_INF(1) } },
     8788            { /*src1     */ { FP64_INF(0), FP64_INF(0),  FP64_INF(1),  FP64_INF(1) } },
     8789            { /* =>      */ { FP64_INF(0), FP64_QNAN(1), FP64_QNAN(1), FP64_INF(1) } },
     8790              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     8791              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
     8792              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE,
     8793              /*xcpt?    */ false, false },
     8794          { { /*src2     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(0), FP64_INF(0)  } },
     8795            { /*src1     */ { FP64_INF(0),  FP64_INF(0), FP64_INF(1), FP64_INF(1)  } },
     8796            { /* =>      */ { FP64_QNAN(1), FP64_INF(0), FP64_INF(1), FP64_QNAN(1) } },
     8797              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8798              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE,
     8799              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE,
     8800              /*xcpt?    */ false, false },
     8801          { { /*src2     */ { FP64_INF(1), FP64_INF(1),  FP64_INF(1),  FP64_INF(1) } },
     8802            { /*src1     */ { FP64_INF(0), FP64_INF(0),  FP64_INF(1),  FP64_INF(1) } },
     8803            { /* =>      */ { FP64_INF(0), FP64_QNAN(1), FP64_QNAN(1), FP64_INF(1) } },
     8804              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8805              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE,
     8806              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE,
     8807              /*xcpt?    */ false, false },
     8808          { { /*src2     */ { FP64_0(0), FP64_0(0), FP64_INF(1), FP64_INF(1)  } },
     8809            { /*src1     */ { FP64_0(0), FP64_0(0), FP64_INF(0), FP64_INF(0)  } },
     8810            { /* =>      */ { FP64_0(0), FP64_0(0), FP64_INF(0), FP64_QNAN(1) } },
     8811              /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8812              /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8813              /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE,
     8814              /*xcpt?    */ false, true },
     8815          { { /*src2     */ { FP64_INF(0), FP64_0(0),   FP64_0(1),   FP64_0(1),  } },
     8816            { /*src1     */ { FP64_0(0),   FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
     8817            { /* =>      */ { FP64_INF(1), FP64_INF(0), FP64_INF(0), FP64_INF(0) } },
     8818              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     8819              /*128:out  */ X86_MXCSR_XCPT_MASK,
     8820              /*256:out  */ X86_MXCSR_XCPT_MASK,
     8821              /*xcpt?    */ false, false },
     8822          { { /*src2     */ { FP64_INF(0),     FP64_NORM_V1(0), FP64_INF(1),     FP64_INF(1)     } },
     8823            { /*src1     */ { FP64_NORM_V0(0), FP64_INF(0),     FP64_NORM_V1(1), FP64_NORM_V0(1) } },
     8824            { /* =>      */ { FP64_INF(1),     FP64_INF(0),     FP64_INF(0),     FP64_INF(1)     } },
     8825              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     8826              /*128:out  */ X86_MXCSR_XCPT_MASK,
     8827              /*256:out  */ X86_MXCSR_XCPT_MASK,
     8828              /*xcpt?    */ false, false },
     8829          { { /*src2     */ { FP64_NORM_V3(0), FP64_NORM_V3(0), FP64_NORM_V1(1), FP64_NORM_V0(1) } },
     8830            { /*src1     */ { FP64_INF(0),     FP64_INF(0),     FP64_INF(1),     FP64_INF(1)     } },
     8831            { /* =>      */ { FP64_INF(0),     FP64_INF(0),     FP64_INF(1),     FP64_INF(1)     } },
     8832              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
     8833              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
     8834              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO,
     8835              /*xcpt?    */ false, false },
     8836         /** @todo Overflow/Precision; Normals; Denormals; Invalids; Rounding; FZ
    87368837          *        etc. */
    87378838    };
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