- Timestamp:
- Jul 22, 2024 6:04:01 PM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r105430 r105431 2015 2015 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 2016 2016 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP }, 2017 #if 02018 2017 /** @todo More denormals; Underflow, Precision; Rounding, FZ etc. */ 2019 2018 /* … … 2023 2022 { /*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_V2) } }, 2024 2023 { /* => */ { 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_V2) } }, 2025 /*m ask*/ X86_MXCSR_XCPT_MASK,2026 /* daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,2027 /* flags */ 0, 0},2024 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 2025 /*128:out */ X86_MXCSR_XCPT_MASK, 2026 /*256:out */ X86_MXCSR_XCPT_MASK }, 2028 2027 { { /*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) } }, 2029 2028 { /*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_V1) } }, 2030 2029 { /* => */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(0, 1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 2031 /*m ask*/ X86_MXCSR_XCPT_MASK,2032 /* daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,2033 /* flags */ X86_MXCSR_IE,X86_MXCSR_IE },2030 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 2031 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 2032 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE }, 2034 2033 { { /*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) } }, 2035 2034 { /*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) } }, 2036 2035 { /* => */ { 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) } }, 2037 /*m ask*/ X86_MXCSR_XCPT_MASK,2038 /* daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,2039 /* flags */ X86_MXCSR_IE,X86_MXCSR_IE },2036 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 2037 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 2038 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE }, 2040 2039 { { /*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) } }, 2041 2040 { /*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) } }, 2042 2041 { /* => */ { 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) } }, 2043 /*m ask*/ X86_MXCSR_XCPT_MASK,2044 /* daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,2045 /* flags */ X86_MXCSR_IE,X86_MXCSR_IE },2042 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 2043 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 2044 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE }, 2046 2045 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 2047 2046 { /*src1 */ { FP64_1(0), FP64_1(1), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 2048 2047 { /* => */ { 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) } }, 2049 /*m ask*/ X86_MXCSR_XCPT_MASK,2050 /* daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,2051 /* flags */ 0, 0},2048 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 2049 /*128:out */ X86_MXCSR_XCPT_MASK, 2050 /*256:out */ X86_MXCSR_XCPT_MASK }, 2052 2051 { { /*src2 */ { FP64_SNAN(1), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_SNAN_V(0, FP64_FRAC_V1) } }, 2053 2052 { /*src1 */ { FP64_1(0), FP64_1(0), FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 2054 2053 { /* => */ { 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) } }, 2055 /*m ask*/ X86_MXCSR_XCPT_MASK,2056 /* daz,fz,rc*/ 0, 0, X86_MXCSR_RC_NEAREST,2057 /* flags */ X86_MXCSR_IE,X86_MXCSR_IE },2054 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 2055 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 2056 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE }, 2058 2057 { { /*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) } }, 2059 2058 { /*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) } }, 2060 2059 { /* => */ { 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) } }, 2061 /*m ask */ ~X86_MXCSR_XCPT_MASK,2062 /* daz,fz,rc*/ 0, X86_MXCSR_FZ,X86_MXCSR_RC_DOWN,2063 /* flags */ 0, 0},2060 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 2061 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 2062 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN }, 2064 2063 { { /*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) } }, 2065 2064 { /*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) } }, 2066 2065 { /* => */ { 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) } }, 2067 /*m ask */ ~X86_MXCSR_XCPT_MASK,2068 /* daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,2069 /* flags */ X86_MXCSR_IE,X86_MXCSR_IE },2066 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 2067 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 2068 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE }, 2070 2069 { { /*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) } }, 2071 2070 { /*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) } }, 2072 2071 { /* => */ { 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) } }, 2073 /*m ask */ ~X86_MXCSR_XCPT_MASK,2074 /* daz,fz,rc*/ X86_MXCSR_DAZ, X86_MXCSR_FZ, X86_MXCSR_RC_ZERO,2075 /* flags */ X86_MXCSR_IE,X86_MXCSR_IE },2072 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 2073 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 2074 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE }, 2076 2075 { { /*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) } }, 2077 2076 { /*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) } }, 2078 2077 { /* => */ { 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) } }, 2079 /*m ask */ ~X86_MXCSR_XCPT_MASK,2080 /* daz,fz,rc*/ 0, 0, X86_MXCSR_RC_UP,2081 /* flags */ X86_MXCSR_IE,X86_MXCSR_IE },2078 /*mxcsr:in */ X86_MXCSR_RC_UP, 2079 /*128:out */ X86_MXCSR_RC_UP | X86_MXCSR_IE, 2080 /*256:out */ X86_MXCSR_RC_UP | X86_MXCSR_IE }, 2082 2081 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 2083 2082 { /*src1 */ { FP64_1(0), FP64_1(1), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_NORM_V2(1) } }, 2084 2083 { /* => */ { 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) } }, 2085 /*m ask */ ~X86_MXCSR_XCPT_MASK,2086 /* daz,fz,rc*/ 0, 0,X86_MXCSR_RC_DOWN,2087 /* flags */ 0, 0},2084 /*mxcsr:in */ X86_MXCSR_RC_DOWN, 2085 /*128:out */ X86_MXCSR_RC_DOWN, 2086 /*256:out */ X86_MXCSR_RC_DOWN }, 2088 2087 { { /*src2 */ { FP64_SNAN(1), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 2089 2088 { /*src1 */ { FP64_1(0), FP64_1(0), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_NORM_V2(1) } }, 2090 2089 { /* => */ { 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) } }, 2091 /*mask */ ~X86_MXCSR_XCPT_MASK, 2092 /*daz,fz,rc*/ X86_MXCSR_DAZ, 0, X86_MXCSR_RC_ZERO, 2093 /*flags */ X86_MXCSR_IE, X86_MXCSR_IE }, 2094 #endif 2090 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 2091 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 2092 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE }, 2095 2093 }; 2096 2094
Note:
See TracChangeset
for help on using the changeset viewer.