Changeset 104862 in vbox for trunk/src/VBox/ValidationKit/bootsectors
- Timestamp:
- Jun 6, 2024 9:31:23 AM (8 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r104861 r104862 796 796 X86YMMREG uSrc1; /**< uDstIn for SSE */ 797 797 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. */ 801 801 uint32_t fRoundingCtlMask; /**< Rounding control mask (X86_MXCSR_RC_MASK) to use. */ 802 802 uint32_t f128ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 128-bit instruction. */ 803 803 uint32_t f256ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 256-bit instructions. */ 804 uint32_t fPad;805 804 } BS3CPUINSTR4_TEST1_VALUES_T; 806 805 … … 814 813 X86YMMFLOATPSREG uSrc1; /**< uDstIn for SSE */ 815 814 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. */ 819 818 uint32_t fRoundingCtlMask; /**< Rounding control mask (X86_MXCSR_RC_MASK) to use. */ 820 819 uint32_t f128ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 128-bit instruction. */ 821 820 uint32_t f256ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 256-bit instructions. */ 822 uint32_t fPad;823 821 } BS3CPUINSTR4_TEST1_VALUES_PS_T; 824 822 AssertCompile(sizeof(BS3CPUINSTR4_TEST1_VALUES_PS_T) == sizeof(BS3CPUINSTR4_TEST1_VALUES_T)); … … 842 840 X86YMMFLOATPDREG uSrc1; /**< uDstIn for SSE */ 843 841 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. */ 847 845 uint32_t fRoundingCtlMask; /**< Rounding control mask (X86_MXCSR_RC_MASK) to use. */ 848 846 uint32_t f128ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 128-bit instruction. */ 849 847 uint32_t f256ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 256-bit instructions. */ 850 uint32_t fPad;851 848 } BS3CPUINSTR4_TEST1_VALUES_PD_T; 852 849 AssertCompile(sizeof(BS3CPUINSTR4_TEST1_VALUES_PD_T) == sizeof(BS3CPUINSTR4_TEST1_VALUES_T)); … … 870 867 X86YMMFLOATSQREG uSrc1; /**< uDstIn for SSE */ 871 868 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. */ 875 872 uint32_t fRoundingCtlMask; /**< Rounding control mask (X86_MXCSR_RC_MASK) to use. */ 876 873 uint32_t f128ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 128-bit instruction. */ 877 874 uint32_t f256ExpectedMxCsrFlags; /**< Expected MXCSR exception flags for 256-bit instructions. */ 878 uint32_t fPad;879 875 } BS3CPUINSTR4_TEST1_VALUES_SQ_T; 880 876 AssertCompile(sizeof(BS3CPUINSTR4_TEST1_VALUES_SQ_T) == sizeof(BS3CPUINSTR4_TEST1_VALUES_T)); … … 1019 1015 | (pValues->fMxCsrMask & X86_MXCSR_XCPT_MASK) 1020 1016 | (pValues->fRoundingCtlMask & X86_MXCSR_RC_MASK); 1021 if ( pValues->fDenormalsAreZero 1017 if ( pValues->fDenormalsAreZero == X86_MXCSR_DAZ 1022 1018 && g_fMxCsrDazSupported) 1023 1019 uMxCsr |= X86_MXCSR_DAZ; 1024 if (pValues->fFlushToZero )1020 if (pValues->fFlushToZero == X86_MXCSR_FZ) 1025 1021 uMxCsr |= X86_MXCSR_FZ; 1026 1022 Bs3ExtCtxSetMxCsr(pExtCtx, uMxCsr); … … 1237 1233 */ 1238 1234 if ( !g_fMxCsrDazSupported 1239 && pTest->paValues[iVal].fDenormalsAreZero 1235 && pTest->paValues[iVal].fDenormalsAreZero == X86_MXCSR_DAZ 1240 1236 && (fExpectedMxCsrFlags & X86_MXCSR_DE)) 1241 1237 continue; … … 1327 1323 { /* => */ { 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) } }, 1328 1324 /*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, 1330 1326 /*flags */ 0, 0 }, 1331 1327 /* 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) } }, … … 1333 1329 { /* => */ { 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) } }, 1334 1330 /*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, 1336 1332 /*flags */ 0, 0 }, 1337 1333 /* 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) } }, … … 1339 1335 { /* => */ { 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) } }, 1340 1336 /*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, 1342 1338 /*flags */ 0, 0 }, 1343 1339 /* 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) } }, … … 1345 1341 { /* => */ { 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) } }, 1346 1342 /*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, 1348 1344 /*flags */ 0, 0 }, 1349 1345 /* … … 1366 1362 { /* => */ { 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) } }, 1367 1363 /*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, 1369 1365 /*flags */ 0, X86_MXCSR_IE }, 1370 1366 /* 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) } }, … … 1372 1368 { /* => */ { 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) } }, 1373 1369 /*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, 1375 1371 /*flags */ 0, X86_MXCSR_IE }, 1376 1372 /*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) } }, … … 1378 1374 { /* => */ { 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) } }, 1379 1375 /*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, 1381 1377 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 1382 1378 }; … … 1449 1445 { /* => */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } }, 1450 1446 /*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, 1452 1448 /*flags */ 0, 0 }, 1453 1449 /* 2*/{ { /*src2 */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } }, … … 1455 1451 { /* => */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } }, 1456 1452 /*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, 1458 1454 /*flags */ 0, 0 }, 1459 1455 /* 3*/{ { /*src2 */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } }, … … 1461 1457 { /* => */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(1) } }, 1462 1458 /*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, 1464 1460 /*flags */ 0, 0 }, 1465 1461 /* 4*/{ { /*src2 */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } }, … … 1467 1463 { /* => */ { BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(1), BS3_FP64_ZERO(0) } }, 1468 1464 /*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, 1470 1466 /*flags */ 0, 0 }, 1471 1467 /* … … 1482 1478 { /* => */ { BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } }, 1483 1479 /*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, 1485 1481 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 1486 1482 /* 7*/{ { /*src2 */ { BS3_FP64_ZERO(0), BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } }, … … 1488 1484 { /* => */ { BS3_FP64_ZERO(0), BS3_FP64_INF(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } }, 1489 1485 /*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, 1491 1487 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 1492 1488 /* 8*/{ { /*src2 */ { BS3_FP64_INF(0), BS3_FP64_INF(1), BS3_FP64_ZERO(0), BS3_FP64_INF(1) } }, … … 1494 1490 { /* => */ { BS3_FP64_QNAN(1), BS3_FP64_QNAN(1), BS3_FP64_ZERO(0), BS3_FP64_QNAN(1) } }, 1495 1491 /*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, 1497 1493 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 1498 1494 /* … … 1515 1511 { /* => */ { BS3_FP64_INF(0), BS3_FP64_VAL(1, 0, 2), BS3_FP64_ZERO(0), BS3_FP64_INF(0), } }, 1516 1512 /*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, 1518 1514 /*flags */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE }, 1519 1515 /*12*/{ { /*src2 */ { BS3_FP64_NORMAL_MIN(1), BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0) } }, … … 1521 1517 { /* => */ { BS3_FP64_VAL(1, 0, 2), BS3_FP64_NORMAL_MAX(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } }, 1522 1518 /*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, 1524 1520 /*flags */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE }, 1525 1521 /*13*/{ { /*src2 */ { BS3_FP64_NORMAL_MAX(0), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(1), BS3_FP64_NORMAL_MAX(0) } }, … … 1539 1535 { /* => */ { BS3_FP64_VAL(0, 0xbffffffffffff, 0x3ff)/* 1.50*/, BS3_FP64_ZERO(1), BS3_FP64_ZERO(0), BS3_FP64_VAL(0, 0x8000000000000, 0x3fe)/*0.75*/ } }, 1540 1536 /*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, 1542 1538 /*flags */ X86_MXCSR_PE, X86_MXCSR_PE }, 1543 1539 /* … … 1566 1562 { /* => */ { 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) } }, 1567 1563 /*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, 1569 1565 /*flags */ 0, 0 }, 1570 1566 /*20*/{ { /*src2 */ { BS3_FP64_NORMAL_SAFE_INT_MAX(0), BS3_FP64_ONE(1), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } }, … … 1578 1574 { /* => */ { BS3_FP64_ZERO(0), BS3_FP64_NORMAL_SAFE_INT_MIN(1), BS3_FP64_NORMAL_SAFE_INT_MIN(0), BS3_FP64_VAL(0, 0, 2) } }, 1579 1575 /*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, 1581 1577 /*flags */ 0, 0 }, 1582 1578 /*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) } }, … … 1584 1580 { /* => */ { BS3_FP64_VAL(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646 */, BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_VAL(1, 0, 2) } }, 1585 1581 /*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, 1587 1583 /*flags */ 0, 0 }, 1588 1584 /* … … 1599 1595 { /* => */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } }, 1600 1596 /*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, 1602 1598 /*flags */ 0, 0 }, 1603 1599 /*25*/{ { /*src2 */ { BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MIN(0), BS3_FP64_DENORMAL_MAX(0), BS3_FP64_DENORMAL_MAX(0) } }, … … 1605 1601 { /* => */ { BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0), BS3_FP64_ZERO(0) } }, 1606 1602 /*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, 1608 1604 /*flags */ 0, 0 }, 1609 1605 /** @todo More denormals; Underflow, Precision; Rounding, FZ etc. */
Note:
See TracChangeset
for help on using the changeset viewer.