VirtualBox

Changeset 106025 in vbox


Ignore:
Timestamp:
Sep 12, 2024 10:27:04 AM (8 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
164774
Message:

ValidationKit/bootsectors: bugref:10658 SIMD FP testcase: [v]maxps - Infinites.

File:
1 edited

Legend:

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

    r106024 r106025  
    83388338              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
    83398339              /*xcpt?    */ false, false },
    8340     /** @todo Infinity; Normals; Denormals; Underflow, Precision; Rounding; FZ etc. */
     8340    /*
     8341     * Infinity.
     8342     */
     8343    /*9 */{ { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     8344            { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     8345            { /* =>      */ { FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_0(0),   FP32_0(0),   FP32_0(0),   FP32_0(0)   } },
     8346              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     8347              /*128:out  */ X86_MXCSR_XCPT_MASK,
     8348              /*256:out  */ X86_MXCSR_XCPT_MASK,
     8349              /*xcpt?    */ false, false },
     8350          { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     8351            { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     8352            { /* =>      */ { FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_0(0),   FP32_0(0),   FP32_0(0),   FP32_0(0)   } },
     8353              /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     8354              /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     8355              /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP,
     8356              /*xcpt?    */ false, false },
     8357         { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     8358           { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     8359           { /* =>      */ { FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_0(0),   FP32_0(0),   FP32_0(0),   FP32_0(0)   } },
     8360             /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     8361             /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     8362             /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN,
     8363             /*xcpt?    */ false, false },
     8364         { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     8365           { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     8366           { /* =>      */ { FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_0(0),   FP32_0(0),   FP32_0(0),   FP32_0(0)   } },
     8367             /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8368             /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8369             /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8370             /*xcpt?    */ false, false },
     8371         { { /*src2     */ { FP32_INF(0), FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(1), FP32_0(0),   FP32_INF(1), FP32_0(0)   } },
     8372           { /*src1     */ { FP32_0(0),   FP32_INF(0), FP32_0(1),   FP32_INF(0), FP32_0(0),   FP32_INF(1), FP32_0(0),   FP32_INF(1) } },
     8373           { /* =>      */ { FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_0(0),   FP32_0(0),   FP32_0(0),   FP32_0(0)   } },
     8374             /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     8375             /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     8376             /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO,
     8377             /*xcpt?    */ false, false },
     8378         { { /*src2     */ { FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(0) } },
     8379           { /*src1     */ { FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(0) } },
     8380           { /* =>      */ { FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(0), FP32_INF(0) } },
     8381             /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8382             /*128:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8383             /*256:out  */ X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8384             /*xcpt?    */ false, false },
     8385         { { /*src2     */ { FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(0) } },
     8386           { /*src1     */ { FP32_INF(0), FP32_INF(1), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(0) } },
     8387           { /* =>      */ { FP32_INF(0), FP32_INF(0), FP32_INF(0), FP32_INF(1), FP32_INF(1), FP32_INF(0), FP32_INF(0), FP32_INF(0) } },
     8388             /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8389             /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8390             /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8391             /*xcpt?    */ false, false },
     8392         { { /*src2     */ { FP32_INF(0),     FP32_NORM_V1(0), FP32_INF(1),     FP32_NORM_V3(1), FP32_INF(1),     FP32_NORM_V5(0), FP32_INF(1),     FP32_NORM_V7(0) } },
     8393           { /*src1     */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_NORM_V2(0), FP32_INF(1),     FP32_NORM_V4(1), FP32_INF(1),     FP32_NORM_V6(0), FP32_INF(0)     } },
     8394           { /* =>      */ { FP32_INF(0),     FP32_NORM_V1(0), FP32_NORM_V2(0), FP32_NORM_V3(1), FP32_NORM_V4(1), FP32_NORM_V5(0), FP32_NORM_V6(0), FP32_INF(0)     } },
     8395             /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     8396             /*128:out  */ X86_MXCSR_XCPT_MASK,
     8397             /*256:out  */ X86_MXCSR_XCPT_MASK,
     8398             /*xcpt?    */ false, false },
     8399         { { /*src2     */ { FP32_INF(0),     FP32_NORM_V1(0), FP32_INF(1),     FP32_NORM_V3(1), FP32_INF(1),     FP32_NORM_V5(0), FP32_INF(1),     FP32_NORM_V7(0) } },
     8400           { /*src1     */ { FP32_NORM_V0(0), FP32_INF(1),     FP32_NORM_V2(0), FP32_INF(1),     FP32_NORM_V4(1), FP32_INF(1),     FP32_NORM_V6(0), FP32_INF(0)     } },
     8401           { /* =>      */ { FP32_INF(0),     FP32_NORM_V1(0), FP32_NORM_V2(0), FP32_NORM_V3(1), FP32_NORM_V4(1), FP32_NORM_V5(0), FP32_NORM_V6(0), FP32_INF(0)     } },
     8402             /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     8403             /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     8404             /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN,
     8405             /*xcpt?    */ false, false },
     8406         { { /*src2     */ { FP32_NORM_V7(0), FP32_INF(1),     FP32_NORM_V5(1), FP32_INF(1),     FP32_NORM_V3(0), FP32_INF(1),     FP32_NORM_V1(0), FP32_INF(0)     } },
     8407           { /*src1     */ { FP32_INF(1),     FP32_NORM_V6(0), FP32_INF(1),     FP32_NORM_V4(1), FP32_INF(1),     FP32_NORM_V2(0), FP32_INF(0),     FP32_NORM_V0(0) } },
     8408           { /* =>      */ { FP32_NORM_V7(0), FP32_NORM_V6(0), FP32_NORM_V5(1), FP32_NORM_V4(1), FP32_NORM_V3(0), FP32_NORM_V2(0), FP32_INF(0),     FP32_INF(0)     } },
     8409             /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8410             /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8411             /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP,
     8412             /*xcpt?    */ false, false },
     8413         { { /*src2     */ { FP32_NORM_V7(0), FP32_INF(1),     FP32_NORM_V5(1), FP32_INF(1),     FP32_NORM_V3(0), FP32_INF(1),     FP32_NORM_V1(0), FP32_INF(0)     } },
     8414           { /*src1     */ { FP32_INF(0),     FP32_NORM_V6(0), FP32_INF(0),     FP32_NORM_V4(1), FP32_INF(0),     FP32_NORM_V2(0), FP32_INF(1),     FP32_NORM_V0(0) } },
     8415           { /* =>      */ { FP32_INF(0),     FP32_NORM_V6(0), FP32_INF(0),     FP32_NORM_V4(1), FP32_INF(0),     FP32_NORM_V2(0), FP32_NORM_V1(0), FP32_INF(0)     } },
     8416             /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8417             /*128:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8418             /*256:out  */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO,
     8419             /*xcpt?    */ false, false },
     8420    /** @todo Normals; Denormals; Underflow, Precision; Rounding; FZ etc. */
    83418421    };
    83428422
Note: See TracChangeset for help on using the changeset viewer.

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