VirtualBox

Changeset 105996 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Sep 10, 2024 8:16:30 AM (7 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
164741
Message:

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

File:
1 edited

Legend:

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

    r105995 r105996  
    89148914              /*256:out  */ X86_MXCSR_PE,
    89158915              /*xcpt?    */ true, true },
    8916     /** @todo Normals; Denormals; Invalids; Rounding; FZ etc. */
     8916    /*
     8917     * Normals.
     8918     */
     8919    /*35*/{ { /*src2     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_NORM_V1(0), FP64_NORM_MAX(1) } },
     8920            { /*src1     */ { FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_V1(0), FP64_NORM_MAX(0) } },
     8921            { /* =>      */ { FP64_0(0),        FP64_0(0),        FP64_0(0),       FP64_0(0),       } },
     8922              /*mxcsr:in */ 0,
     8923              /*128:out  */ 0,
     8924              /*256:out  */ 0,
     8925              /*xcpt?    */ false, false },
     8926          { { /*src2     */ { FP64_V(0, 0,               0x409)/*1024*/, FP64_V(0, 0,               0x409)/*1024*/, FP64_V(1, 0xc000000000000, 0x401)/* 7*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/ } },
     8927            { /*src1     */ { FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(0, 0,               0x408)/* 512*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(0, 0xc000000000000, 0x401)/* 7*/ } },
     8928            { /* =>      */ { FP64_V(0, 0,               0x408)/* 512*/, FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(0, 0xf000000000000, 0x404)/*62*/, FP64_V(0, 0xf000000000000, 0x404)/*62*/ } },
     8929              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     8930              /*128:out  */ X86_MXCSR_XCPT_MASK,
     8931              /*256:out  */ X86_MXCSR_XCPT_MASK,
     8932              /*xcpt?    */ false, false },
     8933          { { /*src2     */ { FP64_V(0, 0x9000000000000, 0x405)/*      100*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } },
     8934            { /*src1     */ { FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_V(1, 0x9000000000000, 0x405)/*     -100*/, FP64_V(0, 0xcf00348ec5858, 0x432)/*4072598123457580.0*/, FP64_V(0, 0xd6eca42000000, 0x419)/*       123450000.5*/ } },
     8935            { /* =>      */ { FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/, FP64_V(0, 0xcf00348ec5858, 0x432)/*4072598123457580.0*/ } },
     8936              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     8937              /*128:out  */ X86_MXCSR_XCPT_MASK,
     8938              /*256:out  */ X86_MXCSR_XCPT_MASK,
     8939              /*xcpt?    */ false, false },
     8940          { { /*src2     */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(0),                                FP64_NORM_SAFE_INT_MAX(0)                                } },
     8941            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                                FP64_1(0),                                                FP64_1(0),                                                FP64_1(1)                                                } },
     8942            { /* =>      */ { FP64_1(0),                                                FP64_NORM_SAFE_INT_MAX(0),                                FP64_V(1, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX) } },
     8943              /*mxcsr:in */ X86_MXCSR_XCPT_MASK,
     8944              /*128:out  */ X86_MXCSR_XCPT_MASK,
     8945              /*256:out  */ X86_MXCSR_XCPT_MASK,
     8946              /*xcpt?    */ false, false },
     8947          { { /*src2     */ { FP64_1(0),                                                FP64_NORM_SAFE_INT_MAX(0),               FP64_1(1),                                                FP64_1(1)                               } },
     8948            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(0),                                FP64_1(0),                               FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(1)               } },
     8949            { /* =>      */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_V(0, 0, FP64_EXP_SAFE_INT_MAX + 1), FP64_NORM_SAFE_INT_MAX(0),                                FP64_V(1, 0, FP64_EXP_SAFE_INT_MAX + 1) } },
     8950              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
     8951              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
     8952              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK,
     8953              /*xcpt?    */ false, false },
     8954          { { /*src2     */ { FP64_NORM_SAFE_INT_MAX(1),  FP64_NORM_SAFE_INT_MIN(0),               FP64_NORM_SAFE_INT_MIN(1),               FP64_NORM_SAFE_INT_MIN(0) } },
     8955            { /*src1     */ { FP64_NORM_SAFE_INT_MAX(1),  FP64_NORM_SAFE_INT_MIN(0),               FP64_NORM_SAFE_INT_MIN(0),               FP64_0(0)                 } },
     8956            { /* =>      */ { FP64_0(0),                  FP64_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP64_V(0, 0, FP32_EXP_SAFE_INT_MIN + 1), FP64_NORM_SAFE_INT_MIN(0) } },
     8957              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
     8958              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
     8959              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK,
     8960              /*xcpt?    */ false, false },
     8961          { { /*src2     */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_NORM_SAFE_INT_MIN(1),               FP64_NORM_SAFE_INT_MIN(0),               FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/ } },
     8962            { /*src1     */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_NORM_SAFE_INT_MIN(1),               FP64_NORM_SAFE_INT_MIN(1),               FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/ } },
     8963            { /* =>      */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1), FP64_V(1, 0, FP32_EXP_SAFE_INT_MIN + 1), FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/ } },
     8964              /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK,
     8965              /*128:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK,
     8966              /*256:out  */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK,
     8967              /*xcpt?    */ false, false },
     8968    /** @todo More Normals. */
     8969    /** @todo Denormals; Invalids; Rounding; FZ etc. */
    89178970    };
    89188971
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