Changeset 105467 in vbox
- Timestamp:
- Jul 24, 2024 9:29:10 AM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r105458 r105467 3520 3520 3521 3521 3522 #if 03523 3522 /* 3524 3523 * [V]SUBPD. … … 3534 3533 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3535 3534 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3536 /*mask */ X86_MXCSR_XCPT_MASK, 3537 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3538 /*flags */ 0, 0 }, 3535 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3536 /*128:out */ X86_MXCSR_XCPT_MASK, 3537 /*256:out */ X86_MXCSR_XCPT_MASK, 3538 /*xcpt? */ false, false }, 3539 3539 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3540 3540 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3541 3541 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3542 /*mask */ ~X86_MXCSR_XCPT_MASK, 3543 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3544 /*flags */ 0, 0 }, 3542 /*mxcsr:in */ 0, 3543 /*128:out */ 0, 3544 /*256:out */ 0, 3545 /*xcpt? */ false, false }, 3545 3546 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3546 3547 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3547 3548 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3548 /*mask */ ~X86_MXCSR_XCPT_MASK, 3549 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP, 3550 /*flags */ 0, 0 }, 3549 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 3550 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 3551 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 3552 /*xcpt? */ false, false }, 3551 3553 { { /*src2 */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3552 3554 { /*src1 */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3553 3555 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3554 /*mask */ ~X86_MXCSR_XCPT_MASK, 3555 /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO, 3556 /*flags */ 0, 0 }, 3556 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 3557 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 3558 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 3559 /*xcpt? */ false, false }, 3557 3560 { { /*src2 */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(1) } }, 3558 3561 { /*src1 */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(1) } }, 3559 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3560 /*mask */ ~X86_MXCSR_XCPT_MASK, 3561 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 3562 /*flags */ 0, 0 }, 3562 { /* => */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(1) } }, 3563 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3564 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3565 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3566 /*xcpt? */ false, false }, 3563 3567 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3564 3568 { /*src1 */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(0) } }, 3565 3569 { /* => */ { FP64_0(1), FP64_0(1), FP64_0(1), FP64_0(1) } }, 3566 /*mask */ X86_MXCSR_XCPT_MASK, 3567 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN, 3568 /*flags */ 0, 0 }, 3570 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3571 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3572 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3573 /*xcpt? */ false, false }, 3569 3574 /* 3570 3575 * Infinity. … … 3573 3578 { /*src1 */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_INF(0) } }, 3574 3579 { /* => */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_INF(0) } }, 3575 /*mask */ ~X86_MXCSR_IM, 3576 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3577 /*flags */ 0, 0 }, 3580 /*mxcsr:in */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM, 3581 /*128:out */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM, 3582 /*256:out */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM, 3583 /*xcpt? */ false, false }, 3578 3584 { { /*src2 */ { FP64_INF(0), FP64_INF(1), FP64_INF(1), FP64_INF(1) } }, 3579 3585 { /*src1 */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } }, 3580 3586 { /* => */ { FP64_QNAN(1), FP64_QNAN(1), FP64_INF(0), FP64_QNAN(1) } }, 3581 /*mask */ X86_MXCSR_XCPT_MASK, 3582 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3583 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3587 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3588 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3589 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3590 /*xcpt? */ false, false }, 3584 3591 { { /*src2 */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } }, 3585 3592 { /*src1 */ { FP64_INF(0), FP64_INF(1), FP64_INF(0), FP64_INF(1) } }, 3586 3593 { /* => */ { FP64_QNAN(1), FP64_INF(1), FP64_INF(0), FP64_QNAN(1) } }, 3587 /*mask */ X86_MXCSR_XCPT_MASK, 3588 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3589 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3594 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3595 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3596 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3597 /*xcpt? */ false, false }, 3590 3598 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_INF(1), FP64_INF(1) } }, 3591 3599 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_INF(0), FP64_INF(1) } }, 3592 3600 { /* => */ { FP64_0(0), FP64_0(0), FP64_INF(0), FP64_QNAN(1) } }, 3593 /*mask */ X86_MXCSR_XCPT_MASK, 3594 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST, 3595 /*flags */ 0, X86_MXCSR_IE }, 3601 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ, 3602 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ, 3603 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_IE, 3604 /*xcpt? */ false, false }, 3596 3605 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_INF(0) } }, 3597 3606 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_INF(0) } }, 3598 3607 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_QNAN(1) } }, 3599 /*mask */ ~X86_MXCSR_XCPT_MASK, 3600 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST, 3601 /*flags */ 0, X86_MXCSR_IE }, 3608 /*mxcsr:in */ X86_MXCSR_FZ, 3609 /*128:out */ X86_MXCSR_FZ, 3610 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_IE, 3611 /*xcpt? */ false, true }, 3602 3612 { { /*src2 */ { FP64_INF(1), FP64_INF(0), FP64_INF(1), FP64_INF(0) } }, 3603 3613 { /*src1 */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(1) } }, 3604 { /* => */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(1) } }, 3605 /*mask */ ~X86_MXCSR_XCPT_MASK, 3606 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 3607 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3614 { /* => */ { FP64_INF(0), FP64_INF(0), FP64_0(1), FP64_0(1) } }, 3615 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 3616 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 3617 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 3618 /*xcpt? */ true, true }, 3608 3619 /* 3609 3620 * Overflow, Precision. … … 3612 3623 { /*src1 */ { FP64_NORM_MAX(0), FP64_0(0), FP64_NORM_MAX(0), FP64_NORM_MAX(0) } }, 3613 3624 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3614 /*mask */ ~X86_MXCSR_XCPT_MASK, 3615 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3616 /*flags */ X86_MXCSR_PE, X86_MXCSR_PE }, 3625 /*mxcsr:in */ 0, 3626 /*128:out */ X86_MXCSR_PE, 3627 /*256:out */ X86_MXCSR_PE, 3628 /*xcpt? */ true, true }, 3617 3629 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(1), FP64_NORM_MIN(0) } }, 3618 3630 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_NORM_MAX(0), FP64_NORM_MAX(0) } }, 3619 3631 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3620 /*mask */ ~X86_MXCSR_XCPT_MASK, 3621 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3622 /*flags */ 0, X86_MXCSR_PE }, 3632 /*mxcsr:in */ 0, 3633 /*128:out */ 0, 3634 /*256:out */ X86_MXCSR_PE, 3635 /*xcpt? */ false, true }, 3623 3636 { { /*src2 */ { FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_MAX(1) } }, 3624 3637 { /*src1 */ { FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MAX(0), FP64_NORM_MAX(1) } }, 3625 3638 { /* => */ { FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MAX(0), FP64_0(0) } }, 3626 /*mask */ X86_MXCSR_OM | X86_MXCSR_PM, 3627 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO, 3628 /*flags */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE }, 3639 /*mxcsr:in */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO, 3640 /*128:out */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE, 3641 /*256:out */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE, 3642 /*xcpt? */ false, false }, 3629 3643 { { /*src2 */ { FP64_NORM_MAX(0), FP64_0(0), FP64_0(0), FP64_NORM_MAX(0) } }, 3630 3644 { /*src1 */ { FP64_NORM_MAX(1), FP64_0(0), FP64_0(0), FP64_NORM_MAX(1) } }, 3631 3645 { /* => */ { FP64_INF(1), FP64_0(0), FP64_0(0), FP64_INF(1) } }, 3632 /*mask */ X86_MXCSR_OM | X86_MXCSR_PM, 3633 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST, 3634 /*flags */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE }, 3646 /*mxcsr:in */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_FZ, 3647 /*128:out */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_FZ | X86_MXCSR_OE | X86_MXCSR_PE, 3648 /*256:out */ X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_FZ | X86_MXCSR_OE | X86_MXCSR_PE, 3649 /*xcpt? */ false, false }, 3635 3650 { { /*src2 */ { FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_V(1, 0, 2), FP64_NORM_MIN(1) } }, 3636 3651 { /*src1 */ { FP64_NORM_MAX(1), FP64_NORM_MAX(0), FP64_NORM_MIN(1), FP64_NORM_MIN(1) } }, 3637 3652 { /* => */ { FP64_INF(1), FP64_NORM_MAX(0), FP64_NORM_MIN(0), FP64_0(0) } }, 3638 /*mask */ X86_MXCSR_OM | X86_MXCSR_PM, 3639 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST, 3640 /*flags */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE }, 3653 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM, 3654 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE, 3655 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE, 3656 /*xcpt? */ false, false }, 3641 3657 { { /*src2 */ { FP64_V(1, 0, 2), FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_V(1, 0, 2) } }, 3642 3658 { /*src1 */ { FP64_NORM_MIN(1), FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MIN(1) } }, 3643 3659 { /* => */ { FP64_NORM_MIN(0), FP64_NORM_MAX(1), FP64_NORM_MAX(1), FP64_NORM_MIN(0) } }, 3644 /*mask */ X86_MXCSR_OM | X86_MXCSR_PM, 3645 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 3646 /*flags */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE }, 3660 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OM | X86_MXCSR_PM, 3661 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE, 3662 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_OM | X86_MXCSR_PM | X86_MXCSR_OE | X86_MXCSR_PE, 3663 /*xcpt? */ false, false }, 3647 3664 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(0), FP64_NORM_MAX(0) } }, 3648 3665 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_NORM_MIN(0), FP64_NORM_MAX(1) } }, 3649 3666 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_NORM_MAX(1) } }, 3650 /*mask */ X86_MXCSR_XCPT_MASK, 3651 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO, 3652 /*flags */ 0, X86_MXCSR_OE | X86_MXCSR_PE }, 3667 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 3668 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 3669 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE, 3670 /*xcpt? */ false, false }, 3653 3671 { { /*src2 */ { FP64_NORM_MIN(0), FP64_NORM_MIN(0), FP64_NORM_MIN(1), FP64_NORM_MIN(0) } }, 3654 3672 { /*src1 */ { FP64_NORM_MAX(0), FP64_NORM_MAX(0), FP64_NORM_MAX(1), FP64_NORM_MAX(0) } }, 3655 3673 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3656 /*mask */ ~(X86_MXCSR_OM | X86_MXCSR_PM), 3657 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO, 3658 /*flags */ X86_MXCSR_PE, X86_MXCSR_PE }, 3674 /*mxcsr:in */ X86_MXCSR_XCPT_MASK & ~(X86_MXCSR_OM | X86_MXCSR_PM) | X86_MXCSR_RC_ZERO, 3675 /*128:out */ X86_MXCSR_XCPT_MASK & ~(X86_MXCSR_OM | X86_MXCSR_PM) | X86_MXCSR_RC_ZERO | X86_MXCSR_PE, 3676 /*256:out */ X86_MXCSR_XCPT_MASK & ~(X86_MXCSR_OM | X86_MXCSR_PM) | X86_MXCSR_RC_ZERO | X86_MXCSR_PE, 3677 /*xcpt? */ true, true }, 3659 3678 { { /*src2 */ { FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_MAX(0), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } }, 3660 3679 { /*src1 */ { FP64_NORM_SAFE_INT_MAX(0), FP64_NORM_MAX(1), FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MAX(1) } }, 3661 3680 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3662 /*mask */ ~X86_MXCSR_XCPT_MASK, 3663 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_ZERO, 3664 /*flags */ X86_MXCSR_OE | X86_MXCSR_PE, X86_MXCSR_OE | X86_MXCSR_PE }, 3681 /*mxcsr:in */ X86_MXCSR_RC_ZERO, 3682 /*128:out */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE, 3683 /*256:out */ X86_MXCSR_RC_ZERO | X86_MXCSR_OE | X86_MXCSR_PE, 3684 /*xcpt? */ true, true }, 3665 3685 /* 3666 3686 * Normals. … … 3669 3689 { /*src1 */ { FP64_NORM_MAX(0), FP64_NORM_V1(1), FP64_NORM_MAX(1), FP64_NORM_V1(0) } }, 3670 3690 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3671 /*mask */ ~X86_MXCSR_XCPT_MASK, 3672 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3673 /*flags */ 0, 0 }, 3691 /*mxcsr:in */ 0, 3692 /*128:out */ 0, 3693 /*256:out */ 0, 3694 /*xcpt? */ false, false }, 3674 3695 { { /*src2 */ { FP64_V(0, 0, 0x409)/*1024*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(1, 0xc000000000000, 0x401)/* 7*/, FP64_V(0, 0x8000000000000, 0x409)/*1536*/ } }, 3675 3696 { /*src1 */ { FP64_V(0, 0x8000000000000, 0x409)/*1536*/, FP64_V(1, 0xc000000000000, 0x401)/* 7*/, FP64_V(0, 0xb800000000000, 0x404)/*55*/, FP64_V(0, 0, 0x409)/*1024*/ } }, 3676 3697 { /* => */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_V(1, 0xf000000000000, 0x404)/*62*/, FP64_V(0, 0xf000000000000, 0x404)/*62*/, FP64_V(1, 0, 0x408)/* 512*/ } }, 3677 /*mask */ X86_MXCSR_XCPT_MASK, 3678 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3679 /*flags */ 0, 0 }, 3698 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3699 /*128:out */ X86_MXCSR_XCPT_MASK, 3700 /*256:out */ X86_MXCSR_XCPT_MASK, 3701 /*xcpt? */ false, false }, 3680 3702 { { /*src2 */ { FP64_V(0, 0x26580b4800000, 0x41d)/*1234567890*/, FP64_V(0, 0x9000000000000, 0x405)/* 100*/, FP64_0(0), FP64_V(0, 0xd6eca42000000, 0x419)/* 123450000.5*/ } }, 3681 3703 { /*src1 */ { FP64_V(0, 0x26580b4800000, 0x41d)/*1234567890*/, FP64_V(0, 0xd6f3458800000, 0x41c)/*987654321*/, FP64_0(0), FP64_V(0, 0xcf00348ec5858, 0x432)/*4072598123457580.0*/ } }, 3682 3704 { /* => */ { FP64_0(0), FP64_V(0, 0xd6f3426800000, 0x41c)/*987654221*/, FP64_0(0), FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/ } }, 3683 /*mask */ ~X86_MXCSR_XCPT_MASK, 3684 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3685 /*flags */ 0, 0 }, 3705 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3706 /*128:out */ X86_MXCSR_XCPT_MASK, 3707 /*256:out */ X86_MXCSR_XCPT_MASK, 3708 /*xcpt? */ false, false }, 3686 3709 { { /*src2 */ { FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MAX(0), FP64_0(0), FP64_0(0) } }, 3687 3710 { /*src1 */ { FP64_NORM_SAFE_INT_MAX(0), FP64_1(0), FP64_0(0), FP64_0(0) } }, 3688 3711 { /* => */ { FP64_1(0), FP64_V(1, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_0(0), FP64_0(0) } }, 3689 /*mask */ X86_MXCSR_XCPT_MASK, 3690 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 3691 /*flags */ 0, 0 }, 3712 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3713 /*128:out */ X86_MXCSR_XCPT_MASK, 3714 /*256:out */ X86_MXCSR_XCPT_MASK, 3715 /*xcpt? */ false, false }, 3692 3716 { { /*src2 */ { FP64_1(0), FP64_1(1), FP64_1(1), FP64_NORM_SAFE_INT_MAX(0) } }, 3693 3717 { /*src1 */ { FP64_NORM_SAFE_INT_MAX(0), 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_1(0) } }, 3694 3718 { /* => */ { 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), FP64_V(1, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX) } }, 3695 /*mask */ X86_MXCSR_XCPT_MASK, 3696 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 3697 /*flags */ 0, 0 }, 3719 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK, 3720 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK, 3721 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_XCPT_MASK, 3722 /*xcpt? */ false, false }, 3698 3723 { { /*src2 */ { FP64_NORM_SAFE_INT_MAX(1), FP64_0(0), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } }, 3699 3724 { /*src1 */ { FP64_NORM_SAFE_INT_MAX(1), FP64_NORM_SAFE_INT_MIN(1), FP64_0(0), FP64_NORM_SAFE_INT_MIN(0) } }, 3700 3725 { /* => */ { FP64_0(0), FP64_NORM_SAFE_INT_MIN(1), FP64_NORM_SAFE_INT_MIN(1), FP64_V(0, 0, 2) } }, 3701 /*mask */ ~X86_MXCSR_XCPT_MASK, 3702 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 3703 /*flags */ 0, 0 }, 3726 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK, 3727 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK, 3728 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK, 3729 /*xcpt? */ false, false }, 3704 3730 { { /*src2 */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_0(0), FP64_0(1), FP64_NORM_SAFE_INT_MIN(0) } }, 3705 3731 { /*src1 */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_0(0), FP64_0(1), FP64_NORM_SAFE_INT_MIN(1) } }, 3706 3732 { /* => */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_0(1), FP64_0(1), FP64_V(1, 0, 2) } }, 3707 /*mask */ X86_MXCSR_XCPT_MASK, 3708 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN, 3709 /*flags */ 0, 0 }, 3733 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK, 3734 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK, 3735 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_XCPT_MASK, 3736 /*xcpt? */ false, false }, 3710 3737 /* 3711 3738 * Denormals. … … 3714 3741 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3715 3742 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3716 /*mask */ ~X86_MXCSR_XCPT_MASK, 3717 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3718 /*flags */ X86_MXCSR_DE, X86_MXCSR_DE }, 3743 /*mxcsr:in */ 0, 3744 /*128:out */ X86_MXCSR_DE, 3745 /*256:out */ X86_MXCSR_DE, 3746 /*xcpt? */ true, true }, 3719 3747 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3720 3748 { /*src1 */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_0(0), FP64_0(0) } }, 3721 3749 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3722 /*mask */ X86_MXCSR_XCPT_MASK, 3723 /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_NEAREST, 3724 /*flags */ 0, 0 }, 3750 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK, 3751 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK, 3752 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_XCPT_MASK, 3753 /*xcpt? */ false, false }, 3725 3754 { { /*src2 */ { FP64_DENORM_MIN(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } }, 3726 3755 { /*src1 */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } }, 3727 3756 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 3728 /*mask */ X86_MXCSR_XCPT_MASK, 3729 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP, 3730 /*flags */ 0, 0 }, 3757 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK, 3758 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK, 3759 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_XCPT_MASK, 3760 /*xcpt? */ false, false }, 3731 3761 /** @todo More denormals. */ 3732 3762 /* … … 3736 3766 { /*src1 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 3737 3767 { /* => */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 3738 /*mask */ X86_MXCSR_XCPT_MASK, 3739 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3740 /*flags */ 0, 0 }, 3768 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3769 /*128:out */ X86_MXCSR_XCPT_MASK, 3770 /*256:out */ X86_MXCSR_XCPT_MASK, 3771 /*xcpt? */ false, false }, 3741 3772 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 3742 3773 { /*src1 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0) } }, 3743 3774 { /* => */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, 1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0) } }, 3744 /*mask */ X86_MXCSR_XCPT_MASK, 3745 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3746 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3775 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3776 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3777 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3778 /*xcpt? */ false, false }, 3747 3779 { { /*src2 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V1) } }, 3748 3780 { /*src1 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 3749 3781 { /* => */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 3750 /*mask */ X86_MXCSR_XCPT_MASK, 3751 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3752 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3782 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3783 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3784 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3785 /*xcpt? */ false, false }, 3753 3786 { { /*src2 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 3754 3787 { /*src1 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V0) } }, 3755 3788 { /* => */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V0) } }, 3756 /*mask */ X86_MXCSR_XCPT_MASK, 3757 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3758 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3789 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3790 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3791 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3792 /*xcpt? */ false, false }, 3759 3793 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 3760 3794 { /*src1 */ { FP64_1(0), FP64_1(1), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 3761 3795 { /* => */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 3762 /*mask */ X86_MXCSR_XCPT_MASK, 3763 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3764 /*flags */ 0, 0 }, 3796 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3797 /*128:out */ X86_MXCSR_XCPT_MASK, 3798 /*256:out */ X86_MXCSR_XCPT_MASK, 3799 /*xcpt? */ false, false }, 3765 3800 { { /*src2 */ { FP64_SNAN(1), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_SNAN_V(0, FP64_FRAC_V1) } }, 3766 3801 { /*src1 */ { FP64_1(0), FP64_1(0), FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 3767 3802 { /* => */ { FP64_QNAN_V(1, 1), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 3768 /*mask */ X86_MXCSR_XCPT_MASK, 3769 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 3770 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3803 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 3804 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3805 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 3806 /*xcpt? */ false, false }, 3771 3807 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0) , FP64_QNAN_V(0, FP64_FRAC_V1) } }, 3772 3808 { /*src1 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 3773 3809 { /* => */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 3774 /*mask */ ~X86_MXCSR_XCPT_MASK, 3775 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN, 3776 /*flags */ 0, 0 }, 3810 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3811 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3812 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 3813 /*xcpt? */ false, false }, 3777 3814 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP32_FRAC_V1) } }, 3778 3815 { /*src1 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP32_FRAC_V2) } }, 3779 3816 { /* => */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, 1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP32_FRAC_V2) } }, 3780 /*mask */ ~X86_MXCSR_XCPT_MASK, 3781 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 3782 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3817 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 3818 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 3819 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 3820 /*xcpt? */ true, true }, 3783 3821 { { /*src2 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V1) } }, 3784 3822 { /*src1 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 3785 3823 { /* => */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 3786 /*mask */ ~X86_MXCSR_XCPT_MASK, 3787 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 3788 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3824 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 3825 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE, 3826 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_IE, 3827 /*xcpt? */ true, true }, 3789 3828 { { /*src2 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 3790 3829 { /*src1 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } }, 3791 3830 { /* => */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 3792 /*mask */ ~X86_MXCSR_XCPT_MASK, 3793 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_UP, 3794 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3831 /*mxcsr:in */ X86_MXCSR_RC_UP, 3832 /*128:out */ X86_MXCSR_RC_UP | X86_MXCSR_IE, 3833 /*256:out */ X86_MXCSR_RC_UP | X86_MXCSR_IE, 3834 /*xcpt? */ true, true }, 3795 3835 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 3796 3836 { /*src1 */ { FP64_1(0), FP64_1(1), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_NORM_V2(1) } }, 3797 3837 { /* => */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 3798 /*mask */ ~X86_MXCSR_XCPT_MASK, 3799 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN, 3800 /*flags */ 0, 0 }, 3838 /*mxcsr:in */ X86_MXCSR_RC_DOWN, 3839 /*128:out */ X86_MXCSR_RC_DOWN, 3840 /*256:out */ X86_MXCSR_RC_DOWN, 3841 /*xcpt? */ false, false }, 3801 3842 { { /*src2 */ { FP64_SNAN(1), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 3802 3843 { /*src1 */ { FP64_1(0), FP64_1(0), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_NORM_V2(1) } }, 3803 3844 { /* => */ { FP64_QNAN_V(1, 1), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 3804 /*mask */ ~X86_MXCSR_XCPT_MASK, 3805 /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO, 3806 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 3845 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 3846 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 3847 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 3848 /*xcpt? */ true, true }, 3807 3849 /** @todo Underflow, Precision; Rounding, FZ etc. */ 3808 3850 }; … … 3855 3897 3856 3898 3899 #if 0 3857 3900 /* 3858 3901 * [V]SUBSS. … … 5207 5250 { "[v]haddps", bs3CpuInstr4_v_haddps, 0 }, 5208 5251 { "[v]subps", bs3CpuInstr4_v_subps, 0 }, 5252 { "[v]subpd", bs3CpuInstr4_v_subpd, 0 }, 5209 5253 # if 0 5210 { "[v]subpd", bs3CpuInstr4_v_subpd, 0 },5211 5254 { "[v]subss", bs3CpuInstr4_v_subss, 0 }, 5212 5255 { "[v]mulps", bs3CpuInstr4_v_mulps, 0 },
Note:
See TracChangeset
for help on using the changeset viewer.