Changeset 106148 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Sep 25, 2024 9:03:31 AM (5 months ago)
- svn:sync-xref-src-repo-rev:
- 164927
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4-template.mac
r106135 r106148 618 618 619 619 ; 620 ;; [v]minsd 621 ; 622 EMIT_INSTR_PLUS_ICEBP minsd, XMM3, XMM4 623 EMIT_INSTR_PLUS_ICEBP minsd, XMM3, FSxBX 624 EMIT_INSTR_PLUS_ICEBP_C64 minsd, XMM8, XMM9 625 EMIT_INSTR_PLUS_ICEBP_C64 minsd, XMM8, FSxBX 626 627 EMIT_INSTR_PLUS_ICEBP vminsd, XMM1, XMM6, XMM7 628 EMIT_INSTR_PLUS_ICEBP vminsd, XMM1, XMM6, FSxBX 629 EMIT_INSTR_PLUS_ICEBP_C64 vminsd, XMM8, XMM9, XMM10 630 EMIT_INSTR_PLUS_ICEBP_C64 vminsd, XMM8, XMM9, FSxBX 631 632 ; 620 633 ;; [v]sqrtps 621 634 ; -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r106135 r106148 12689 12689 12690 12690 /* 12691 * [V]MINSD. 12692 */ 12693 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_minsd(uint8_t bMode) 12694 { 12695 static BS3CPUINSTR4_TEST1_VALUES_SD_T const s_aValues[] = 12696 { 12697 /* 12698 * Zero. 12699 */ 12700 /* 0*/{ { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 12701 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 12702 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 12703 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12704 /*128:out */ X86_MXCSR_XCPT_MASK, 12705 /*256:out */ X86_MXCSR_XCPT_MASK, 12706 /*xcpt? */ false, false }, 12707 { { /*src2 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 12708 { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 12709 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(0), FP64_0(0) } }, 12710 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 12711 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 12712 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 12713 /*xcpt? */ false, false }, 12714 { { /*src2 */ { FP64_0(0), FP64_INF(0), FP64_SNAN(0), FP64_SNAN(0) } }, 12715 { /*src1 */ { FP64_0(0), FP64_INF(1), FP64_QNAN(0), FP64_SNAN(1) } }, 12716 { /* => */ { FP64_0(0), FP64_INF(1), FP64_QNAN(0), FP64_SNAN(1) } }, 12717 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12718 /*128:out */ X86_MXCSR_XCPT_MASK, 12719 /*256:out */ X86_MXCSR_XCPT_MASK, 12720 /*xcpt? */ false, false }, 12721 { { /*src2 */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V0(0) } }, 12722 { /*src1 */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } }, 12723 { /* => */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } }, 12724 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12725 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12726 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12727 /*xcpt? */ false, false }, 12728 { { /*src2 */ { FP64_0(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } }, 12729 { /*src1 */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(1) } }, 12730 { /* => */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V2(1) } }, 12731 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 12732 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 12733 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 12734 /*xcpt? */ false, false }, 12735 { { /*src2 */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V3(0) } }, 12736 { /*src1 */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } }, 12737 { /* => */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } }, 12738 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12739 /*128:out */ X86_MXCSR_XCPT_MASK, 12740 /*256:out */ X86_MXCSR_XCPT_MASK, 12741 /*xcpt? */ false, false }, 12742 { { /*src2 */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } }, 12743 { /*src1 */ { FP64_0(1), FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } }, 12744 { /* => */ { FP64_0(0), FP64_RAND_V2(1), FP64_RAND_V3(0), FP64_RAND_V0(1) } }, 12745 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12746 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12747 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12748 /*xcpt? */ false, false }, 12749 { { /*src2 */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(1) } }, 12750 { /*src1 */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 12751 { /* => */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 12752 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12753 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12754 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12755 /*xcpt? */ false, false }, 12756 { { /*src2 */ { FP64_0(1), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V1(0) } }, 12757 { /*src1 */ { FP64_0(0), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(0) } }, 12758 { /* => */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(1), FP64_RAND_V3(0) } }, 12759 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12760 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12761 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_XCPT_FLAGS | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12762 /*xcpt? */ false, false }, 12763 { { /*src2 */ { FP64_0(1), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12764 { /*src1 */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } }, 12765 { /* => */ { FP64_0(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(0) } }, 12766 /*mxcsr:in */ 0, 12767 /*128:out */ 0, 12768 /*256:out */ 0, 12769 /*xcpt? */ false, false }, 12770 { { /*src2 */ { FP64_0(1), FP64_RAND_V3(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } }, 12771 { /*src1 */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V0(1), FP64_RAND_V2(1) } }, 12772 { /* => */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V0(1), FP64_RAND_V2(1) } }, 12773 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12774 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12775 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12776 /*xcpt? */ false, false }, 12777 /* 12778 * Infinity. 12779 */ 12780 /*11*/{ { /*src2 */ { FP64_INF(0), FP64_RAND_V3(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } }, 12781 { /*src1 */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } }, 12782 { /* => */ { FP64_0(0), FP64_RAND_V1(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } }, 12783 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12784 /*128:out */ X86_MXCSR_XCPT_MASK, 12785 /*256:out */ X86_MXCSR_XCPT_MASK, 12786 /*xcpt? */ false, false }, 12787 { { /*src2 */ { FP64_0(0), FP64_RAND_V1(1), FP64_RAND_V1(1), FP64_RAND_V3(1) } }, 12788 { /*src1 */ { FP64_INF(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12789 { /* => */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12790 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 12791 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 12792 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 12793 /*xcpt? */ false, false }, 12794 { { /*src2 */ { FP64_INF(0), FP64_INF(1), FP64_SNAN(1), FP64_QNAN(1) } }, 12795 { /*src1 */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12796 { /* => */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12797 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12798 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12799 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12800 /*xcpt? */ false, false }, 12801 { { /*src2 */ { FP64_0(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 12802 { /*src1 */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } }, 12803 { /* => */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } }, 12804 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 12805 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 12806 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 12807 /*xcpt? */ false, false }, 12808 { { /*src2 */ { FP64_INF(0), FP64_RAND_V3(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } }, 12809 { /*src1 */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } }, 12810 { /* => */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } }, 12811 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12812 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12813 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12814 /*xcpt? */ false, false }, 12815 { { /*src2 */ { FP64_INF(0), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } }, 12816 { /*src1 */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } }, 12817 { /* => */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } }, 12818 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12819 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12820 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12821 /*xcpt? */ false, false }, 12822 { { /*src2 */ { FP64_INF(1), FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 12823 { /*src1 */ { FP64_INF(1), FP64_QNAN_V(1, 1), FP64_RAND_V1(1), FP64_RAND_V2(0) } }, 12824 { /* => */ { FP64_INF(1), FP64_QNAN_V(1, 1), FP64_RAND_V1(1), FP64_RAND_V2(0) } }, 12825 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12826 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12827 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12828 /*xcpt? */ false, false }, 12829 { { /*src2 */ { FP64_INF(1), FP64_RAND_V2(1), FP64_RAND_V1(1), FP64_RAND_V0(1) } }, 12830 { /*src1 */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } }, 12831 { /* => */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } }, 12832 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12833 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12834 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12835 /*xcpt? */ false, false }, 12836 { { /*src2 */ { FP64_INF(1), FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } }, 12837 { /*src1 */ { FP64_INF(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } }, 12838 { /* => */ { FP64_INF(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V1(1) } }, 12839 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 12840 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 12841 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 12842 /*xcpt? */ false, false }, 12843 { { /*src2 */ { FP64_INF(1), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12844 { /*src1 */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 12845 { /* => */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 12846 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12847 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12848 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12849 /*xcpt? */ false, false }, 12850 { { /*src2 */ { FP64_INF(0), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V0(1) } }, 12851 { /*src1 */ { FP64_INF(1), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } }, 12852 { /* => */ { FP64_INF(1), FP64_RAND_V2(0), FP64_RAND_V3(0), FP64_RAND_V1(1) } }, 12853 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12854 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12855 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12856 /*xcpt? */ false, false }, 12857 { { /*src2 */ { FP64_INF(0), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12858 { /*src1 */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 12859 { /* => */ { FP64_INF(1), FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 12860 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ, 12861 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ, 12862 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ, 12863 /*xcpt? */ false, false }, 12864 { { /*src2 */ { FP64_INF(0), FP64_RAND_V0(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12865 { /*src1 */ { FP64_NORM_V0(0), FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V1(1) } }, 12866 { /* => */ { FP64_NORM_V0(0), FP64_RAND_V1(1), FP64_RAND_V3(1), FP64_RAND_V1(1) } }, 12867 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12868 /*128:out */ X86_MXCSR_XCPT_MASK, 12869 /*256:out */ X86_MXCSR_XCPT_MASK, 12870 /*xcpt? */ false, false }, 12871 { { /*src2 */ { FP64_INF(0), FP64_INF(0), FP64_SNAN(1), FP64_INF(1) } }, 12872 { /*src1 */ { FP64_NORM_V3(0), FP64_INF(1), FP64_QNAN(1), FP64_SNAN(1) } }, 12873 { /* => */ { FP64_NORM_V3(0), FP64_INF(1), FP64_QNAN(1), FP64_SNAN(1) } }, 12874 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12875 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12876 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12877 /*xcpt? */ false, false }, 12878 { { /*src2 */ { FP64_NORM_V2(0), FP64_RAND_V3(1), FP64_QNAN(1), FP64_SNAN(1) } }, 12879 { /*src1 */ { FP64_INF(1), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } }, 12880 { /* => */ { FP64_INF(1), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } }, 12881 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12882 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12883 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 12884 /*xcpt? */ false, false }, 12885 { { /*src2 */ { FP64_NORM_V2(0), FP64_SNAN_V(0, 1), FP64_RAND_V2(0), FP64_RAND_V3(0) } }, 12886 { /*src1 */ { FP64_INF(0), FP64_RAND_V2(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } }, 12887 { /* => */ { FP64_NORM_V2(0), FP64_RAND_V2(0), FP64_RAND_V1(0), FP64_RAND_V2(1) } }, 12888 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12889 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12890 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12891 /*xcpt? */ false, false }, 12892 /* 12893 * Normals. 12894 */ 12895 /*27*/{ { /*src2 */ { FP64_NORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V0(1), FP64_RAND_V3(1) } }, 12896 { /*src1 */ { FP64_NORM_MAX(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V2(1) } }, 12897 { /* => */ { FP64_NORM_MAX(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V2(1) } }, 12898 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12899 /*128:out */ X86_MXCSR_XCPT_MASK, 12900 /*256:out */ X86_MXCSR_XCPT_MASK, 12901 /*xcpt? */ false, false }, 12902 { { /*src2 */ { FP64_NORM_MIN(0), FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12903 { /*src1 */ { FP64_NORM_MIN(0), FP64_RAND_V2(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } }, 12904 { /* => */ { FP64_NORM_MIN(0), FP64_RAND_V2(0), FP64_RAND_V1(1), FP64_RAND_V2(1) } }, 12905 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12906 /*128:out */ X86_MXCSR_XCPT_MASK, 12907 /*256:out */ X86_MXCSR_XCPT_MASK, 12908 /*xcpt? */ false, false }, 12909 { { /*src2 */ { FP64_NORM_MIN(0), FP64_RAND_V3(1), FP64_RAND_V0(1), FP64_RAND_V3(0) } }, 12910 { /*src1 */ { FP64_NORM_MAX(0), FP64_RAND_V1(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } }, 12911 { /* => */ { FP64_NORM_MIN(0), FP64_RAND_V1(0), FP64_RAND_V3(0), FP64_RAND_V1(0) } }, 12912 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12913 /*128:out */ X86_MXCSR_XCPT_MASK, 12914 /*256:out */ X86_MXCSR_XCPT_MASK, 12915 /*xcpt? */ false, false }, 12916 { { /*src2 */ { FP64_NORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 12917 { /*src1 */ { FP64_NORM_MAX(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } }, 12918 { /* => */ { FP64_NORM_MAX(0), FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } }, 12919 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12920 /*128:out */ X86_MXCSR_XCPT_MASK, 12921 /*256:out */ X86_MXCSR_XCPT_MASK, 12922 /*xcpt? */ false, false }, 12923 { { /*src2 */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 12924 { /*src1 */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } }, 12925 { /* => */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V1(0), FP64_RAND_V3(1) } }, 12926 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12927 /*128:out */ X86_MXCSR_XCPT_MASK, 12928 /*256:out */ X86_MXCSR_XCPT_MASK, 12929 /*xcpt? */ false, false }, 12930 { { /*src2 */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 12931 { /*src1 */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12932 { /* => */ { FP64_NORM_SAFE_INT_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12933 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12934 /*128:out */ X86_MXCSR_XCPT_MASK, 12935 /*256:out */ X86_MXCSR_XCPT_MASK, 12936 /*xcpt? */ false, false }, 12937 { { /*src2 */ { FP64_NORM_SAFE_INT_MAX(0), FP64_INF(0), FP64_QNAN(1), FP64_QNAN(0) } }, 12938 { /*src1 */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12939 { /* => */ { FP64_NORM_SAFE_INT_MIN(0), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 12940 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 12941 /*128:out */ X86_MXCSR_XCPT_MASK, 12942 /*256:out */ X86_MXCSR_XCPT_MASK, 12943 /*xcpt? */ false, false }, 12944 { { /*src2 */ { FP64_V(0, 0, 0x409)/*1024*/, FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12945 { /*src1 */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12946 { /* => */ { FP64_V(0, 0, 0x408)/* 512*/, FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12947 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12948 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12949 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12950 /*xcpt? */ false, false }, 12951 { { /*src2 */ { FP64_V(0, 0xc122186c3cfd0, 0x42d)/*123456789876543.25*/, FP64_RAND_V2(1), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 12952 { /*src1 */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V0(0) } }, 12953 { /* => */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/*121098765432102.75*/, FP64_RAND_V0(0), FP64_RAND_V2(0), FP64_RAND_V0(0) } }, 12954 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12955 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12956 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 12957 /*xcpt? */ false, false }, 12958 { { /*src2 */ { FP64_NORM_MAX(0), FP64_RAND_V0(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12959 { /*src1 */ { FP64_NORM_V1(0), FP64_RAND_V0(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } }, 12960 { /* => */ { FP64_NORM_V1(0), FP64_RAND_V0(1), FP64_RAND_V2(0), FP64_RAND_V3(0) } }, 12961 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 12962 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 12963 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 12964 /*xcpt? */ false, false }, 12965 { { /*src2 */ { FP64_V(0, 0xc000000000000, 0x3ff)/*1.75*/, FP64_RAND_V3(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 12966 { /*src1 */ { FP64_V(0, 0, 0x3fd)/*0.25*/, FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V1(0) } }, 12967 { /* => */ { FP64_V(0, 0, 0x3fd)/*0.25*/, FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V1(0) } }, 12968 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12969 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12970 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12971 /*xcpt? */ false, false }, 12972 { { /*src2 */ { FP64_V(1, 0, 0x3fd)/*-0.25*/, FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 12973 { /*src1 */ { FP64_V(1, 0, 0x3fe)/*-0.50*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } }, 12974 { /* => */ { FP64_V(1, 0, 0x3fe)/*-0.50*/, FP64_RAND_V0(0), FP64_RAND_V1(0), FP64_RAND_V1(1) } }, 12975 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12976 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12977 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12978 /*xcpt? */ false, false }, 12979 { { /*src2 */ { FP64_V(0, 0x26580b4c7e6b7, 0x41d)/*1234567891.1234567*/, FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V3(1) } }, 12980 { /*src1 */ { FP64_V(0, 0x26580b4c7e6bc, 0x41d)/*1234567891.1234580*/, FP64_RAND_V3(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } }, 12981 { /* => */ { FP64_V(0, 0x26580b4c7e6b7, 0x41d)/*1234567891.1234567*/, FP64_RAND_V3(0), FP64_RAND_V1(0), FP64_RAND_V0(1) } }, 12982 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12983 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12984 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12985 /*xcpt? */ false, false }, 12986 { { /*src2 */ { FP64_V(0, 0xf9b0207d06184, 0x3fb)/*0.1234589833333129*/, FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12987 { /*src1 */ { FP64_V(0, 0xf9b0207d0617d, 0x3fb)/*0.1234589833333128*/, FP64_RAND_V1(1), FP64_RAND_V0(0), FP64_RAND_V0(1) } }, 12988 { /* => */ { FP64_V(0, 0xf9b0207d0617d, 0x3fb)/*0.1234589833333128*/, FP64_RAND_V1(1), FP64_RAND_V0(0), FP64_RAND_V0(1) } }, 12989 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12990 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12991 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12992 /*xcpt? */ false, false }, 12993 { { /*src2 */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/, FP64_RAND_V2(1), FP64_RAND_V2(1), FP64_RAND_V3(1) } }, 12994 { /*src1 */ { FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/, FP64_RAND_V3(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } }, 12995 { /* => */ { FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/, FP64_RAND_V3(0), FP64_RAND_V3(1), FP64_RAND_V0(1) } }, 12996 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12997 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12998 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 12999 /*xcpt? */ false, false }, 13000 { { /*src2 */ { FP64_V(0, 0xcf0033a34f337, 0x432)/*4072598000007579.5*/, FP64_RAND_V3(1), FP64_RAND_V2(1), FP64_RAND_V1(1) } }, 13001 { /*src1 */ { FP64_V(0, 0xd6eca42000000, 0x419)/* 123450000.5*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 13002 { /* => */ { FP64_V(0, 0xd6eca42000000, 0x419)/* 123450000.5*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 13003 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 13004 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 13005 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 13006 /*xcpt? */ false, false }, 13007 { { /*src2 */ { FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/, FP64_INF(1), FP64_SNAN(1), FP64_INF(1) } }, 13008 { /*src1 */ { FP64_V(0, 0xb88e0395d49b0, 0x42d)/* 121098765432102.75*/, FP64_INF(1), FP64_QNAN(0), FP64_SNAN(0) } }, 13009 { /* => */ { FP64_V(1, 0xbcd80e0108cc0, 0x42e)/*-244555555308646.00*/, FP64_INF(1), FP64_QNAN(0), FP64_SNAN(0) } }, 13010 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 13011 /*128:out */ X86_MXCSR_XCPT_MASK, 13012 /*256:out */ X86_MXCSR_XCPT_MASK, 13013 /*xcpt? */ false, false }, 13014 { { /*src2 */ { FP64_V(0, 0xbcd80e0108cc0, 0x42e)/* 244555555308646.00*/, FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(0) } }, 13015 { /*src1 */ { FP64_V(1, 0xb88e0395d49b0, 0x42d)/*-121098765432102.75*/, FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V2(1) } }, 13016 { /* => */ { FP64_V(1, 0xb88e0395d49b0, 0x42d)/*-121098765432102.75*/, FP64_RAND_V0(0), FP64_RAND_V0(0), FP64_RAND_V2(1) } }, 13017 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 13018 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 13019 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 13020 /*xcpt? */ false, false }, 13021 { { /*src2 */ { FP64_V(1, 0xcf0033a34f337, 0x432)/*-4072598000007579.5*/, FP64_RAND_V1(0), FP64_RAND_V2(0), FP64_RAND_V1(0) } }, 13022 { /*src1 */ { FP64_V(0, 0xd6eca42000000, 0x419)/* 123450000.5*/, FP64_RAND_V2(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 13023 { /* => */ { FP64_V(1, 0xcf0033a34f337, 0x432)/*-4072598000007579.5*/, FP64_RAND_V2(0), FP64_RAND_V2(1), FP64_RAND_V3(0) } }, 13024 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 13025 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 13026 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 13027 /*xcpt? */ false, false }, 13028 /** @todo More Normals. */ 13029 /* 13030 * Denormals. 13031 */ 13032 /*46*/{ { /*src2 */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V0(1), FP64_RAND_V3(0) } }, 13033 { /*src1 */ { FP64_0(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V2(1) } }, 13034 { /* => */ { FP64_0(0), FP64_RAND_V3(1), FP64_RAND_V2(0), FP64_RAND_V2(1) } }, 13035 /*mxcsr:in */ 0, 13036 /*128:out */ X86_MXCSR_DE, 13037 /*256:out */ X86_MXCSR_DE, 13038 /*xcpt? */ true, true }, 13039 { { /*src2 */ { FP64_0(0), FP64_SNAN(0), FP64_QNAN(1), FP64_QNAN(0) } }, 13040 { /*src1 */ { FP64_DENORM_MAX(0), FP64_RAND_V2(0), FP64_RAND_V3(1), FP64_RAND_V2(0) } }, 13041 { /* => */ { FP64_0(0), FP64_RAND_V2(0), FP64_RAND_V3(1), FP64_RAND_V2(0) } }, 13042 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 13043 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13044 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13045 /*xcpt? */ false, false }, 13046 { { /*src2 */ { FP64_DENORM_MIN(0), FP64_INF(1), FP64_SNAN(0), FP64_INF(1) } }, 13047 { /*src1 */ { FP64_DENORM_MAX(0), FP64_INF(0), FP64_QNAN(1), FP64_SNAN(1) } }, 13048 { /* => */ { FP64_0(0), FP64_INF(0), FP64_QNAN(1), FP64_SNAN(1) } }, 13049 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 13050 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 13051 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 13052 /*xcpt? */ false, false }, 13053 { { /*src2 */ { FP64_DENORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V0(1), FP64_RAND_V3(0) } }, 13054 { /*src1 */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 13055 { /* => */ { FP64_DENORM_MAX(0), FP64_RAND_V3(0), FP64_RAND_V2(0), FP64_RAND_V3(1) } }, 13056 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 13057 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13058 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13059 /*xcpt? */ false, false }, 13060 { { /*src2 */ { FP64_DENORM_MAX(0), FP64_RAND_V1(1), FP64_RAND_V2(1), FP64_RAND_V2(0) } }, 13061 { /*src1 */ { FP64_DENORM_MAX(1), FP64_RAND_V0(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } }, 13062 { /* => */ { FP64_DENORM_MAX(1), FP64_RAND_V0(0), FP64_RAND_V3(0), FP64_RAND_V0(0) } }, 13063 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 13064 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13065 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13066 /*xcpt? */ false, false }, 13067 { { /*src2 */ { FP64_DENORM_MAX(1), FP64_RAND_V3(1), FP64_RAND_V0(0), FP64_RAND_V3(1) } }, 13068 { /*src1 */ { FP64_DENORM_MAX(0), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } }, 13069 { /* => */ { FP64_DENORM_MAX(1), FP64_RAND_V2(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } }, 13070 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 13071 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13072 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13073 /*xcpt? */ false, false }, 13074 { { /*src2 */ { FP64_DENORM_MIN(1), FP64_RAND_V0(1), FP64_RAND_V3(1), FP64_RAND_V2(1) } }, 13075 { /*src1 */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } }, 13076 { /* => */ { FP64_DENORM_MIN(1), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } }, 13077 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 13078 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13079 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13080 /*xcpt? */ false, false }, 13081 { { /*src2 */ { FP64_DENORM_MIN(1), FP64_INF(0), FP64_QNAN(1), FP64_SNAN_V(1, 1) } }, 13082 { /*src1 */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 13083 { /* => */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 13084 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 13085 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13086 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13087 /*xcpt? */ false, false }, 13088 { { /*src2 */ { FP64_DENORM_MIN(1), FP64_SNAN(1), FP64_SNAN(0), FP64_QNAN(0) } }, 13089 { /*src1 */ { FP64_DENORM_MIN(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 13090 { /* => */ { FP64_0(1), FP64_RAND_V1(0), FP64_RAND_V2(1), FP64_RAND_V0(1) } }, 13091 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 13092 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 13093 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 13094 /*xcpt? */ false, false }, 13095 { { /*src2 */ { FP64_DENORM_MIN(0), FP64_RAND_V0(1), FP64_RAND_V1(0), FP64_RAND_V2(1) } }, 13096 { /*src1 */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(0) } }, 13097 { /* => */ { FP64_0(0), FP64_RAND_V0(0), FP64_RAND_V1(1), FP64_RAND_V2(0) } }, 13098 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 13099 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13100 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 13101 /*xcpt? */ false, false }, 13102 /** @todo More Denormals. */ 13103 /* 13104 * Invalids. 13105 */ 13106 /*56*/ FP64_TABLE_D9_SD_INVALIDS 13107 }; 13108 13109 #define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues 13110 static BS3CPUINSTR4_TEST1_T const s_aTests16[] = 13111 { 13112 { bs3CpuInstr4_minsd_XMM3_XMM4_icebp_c16, 255, RM_REG, T_SSE2, 3, 3, 4, PASS_s_aValues }, 13113 { bs3CpuInstr4_minsd_XMM3_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues }, 13114 13115 { bs3CpuInstr4_vminsd_XMM1_XMM6_XMM7_icebp_c16, 255, RM_REG, T_AVX_128, 1, 6, 7, PASS_s_aValues }, 13116 { bs3CpuInstr4_vminsd_XMM1_XMM6_FSxBX_icebp_c16, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues }, 13117 }; 13118 static BS3CPUINSTR4_TEST1_T const s_aTests32[] = 13119 { 13120 { bs3CpuInstr4_minsd_XMM3_XMM4_icebp_c32, 255, RM_REG, T_SSE2, 3, 3, 4, PASS_s_aValues }, 13121 { bs3CpuInstr4_minsd_XMM3_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues }, 13122 13123 { bs3CpuInstr4_vminsd_XMM1_XMM6_XMM7_icebp_c32, 255, RM_REG, T_AVX_128, 1, 6, 7, PASS_s_aValues }, 13124 { bs3CpuInstr4_vminsd_XMM1_XMM6_FSxBX_icebp_c32, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues }, 13125 }; 13126 static BS3CPUINSTR4_TEST1_T const s_aTests64[] = 13127 { 13128 { bs3CpuInstr4_minsd_XMM3_XMM4_icebp_c64, 255, RM_REG, T_SSE2, 3, 3, 4, PASS_s_aValues }, 13129 { bs3CpuInstr4_minsd_XMM3_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 3, 3, 255, PASS_s_aValues }, 13130 13131 { bs3CpuInstr4_vminsd_XMM1_XMM6_XMM7_icebp_c64, 255, RM_REG, T_AVX_128, 1, 6, 7, PASS_s_aValues }, 13132 { bs3CpuInstr4_vminsd_XMM1_XMM6_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 6, 255, PASS_s_aValues }, 13133 13134 { bs3CpuInstr4_minsd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, PASS_s_aValues }, 13135 { bs3CpuInstr4_minsd_XMM8_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_SSE2, 8, 8, 255, PASS_s_aValues }, 13136 13137 { bs3CpuInstr4_vminsd_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, PASS_s_aValues }, 13138 { bs3CpuInstr4_vminsd_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 8, 9, 255, PASS_s_aValues }, 13139 }; 13140 #undef PASS_s_aValues 13141 13142 static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 13143 unsigned const iTest = BS3CPUINSTR4_TEST_MODES_INDEX(bMode); 13144 return bs3CpuInstr4_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 13145 g_aXcptConfig3, RT_ELEMENTS(g_aXcptConfig3)); 13146 } 13147 13148 13149 /* 12691 13150 * [V]SQRTPS. 12692 13151 */ … … 13119 13578 { "[v]minpd", bs3CpuInstr4_v_minpd, 0 }, 13120 13579 { "[v]minss", bs3CpuInstr4_v_minss, 0 }, 13580 { "[v]minsd", bs3CpuInstr4_v_minsd, 0 }, 13121 13581 { "[v]sqrtps", bs3CpuInstr4_v_sqrtps, 0 }, 13122 13582 #endif
Note:
See TracChangeset
for help on using the changeset viewer.