- Timestamp:
- Aug 6, 2024 4:52:41 AM (7 months ago)
- svn:sync-xref-src-repo-rev:
- 164274
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r105594 r105595 4618 4618 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4619 4619 /*xcpt? */ false, false }, 4620 #if 04621 4620 /* 4622 4621 * Normals. … … 4625 4624 { /*src1 */ { FP64_1(0), FP64_V(0, 0x2d69a80000000, 0x413)/* 1234586.50*/, FP64_V(1, 0x4000000000000, 0x400)/* -2.50*/, FP64_V(0, 0xb800000000000, 0x402)/* 13.75000*/ } }, 4626 4625 { /* => */ { FP64_V(0, 0xe66f500000000, 0x40d)/*31131.828125*/, FP64_V(0, 0xfb74e1d800000, 0x41a)/*266053390.75*/, FP64_V(0, 0x549270a11c760, 0x42c)/* 46807863534478.75*/, FP64_V(0, 0x3c30944926c00, 0x424)/*169753086244.84375*/ } }, 4627 /*mask */ X86_MXCSR_XCPT_MASK, 4628 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 4629 /*flags */ 0, 0 }, 4626 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 4627 /*128:out */ X86_MXCSR_XCPT_MASK, 4628 /*256:out */ X86_MXCSR_XCPT_MASK, 4629 /*xcpt? */ false, false }, 4630 4630 { { /*src2 */ { FP64_NORM_MAX(1), FP64_NORM_V3(1), FP64_1(0), FP64_1(1) } }, 4631 4631 { /*src1 */ { FP64_1(1), FP64_1(0), FP64_NORM_V1(0), FP64_NORM_MIN(1) } }, 4632 4632 { /* => */ { FP64_NORM_MAX(0), FP64_NORM_V3(1), FP64_NORM_V1(0), FP64_NORM_MIN(0) } }, 4633 /*mask */ X86_MXCSR_XCPT_MASK, 4634 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN, 4635 /*flags */ 0, 0 }, 4633 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4634 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4635 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4636 /*xcpt? */ false, false }, 4636 4637 { { /*src2 */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646.00*/, FP64_V(1, 0x68b83b1ed4000, 0x41e)/*-3025935759.4140625*/, FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646*/, FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/ } }, 4637 4638 { /*src1 */ { FP64_V(0, 0x8000000000000, 0x3fe)/* 0.75*/, FP64_V(1, 0, 0x400)/* -2.0000000*/, FP64_1(0), FP64_V(0, 0x8000000000000, 0x400)/* 3.00*/ } }, 4638 4639 { /* => */ { FP64_V(0, 0x4da20a80c6990, 0x42e)/*183416666481484.50*/, FP64_V(0, 0x68b83b1ed4000, 0x41f)/* 6051871518.8281250*/, FP64_V(0, 0xbcd80e0108cc0, 0x42e)/*244555555308646*/, FP64_V(0, 0x4a6a82b05f744, 0x42f)/*363296296296308.25*/ } }, 4639 /*mask */ X86_MXCSR_XCPT_MASK, 4640 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN, 4641 /*flags */ 0, 0 }, 4640 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4641 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4642 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4643 /*xcpt? */ false, false }, 4642 4644 { { /*src2 */ { FP64_1(0), FP64_1(0), FP64_NORM_SAFE_INT_MIN(0), FP64_1(0) } }, 4643 4645 { /*src1 */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_1(0), FP64_NORM_SAFE_INT_MIN(1) } }, 4644 4646 { /* => */ { FP64_NORM_SAFE_INT_MAX(0), FP64_V(0, FP64_FRAC_NORM_MAX - 1, FP64_EXP_SAFE_INT_MAX), FP64_NORM_SAFE_INT_MIN(0), FP64_NORM_SAFE_INT_MIN(1) } }, 4645 /*mask */ X86_MXCSR_XCPT_MASK, 4646 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 4647 /*flags */ 0, 0 }, 4647 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4648 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4649 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4650 /*xcpt? */ false, false }, 4648 4651 { { /*src2 */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_NORM_V2(0), FP64_NORM_V3(1) } }, 4649 4652 { /*src1 */ { FP64_1(0), FP64_1(1), FP64_1(1), FP64_1(1) } }, 4650 4653 { /* => */ { FP64_NORM_V0(0), FP64_NORM_V1(0), FP64_NORM_V2(1), FP64_NORM_V3(0) } }, 4651 /*mask */ X86_MXCSR_XCPT_MASK, 4652 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN, 4653 /*flags */ 0, 0 }, 4654 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4655 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4656 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4657 /*xcpt? */ false, false }, 4654 4658 /** @todo More Normals. */ 4655 4659 /* … … 4659 4663 { /*src1 */ { FP64_0(0), FP64_DENORM_MIN(0), FP64_0(0), FP64_DENORM_MAX(0) } }, 4660 4664 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4661 /*mask */ ~X86_MXCSR_XCPT_MASK, 4662 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 4663 /*flags */ X86_MXCSR_DE, X86_MXCSR_DE }, 4665 /*mxcsr:in */ 0, 4666 /*128:out */ X86_MXCSR_DE, 4667 /*256:out */ X86_MXCSR_DE, 4668 /*xcpt? */ true, true }, 4664 4669 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_DENORM_MIN(0), FP64_0(0) } }, 4665 4670 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_DENORM_MIN(0) } }, 4666 4671 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4667 /*mask */ ~X86_MXCSR_XCPT_MASK, 4668 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST, 4669 /*flags */ 0, X86_MXCSR_DE }, 4672 /*mxcsr:in */ X86_MXCSR_FZ, 4673 /*128:out */ X86_MXCSR_FZ, 4674 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_DE, 4675 /*xcpt? */ false, true }, 4670 4676 { { /*src2 */ { FP64_DENORM_MAX(0), FP64_0(0), FP64_DENORM_MIN(0), FP64_0(0) } }, 4671 4677 { /*src1 */ { FP64_0(0), FP64_DENORM_MAX(0), FP64_0(0), FP64_DENORM_MIN(0) } }, 4672 4678 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4673 /*mask */ X86_MXCSR_XCPT_MASK, 4674 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST, 4675 /*flags */ 0, 0 }, 4679 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ, 4680 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ, 4681 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ, 4682 /*xcpt? */ false, false }, 4676 4683 { { /*src2 */ { FP64_DENORM_MAX(0), FP64_1(0), FP64_DENORM_MIN(0), FP64_1(0) } }, 4677 4684 { /*src1 */ { FP64_1(0), FP64_DENORM_MAX(0), FP64_1(0), FP64_DENORM_MIN(0) } }, 4678 4685 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4679 /*mask */ X86_MXCSR_XCPT_MASK, 4680 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_NEAREST, 4681 /*flags */ 0, 0 }, 4686 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ, 4687 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ, 4688 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ, 4689 /*xcpt? */ false, false }, 4682 4690 { { /*src2 */ { FP64_DENORM_MIN(1), FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(1) } }, 4683 4691 { /*src1 */ { FP64_DENORM_MAX(1), FP64_DENORM_MIN(1), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } }, 4684 4692 { /* => */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } }, 4685 /*mask */ X86_MXCSR_XCPT_MASK, 4686 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP, 4687 /*flags */ 0, 0 }, 4693 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4694 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4695 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4696 /*xcpt? */ false, false }, 4688 4697 { { /*src2 */ { FP64_1(0), FP64_NORM_V1(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0) } }, 4689 4698 { /*src1 */ { FP64_NORM_V0(0), FP64_1(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(0) } }, 4690 4699 { /* => */ { FP64_NORM_V0(0), FP64_NORM_V1(0), FP64_0(0), FP64_0(0) } }, 4691 /*mask */ X86_MXCSR_XCPT_MASK, 4692 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_UP, 4693 /*flags */ 0, X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE }, 4700 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4701 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4702 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP | X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE, 4703 /*xcpt? */ false, false }, 4694 4704 { { /*src2 */ { FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(1) } }, 4695 4705 { /*src1 */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } }, 4696 4706 { /* => */ { FP64_0(0), FP64_0(0), FP64_INF(1), FP64_INF(0) } }, 4697 /*mask */ ~X86_MXCSR_XCPT_MASK, 4698 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 4699 /*flags */ X86_MXCSR_DE, X86_MXCSR_DE }, 4707 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4708 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE, 4709 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE, 4710 /*xcpt? */ true, true }, 4700 4711 { { /*src2 */ { FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(0), FP64_DENORM_MAX(1) } }, 4701 4712 { /*src1 */ { FP64_DENORM_MAX(0), FP64_DENORM_MIN(0), FP64_DENORM_MAX(1), FP64_DENORM_MIN(1) } }, 4702 4713 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(0) } }, 4703 /*mask */ X86_MXCSR_XCPT_MASK, 4704 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 4705 /*flags */ X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE, X86_MXCSR_DE | X86_MXCSR_UE | X86_MXCSR_PE }, 4714 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4715 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE, 4716 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_DE, 4717 /*xcpt? */ true, true }, 4718 #if 0 4706 4719 /* 4707 4720 * Overflow, Precision.
Note:
See TracChangeset
for help on using the changeset viewer.