VirtualBox

Changeset 105272 in vbox


Ignore:
Timestamp:
Jul 11, 2024 10:50:10 AM (9 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
163923
Message:

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

File:
1 edited

Legend:

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

    r105256 r105272  
    24692469              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
    24702470              /*flags    */ 0, 0 },
    2471          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
    2472            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
    2473            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
    2474              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    2475              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
    2476              /*flags    */ 0, 0 },
    2477          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
    2478            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
    2479            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
    2480              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    2481              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
    2482              /*flags    */ 0, 0 },
    2483          { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
    2484            { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
    2485            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
    2486              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    2487              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
    2488              /*flags    */ 0, 0 },
    2489          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
    2490            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
    2491            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
    2492              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    2493              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
    2494              /*flags    */ 0, 0 },
    2495          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
    2496            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
    2497            { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
    2498              /*mask     */ X86_MXCSR_XCPT_MASK,
    2499              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
    2500              /*flags    */ 0, 0 },
     2471          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     2472            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     2473            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     2474              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     2475              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
     2476              /*flags    */ 0, 0 },
     2477          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     2478            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     2479            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     2480              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     2481              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
     2482              /*flags    */ 0, 0 },
     2483          { { /*src2     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
     2484            { /*src1     */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
     2485            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     2486              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     2487              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
     2488              /*flags    */ 0, 0 },
     2489          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
     2490            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
     2491            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0) } },
     2492              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     2493              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
     2494              /*flags    */ 0, 0 },
     2495          { { /*src2     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
     2496            { /*src1     */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1) } },
     2497            { /* =>      */ { BS3_FP32_ZERO(1), BS3_FP32_ZERO(0), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1) } },
     2498              /*mask     */ X86_MXCSR_XCPT_MASK,
     2499              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
     2500              /*flags    */ 0, 0 },
    25012501    /*
    25022502     * Infinity.
     
    33633363              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
    33643364              /*flags    */ 0, 0 },
    3365     /** @todo More Normals; Denormals; Underflow, Precision; Rounding, FZ etc. */
     3365    /** @todo More Normals. */
     3366    /*
     3367     * Denormals.
     3368     */
     3369    /*17*/{ { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(1) } },
     3370            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(1),       } },
     3371            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(0) } },
     3372              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     3373              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
     3374              /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
     3375          { { /*src2     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(0), BS3_FP32_ONE(1),        BS3_FP32_RAND_VAL_0(1), BS3_FP32_RAND_VAL_5(1) } },
     3376            { /*src1     */ { BS3_FP32_ZERO(0),         BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(0),        BS3_FP32_RAND_VAL_3(1), BS3_FP32_ONE(1),        BS3_FP32_ONE(1),       } },
     3377            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_5(0) } },
     3378              /*mask     */ ~X86_MXCSR_XCPT_MASK,
     3379              /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,
     3380              /*flags    */ X86_MXCSR_DE, X86_MXCSR_DE },
     3381          { { /*src2     */ { BS3_FP32_ZERO(0),         BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ONE(0)          } },
     3382            { /*src1     */ { BS3_FP32_DENORMAL_MIN(1), BS3_FP32_ONE(0),          BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_ONE(0),          BS3_FP32_ONE(0),          BS3_FP32_DENORMAL_MAX(0) } },
     3383            { /* =>      */ { BS3_FP32_ZERO(1),         BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_2(0), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_2(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
     3384              /*mask     */ X86_MXCSR_XCPT_MASK,
     3385              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
     3386              /*flags    */ 0, 0 },
     3387          { { /*src2     */ { BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_4(0), BS3_FP32_DENORMAL_MAX(1), BS3_FP32_DENORMAL_MAX(1), BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_RAND_VAL_0(0),   BS3_FP32_DENORMAL_MAX(0) } },
     3388            { /*src1     */ { BS3_FP32_DENORMAL_MAX(0), BS3_FP32_ONE(0),        BS3_FP32_DENORMAL_MIN(1), BS3_FP32_DENORMAL_MIN(0), BS3_FP32_ONE(0),        BS3_FP32_ONE(0),        BS3_FP32_DENORMAL_MIN(0), BS3_FP32_RAND_VAL_4(0)   } },
     3389            { /* =>      */ { BS3_FP32_ZERO(0),         BS3_FP32_RAND_VAL_4(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(1),         BS3_FP32_RAND_VAL_3(0), BS3_FP32_RAND_VAL_0(0), BS3_FP32_ZERO(0),         BS3_FP32_ZERO(0)         } },
     3390              /*mask     */ X86_MXCSR_XCPT_MASK,
     3391              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
     3392              /*flags    */ 0, 0 },
     3393    /** @todo Denormals; Underflow, Precision; Rounding, FZ etc. */
    33663394    };
    33673395
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