Changeset 105594 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Aug 6, 2024 4:38:43 AM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r105516 r105594 4514 4514 4515 4515 4516 #if 04517 4516 /* 4518 4517 * [V]MULPD. … … 4528 4527 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4529 4528 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4530 /*mask */ X86_MXCSR_XCPT_MASK, 4531 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 4532 /*flags */ 0, 0 }, 4529 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 4530 /*128:out */ X86_MXCSR_XCPT_MASK, 4531 /*256:out */ X86_MXCSR_XCPT_MASK, 4532 /*xcpt? */ false, false }, 4533 4533 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4534 4534 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4535 4535 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4536 /*mask */ ~X86_MXCSR_XCPT_MASK, 4537 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 4538 /*flags */ 0, 0 }, 4536 /*mxcsr:in */ 0, 4537 /*128:out */ 0, 4538 /*256:out */ 0, 4539 /*xcpt? */ false, false }, 4539 4540 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4540 4541 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4541 4542 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4542 /*mask */ ~X86_MXCSR_XCPT_MASK, 4543 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP, 4544 /*flags */ 0, 0 }, 4543 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4544 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4545 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4546 /*xcpt? */ false, false }, 4545 4547 { { /*src2 */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4546 4548 { /*src1 */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4547 4549 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4548 /*mask */ ~X86_MXCSR_XCPT_MASK, 4549 /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO, 4550 /*flags */ 0, 0 }, 4550 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 4551 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 4552 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 4553 /*xcpt? */ false, false }, 4551 4554 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(0) } }, 4552 4555 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(0) } }, 4553 4556 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 4554 /*mask */ ~X86_MXCSR_XCPT_MASK, 4555 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 4556 /*flags */ 0, 0 }, 4557 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4558 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4559 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4560 /*xcpt? */ false, false }, 4557 4561 { { /*src2 */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } }, 4558 4562 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(1) } }, 4559 4563 { /* => */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(0) } }, 4560 /*mask */ X86_MXCSR_XCPT_MASK, 4561 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN, 4562 /*flags */ 0, 0 }, 4564 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4565 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4566 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4567 /*xcpt? */ false, false }, 4563 4568 { { /*src2 */ { FP64_NORM_V0(0), FP64_NORM_V1(1), FP64_0(0), FP64_NORM_V3(1) } }, 4564 4569 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_NORM_V2(1), FP64_0(1) } }, 4565 4570 { /* => */ { FP64_0(0), FP64_0(1), FP64_0(1), FP64_0(0) } }, 4566 /*mask */ X86_MXCSR_XCPT_MASK, 4567 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_DOWN, 4568 /*flags */ 0, 0 }, 4571 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4572 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4573 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 4574 /*xcpt? */ false, false }, 4569 4575 /* 4570 4576 * Infinity. … … 4573 4579 { /*src1 */ { FP64_INF(1), FP64_0(0), FP64_INF(0), FP64_0(0) } }, 4574 4580 { /* => */ { FP64_INF(1), FP64_0(0), FP64_INF(1), FP64_0(0) } }, 4575 /*mask */ ~X86_MXCSR_IM, 4576 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 4577 /*flags */ 0, 0 }, 4581 /*mxcsr:in */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM, 4582 /*128:out */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM, 4583 /*256:out */ X86_MXCSR_XCPT_MASK & ~X86_MXCSR_IM, 4584 /*xcpt? */ false, false }, 4578 4585 { { /*src2 */ { FP64_INF(0), FP64_INF(0), FP64_INF(1), FP64_INF(1) } }, 4579 4586 { /*src1 */ { FP64_INF(1), FP64_INF(0), FP64_INF(1), FP64_INF(0) } }, 4580 4587 { /* => */ { FP64_INF(1), FP64_INF(0), FP64_INF(0), FP64_INF(1) } }, 4581 /*mask */ X86_MXCSR_XCPT_MASK, 4582 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST, 4583 /*flags */ 0, 0 }, 4588 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 4589 /*128:out */ X86_MXCSR_XCPT_MASK, 4590 /*256:out */ X86_MXCSR_XCPT_MASK, 4591 /*xcpt? */ false, false }, 4584 4592 { { /*src2 */ { FP64_INF(0), FP64_INF(1), FP64_0(1), FP64_INF(0) } }, 4585 4593 { /*src1 */ { FP64_INF(1), FP64_INF(0), FP64_0(1), FP64_INF(0) } }, 4586 4594 { /* => */ { FP64_INF(1), FP64_INF(1), FP64_0(0), FP64_INF(0) } }, 4587 /*mask */ ~X86_MXCSR_XCPT_MASK, 4588 /*daz,fz,rc*/ 0, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 4589 /*flags */ 0, 0 }, 4595 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4596 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4597 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4598 /*xcpt? */ false, false }, 4590 4599 { { /*src2 */ { FP64_INF(0), FP64_INF(1), FP64_0(1), FP64_INF(0) } }, 4591 4600 { /*src1 */ { FP64_INF(1), FP64_INF(0), FP64_0(1), FP64_INF(0) } }, 4592 4601 { /* => */ { FP64_INF(1), FP64_INF(1), FP64_0(0), FP64_INF(0) } }, 4593 /*mask */ X86_MXCSR_XCPT_MASK, 4594 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO, 4595 /*flags */ 0, 0 }, 4602 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4603 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4604 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 4605 /*xcpt? */ false, false }, 4596 4606 { { /*src2 */ { FP64_INF(0), FP64_INF(0), FP64_1(0), FP64_INF(0) } }, 4597 4607 { /*src1 */ { FP64_1(0), FP64_NORM_V0(0), FP64_INF(0), FP64_NORM_V1(0) } }, 4598 4608 { /* => */ { FP64_INF(0), FP64_INF(0), FP64_INF(0), FP64_INF(0) } }, 4599 /*mask */ X86_MXCSR_XCPT_MASK, 4600 /*daz,fz,rc*/ 0, 0, X86_MXCSR_RC_DOWN, 4601 /*flags */ 0, 0 }, 4609 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4610 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4611 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 4612 /*xcpt? */ false, false }, 4602 4613 { { /*src2 */ { FP64_INF(1), FP64_INF(0), FP64_NORM_V3(0), FP64_INF(1) } }, 4603 4614 { /*src1 */ { FP64_1(1), FP64_NORM_V3(1), FP64_INF(1), FP64_NORM_V1(1) } }, 4604 4615 { /* => */ { FP64_INF(0), FP64_INF(1), FP64_INF(1), FP64_INF(0) } }, 4605 /*mask */ X86_MXCSR_XCPT_MASK, 4606 /*daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_UP, 4607 /*flags */ 0, 0 }, 4616 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4617 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4618 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 4619 /*xcpt? */ false, false }, 4620 #if 0 4608 4621 /* 4609 4622 * Normals. … … 4812 4825 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 4813 4826 /** @todo Underflow, Precision; Rounding, FZ etc. */ 4827 #endif 4814 4828 }; 4815 4829 … … 4861 4875 4862 4876 4877 #if 0 4863 4878 /* 4864 4879 * [V]MULSS. … … 5300 5315 { "[v]subss", bs3CpuInstr4_v_subss, 0 }, 5301 5316 { "[v]mulps", bs3CpuInstr4_v_mulps, 0 }, 5317 { "[v]mulpd", bs3CpuInstr4_v_mulpd, 0 }, 5302 5318 # if 0 5303 { "[v]mulpd", bs3CpuInstr4_v_mulpd, 0 },5304 5319 { "[v]mulss", bs3CpuInstr4_v_mulss, 0 }, 5305 5320 # endif
Note:
See TracChangeset
for help on using the changeset viewer.