VirtualBox

Ignore:
Timestamp:
Jun 6, 2024 9:31:23 AM (8 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: bugref:10658 SIMD FP testcase: Remove padding, replace bools with uint32_t mask fields for better alignment.

File:
1 edited

Legend:

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

    r104861 r104862  
    796796    X86YMMREG           uSrc1;                  /**< uDstIn for SSE */
    797797    X86YMMREG           uDstOut;                /**< Destination output. */
    798     uint32_t            fMxCsrMask;             /**< MXCSR exception mask to use. */
    799     bool                fDenormalsAreZero;      /**< Whether DAZ (Denormals-Are-Zero) is used. */
    800     bool                fFlushToZero;           /**< Whether Flush-To-Zero (FZ) is used. */
     798    uint32_t            fMxCsrMask;             /**< MXCSR exception mask. */
     799    uint32_t            fDenormalsAreZero;      /**< DAZ (Denormals-Are-Zero) exception mask. */
     800    uint32_t            fFlushToZero;           /**< Flush-To-Zero (FZ) exception mask. */
    801801    uint32_t            fRoundingCtlMask;       /**< Rounding control mask (X86_MXCSR_RC_MASK) to use. */
    802802    uint32_t            f128ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 128-bit instruction. */
    803803    uint32_t            f256ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 256-bit instructions. */
    804     uint32_t            fPad;
    805804} BS3CPUINSTR4_TEST1_VALUES_T;
    806805
     
    814813    X86YMMFLOATPSREG    uSrc1;                  /**< uDstIn for SSE */
    815814    X86YMMFLOATPSREG    uDstOut;                /**< Destination output. */
    816     uint32_t            fMxCsrMask;             /**< MXCSR exception mask to use. */
    817     bool                fDenormalsAreZero;      /**< Whether DAZ (Denormals-Are-Zero) is used. */
    818     bool                fFlushToZero;           /**< Whether Flush-To-Zero (FZ) is used. */
     815    uint32_t            fMxCsrMask;             /**< MXCSR exception mask. */
     816    uint32_t            fDenormalsAreZero;      /**< DAZ (Denormals-Are-Zero) exception mask. */
     817    uint32_t            fFlushToZero;           /**< Flush-To-Zero (FZ) exception mask. */
    819818    uint32_t            fRoundingCtlMask;       /**< Rounding control mask (X86_MXCSR_RC_MASK) to use. */
    820819    uint32_t            f128ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 128-bit instruction. */
    821820    uint32_t            f256ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 256-bit instructions. */
    822     uint32_t            fPad;
    823821} BS3CPUINSTR4_TEST1_VALUES_PS_T;
    824822AssertCompile(sizeof(BS3CPUINSTR4_TEST1_VALUES_PS_T) == sizeof(BS3CPUINSTR4_TEST1_VALUES_T));
     
    842840    X86YMMFLOATPDREG    uSrc1;                  /**< uDstIn for SSE */
    843841    X86YMMFLOATPDREG    uDstOut;                /**< Destination output. */
    844     uint32_t            fMxCsrMask;             /**< MXCSR exception mask to use. */
    845     bool                fDenormalsAreZero;      /**< Whether DAZ (Denormals-Are-Zero) is used. */
    846     bool                fFlushToZero;           /**< Whether Flush-To-Zero (FZ) is used. */
     842    uint32_t            fMxCsrMask;             /**< MXCSR exception mask. */
     843    uint32_t            fDenormalsAreZero;      /**< DAZ (Denormals-Are-Zero) exception mask. */
     844    uint32_t            fFlushToZero;           /**< Flush-To-Zero (FZ) exception mask. */
    847845    uint32_t            fRoundingCtlMask;       /**< Rounding control mask (X86_MXCSR_RC_MASK) to use. */
    848846    uint32_t            f128ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 128-bit instruction. */
    849847    uint32_t            f256ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 256-bit instructions. */
    850     uint32_t            fPad;
    851848} BS3CPUINSTR4_TEST1_VALUES_PD_T;
    852849AssertCompile(sizeof(BS3CPUINSTR4_TEST1_VALUES_PD_T) == sizeof(BS3CPUINSTR4_TEST1_VALUES_T));
     
    870867    X86YMMFLOATSQREG    uSrc1;                  /**< uDstIn for SSE */
    871868    X86YMMFLOATSQREG    uDstOut;                /**< Destination output. */
    872     uint32_t            fMxCsrMask;             /**< MXCSR exception mask to use. */
    873     bool                fDenormalsAreZero;      /**< Whether DAZ (Denormals-Are-Zero) is used. */
    874     bool                fFlushToZero;           /**< Whether Flush-To-Zero (FZ) is used. */
     869    uint32_t            fMxCsrMask;             /**< MXCSR exception mask. */
     870    uint32_t            fDenormalsAreZero;      /**< DAZ (Denormals-Are-Zero) exception mask. */
     871    uint32_t            fFlushToZero;           /**< Flush-To-Zero (FZ) exception mask. */
    875872    uint32_t            fRoundingCtlMask;       /**< Rounding control mask (X86_MXCSR_RC_MASK) to use. */
    876873    uint32_t            f128ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 128-bit instruction. */
    877874    uint32_t            f256ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 256-bit instructions. */
    878     uint32_t            fPad;
    879875} BS3CPUINSTR4_TEST1_VALUES_SQ_T;
    880876AssertCompile(sizeof(BS3CPUINSTR4_TEST1_VALUES_SQ_T) == sizeof(BS3CPUINSTR4_TEST1_VALUES_T));
     
    10191015           | (pValues->fMxCsrMask       & X86_MXCSR_XCPT_MASK)
    10201016           | (pValues->fRoundingCtlMask & X86_MXCSR_RC_MASK);
    1021     if (   pValues->fDenormalsAreZero
     1017    if (   pValues->fDenormalsAreZero == X86_MXCSR_DAZ
    10221018        && g_fMxCsrDazSupported)
    10231019        uMxCsr |= X86_MXCSR_DAZ;
    1024     if (pValues->fFlushToZero)
     1020    if (pValues->fFlushToZero == X86_MXCSR_FZ)
    10251021        uMxCsr |= X86_MXCSR_FZ;
    10261022    Bs3ExtCtxSetMxCsr(pExtCtx, uMxCsr);
     
    12371233                             */
    12381234                            if (   !g_fMxCsrDazSupported
    1239                                 && pTest->paValues[iVal].fDenormalsAreZero
     1235                                && pTest->paValues[iVal].fDenormalsAreZero == X86_MXCSR_DAZ
    12401236                                && (fExpectedMxCsrFlags & X86_MXCSR_DE))
    12411237                                continue;
     
    13271323            { /* =>      */ { 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) } },
    13281324              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    1329               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_UP,
     1325              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
    13301326              /*flags    */ 0, 0 },
    13311327    /* 3*/{ { /*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) } },
     
    13331329            { /* =>      */ { 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) } },
    13341330              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    1335               /*daz,fz,rc*/ 1, 0, X86_MXCSR_RC_ZERO,
     1331              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
    13361332              /*flags    */ 0, 0 },
    13371333    /* 4*/{ { /*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) } },
     
    13391335            { /* =>      */ { 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) } },
    13401336              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    1341               /*daz,fz,rc*/ 0, 1, X86_MXCSR_RC_ZERO,
     1337              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
    13421338              /*flags    */ 0, 0 },
    13431339    /* 5*/{ { /*src2     */ { 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(0), BS3_FP32_ZERO(1) } },
     
    13451341            { /* =>      */ { 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(0), BS3_FP32_ZERO(1) } },
    13461342              /*mask     */ X86_MXCSR_XCPT_MASK,
    1347               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_DOWN,
     1343              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
    13481344              /*flags    */ 0, 0 },
    13491345    /*
     
    13661362            { /* =>      */ { BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(1), BS3_FP32_ZERO(0) } },
    13671363              /*mask     */ X86_MXCSR_XCPT_MASK,
    1368               /*daz,fz,rc*/ 0, 1, X86_MXCSR_RC_NEAREST,
     1364              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
    13691365              /*flags    */ 0, X86_MXCSR_IE },
    13701366    /* 9*/{ { /*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_INF(0)  } },
     
    13721368            { /* =>      */ { 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_QNAN(0) } },
    13731369              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    1374               /*daz,fz,rc*/ 0, 1, X86_MXCSR_RC_NEAREST,
     1370              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
    13751371              /*flags    */ 0, X86_MXCSR_IE },
    13761372    /*10*/{ { /*src2     */ { BS3_FP32_INF(0), BS3_FP32_INF(1),  BS3_FP32_ZERO(0), BS3_FP32_INF(1),  BS3_FP32_ZERO(1), BS3_FP32_INF(1),  BS3_FP32_INF(1),  BS3_FP32_INF(0) } },
     
    13781374            { /* =>      */ { BS3_FP32_INF(1), BS3_FP32_QNAN(1), BS3_FP32_ZERO(0), BS3_FP32_QNAN(1), BS3_FP32_ZERO(1), BS3_FP32_QNAN(1), BS3_FP32_QNAN(1), BS3_FP32_INF(1) } },
    13791375              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    1380               /*daz,fz,rc*/ 0, 1, X86_MXCSR_RC_ZERO,
     1376              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
    13811377              /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
    13821378    };
     
    14491445            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
    14501446              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    1451               /*daz,fz,rc*/ 0, 1, X86_MXCSR_RC_NEAREST,
     1447              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
    14521448              /*flags    */ 0, 0 },
    14531449    /* 2*/{ { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
     
    14551451            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
    14561452              /*mask     */ X86_MXCSR_XCPT_MASK,
    1457               /*daz,fz,rc*/ 1, 0, X86_MXCSR_RC_DOWN,
     1453              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_DOWN,
    14581454              /*flags    */ 0, 0 },
    14591455    /* 3*/{ { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
     
    14611457            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } },
    14621458              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    1463               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_UP,
     1459              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
    14641460              /*flags    */ 0, 0 },
    14651461    /* 4*/{ { /*src2     */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
     
    14671463            { /* =>      */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } },
    14681464              /*mask     */ X86_MXCSR_XCPT_MASK,
    1469               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_ZERO,
     1465              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
    14701466              /*flags    */ 0, 0 },
    14711467    /*
     
    14821478            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
    14831479              /*mask     */ ~X86_MXCSR_IM,
    1484               /*daz,fz,rc*/ 0, 1, X86_MXCSR_RC_DOWN,
     1480              /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
    14851481              /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
    14861482    /* 7*/{ { /*src2     */ { BS3_FP64_ZERO(0), BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
     
    14881484            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
    14891485              /*mask     */ ~X86_MXCSR_IM,
    1490               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_UP,
     1486              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
    14911487              /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
    14921488    /* 8*/{ { /*src2     */ { BS3_FP64_INF(0),  BS3_FP64_INF(1),  BS3_FP64_ZERO(0), BS3_FP64_INF(1) } },
     
    14941490            { /* =>      */ { BS3_FP64_QNAN(1), BS3_FP64_QNAN(1), BS3_FP64_ZERO(0), BS3_FP64_QNAN(1) } },
    14951491              /*mask     */ X86_MXCSR_XCPT_MASK,
    1496               /*daz,fz,rc*/ 1, 0, X86_MXCSR_RC_ZERO,
     1492              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO,
    14971493              /*flags    */ X86_MXCSR_IE, X86_MXCSR_IE },
    14981494    /*
     
    15151511            { /* =>      */ { BS3_FP64_INF(0),        BS3_FP64_VAL(1, 0, 2),  BS3_FP64_ZERO(0), BS3_FP64_INF(0),       } },
    15161512              /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
    1517               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_NEAREST,
     1513              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST,
    15181514              /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
    15191515    /*12*/{ { /*src2     */ { BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0) } },
     
    15211517            { /* =>      */ { BS3_FP64_VAL(1, 0, 2),  BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0),       BS3_FP64_ZERO(0) } },
    15221518              /*mask     */ X86_MXCSR_OM | X86_MXCSR_PM,
    1523               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_ZERO,
     1519              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
    15241520              /*flags    */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE },
    15251521    /*13*/{ { /*src2     */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0) } },
     
    15391535            { /* =>      */ { BS3_FP64_VAL(0, 0xbffffffffffff, 0x3ff)/* 1.50*/, BS3_FP64_ZERO(1),       BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0x8000000000000, 0x3fe)/*0.75*/ } },
    15401536              /*mask     */ X86_MXCSR_XCPT_MASK,
    1541               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_DOWN,
     1537              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
    15421538              /*flags    */ X86_MXCSR_PE, X86_MXCSR_PE },
    15431539    /*
     
    15661562            { /* =>      */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                                               BS3_FP64_VAL(0, BS3_FP64_FRACTION_NORMAL_MAX - 1, BS3_FP64_EXP_BIAS + BS3_FP64_FRACTION_BITS), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
    15671563              /*mask     */ X86_MXCSR_XCPT_MASK,
    1568               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_ZERO,
     1564              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
    15691565              /*flags    */ 0, 0 },
    15701566    /*20*/{ { /*src2     */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0),                                    BS3_FP64_ONE(1),                                                    BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
     
    15781574            { /* =>      */ { BS3_FP64_ZERO(0),                BS3_FP64_NORMAL_SAFE_INT_MIN(1), BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_VAL(0, 0, 2)           } },
    15791575              /*mask     */ ~X86_MXCSR_XCPT_MASK,
    1580               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_ZERO,
     1576              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,
    15811577              /*flags    */ 0, 0 },
    15821578    /*22*/{ { /*src2     */ { BS3_FP64_VAL(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_NORMAL_SAFE_INT_MIN(1) } },
     
    15841580            { /* =>      */ { BS3_FP64_VAL(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646   */, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_VAL(1, 0, 2)           } },
    15851581              /*mask     */ X86_MXCSR_XCPT_MASK,
    1586               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_DOWN,
     1582              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN,
    15871583              /*flags    */ 0, 0 },
    15881584    /*
     
    15991595            { /* =>      */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } },
    16001596              /*mask     */ X86_MXCSR_XCPT_MASK,
    1601               /*daz,fz,rc*/ 1, 0, X86_MXCSR_RC_NEAREST,
     1597              /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST,
    16021598              /*flags    */ 0, 0 },
    16031599    /*25*/{ { /*src2     */ { BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0) } },
     
    16051601            { /* =>      */ { BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0),         BS3_FP64_ZERO(0)         } },
    16061602              /*mask     */ X86_MXCSR_XCPT_MASK,
    1607               /*daz,fz,rc*/ 1, 1, X86_MXCSR_RC_UP,
     1603              /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP,
    16081604              /*flags    */ 0, 0 },
    16091605    /** @todo More denormals; Underflow, Precision; Rounding, FZ etc. */
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