Changeset 105845 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Aug 23, 2024 11:13:26 AM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r105844 r105845 6199 6199 * Normals. 6200 6200 */ 6201 /* 19*/{ { /*src2 */ { FP32_V(0, 0x600000, 0x7f)/*1.7500*/, FP32_NORM_V0(0), FP32_NORM_V1(0), FP32_NORM_V2(1), FP32_1(1), FP32_1(0), FP32_1(1), FP32_NORM_V6(1) } },6201 /*20*/{ { /*src2 */ { FP32_V(0, 0x600000, 0x7f)/*1.7500*/, FP32_NORM_V0(0), FP32_NORM_V1(0), FP32_NORM_V2(1), FP32_1(1), FP32_1(0), FP32_1(1), FP32_NORM_V6(1) } }, 6202 6202 { /*src1 */ { FP32_V(0, 0, 0x7d)/*0.2500*/, FP32_1(0), FP32_1(1), FP32_0(0), FP32_NORM_V0(1), FP32_NORM_V3(0), FP32_NORM_V4(0), FP32_1(0) } }, 6203 6203 { /* => */ { FP32_V(0, 0x600000, 0x7d)/*0.4375*/, FP32_NORM_V0(0), FP32_NORM_V1(1), FP32_0(1), FP32_NORM_V0(0), FP32_NORM_V3(0), FP32_NORM_V4(1), FP32_NORM_V6(1) } }, … … 6228 6228 /*xcpt? */ false, false }, 6229 6229 /** @todo More Normals. */ 6230 /** @todo Denormals, Invalids, Underflow, Precision; Rounding, FZ etc. */ 6230 /* 6231 * Denormals. 6232 */ 6233 /*24*/{ { /*src2 */ { FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1) } }, 6234 { /*src1 */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1) } }, 6235 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6236 /*mxcsr:in */ 0, 6237 /*128:out */ X86_MXCSR_DE, 6238 /*256:out */ X86_MXCSR_DE, 6239 /*xcpt? */ true, true }, 6240 { { /*src2 */ { FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1) } }, 6241 { /*src1 */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1) } }, 6242 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6243 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 6244 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 6245 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 6246 /*xcpt? */ false, false }, 6247 { { /*src2 */ { FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(1), FP32_1(0), FP32_1(0), FP32_1(1), FP32_1(1) } }, 6248 { /*src1 */ { FP32_1(0), FP32_1(1), FP32_1(0), FP32_1(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1) } }, 6249 { /* => */ { FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(1), FP32_DENORM_MAX(0) } }, 6250 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 6251 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 6252 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 6253 /*xcpt? */ false, false }, 6254 { { /*src2 */ { FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1) } }, 6255 { /*src1 */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1) } }, 6256 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6257 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6258 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6259 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6260 /*xcpt? */ false, false }, 6261 { { /*src2 */ { FP32_DENORM_MAX(0), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(1), FP32_1(0), FP32_1(0), FP32_1(1), FP32_1(1) } }, 6262 { /*src1 */ { FP32_1(0), FP32_1(1), FP32_1(0), FP32_1(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1), FP32_DENORM_MAX(0), FP32_DENORM_MAX(1) } }, 6263 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6264 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6265 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6266 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6267 /*xcpt? */ false, false }, 6268 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1) } }, 6269 { /*src1 */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1) } }, 6270 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6271 /*mxcsr:in */ 0, 6272 /*128:out */ X86_MXCSR_DE, 6273 /*256:out */ X86_MXCSR_DE, 6274 /*xcpt? */ true, true }, 6275 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1) } }, 6276 { /*src1 */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1) } }, 6277 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6278 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 6279 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 6280 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 6281 /*xcpt? */ false, false }, 6282 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(1), FP32_1(0), FP32_1(0), FP32_1(1), FP32_1(1) } }, 6283 { /*src1 */ { FP32_1(0), FP32_1(1), FP32_1(0), FP32_1(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1) } }, 6284 { /* => */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0) } }, 6285 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 6286 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 6287 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE, 6288 /*xcpt? */ false, false }, 6289 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1) } }, 6290 { /*src1 */ { FP32_0(0), FP32_0(1), FP32_0(0), FP32_0(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1) } }, 6291 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6292 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6293 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6294 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6295 /*xcpt? */ false, false }, 6296 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(1), FP32_1(0), FP32_1(0), FP32_1(1), FP32_1(1) } }, 6297 { /*src1 */ { FP32_1(0), FP32_1(1), FP32_1(0), FP32_1(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1), FP32_DENORM_MIN(0), FP32_DENORM_MIN(1) } }, 6298 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6299 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6300 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6301 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 6302 /*xcpt? */ false, false }, 6303 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(1), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(1) } }, 6304 { /*src1 */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(1), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1) } }, 6305 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6306 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 6307 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 6308 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_UP, 6309 /*xcpt? */ false, false }, 6310 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(1), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(1) } }, 6311 { /*src1 */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(1), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1) } }, 6312 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6313 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN, 6314 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN, 6315 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_DOWN, 6316 /*xcpt? */ false, false }, 6317 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(1), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(1) } }, 6318 { /*src1 */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(1), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1) } }, 6319 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6320 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 6321 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 6322 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_RC_ZERO, 6323 /*xcpt? */ false, false }, 6324 { { /*src2 */ { FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(0), FP32_DENORM_MAX(1), FP32_DENORM_MIN(0), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(1) } }, 6325 { /*src1 */ { FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(1), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1), FP32_DENORM_MAX(0), FP32_DENORM_MIN(1) } }, 6326 { /* => */ { FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0), FP32_0(0), FP32_0(1), FP32_0(1), FP32_0(0) } }, 6327 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ, 6328 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ, 6329 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ, 6330 /*xcpt? */ false, false }, 6331 /** @todo More Denormals. */ 6332 /** @todo Invalids, Underflow, Precision; Rounding, FZ etc. */ 6231 6333 }; 6232 6334
Note:
See TracChangeset
for help on using the changeset viewer.