Changeset 105691 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Aug 15, 2024 12:54:11 PM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r105684 r105691 5380 5380 /*xcpt? */ false, false }, 5381 5381 /** @todo More Denormals. */ 5382 /** @todo Invalids, Underflow, Precision; Rounding, FZ etc. */ 5382 /* 5383 * Invalids. 5384 */ 5385 /* QNan, QNan (Masked). */ 5386 /*32*/{ { /*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_V1) } }, 5387 { /*src1 */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 5388 { /* => */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 5389 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5390 /*128:out */ X86_MXCSR_XCPT_MASK, 5391 /*256:out */ X86_MXCSR_XCPT_MASK, 5392 /*xcpt? */ false, false }, 5393 { { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_INF(0) } }, 5394 { /*src1 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_SNAN(1) } }, 5395 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_SNAN(1) } }, 5396 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5397 /*128:out */ X86_MXCSR_XCPT_MASK, 5398 /*256:out */ X86_MXCSR_XCPT_MASK, 5399 /*xcpt? */ false, false }, 5400 { { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_INF(1) } }, 5401 { /*src1 */ { FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN(0) } }, 5402 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN(0) } }, 5403 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5404 /*128:out */ X86_MXCSR_XCPT_MASK, 5405 /*256:out */ X86_MXCSR_XCPT_MASK, 5406 /*xcpt? */ false, false }, 5407 /* QNan, SNan (Masked). */ 5408 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 5409 { /*src1 */ { FP64_SNAN(0), FP64_SNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V2) } }, 5410 { /* => */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V2) } }, 5411 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5412 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5413 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5414 /*xcpt? */ false, false }, 5415 { { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 5416 { /*src1 */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(1, FP64_FRAC_NORM_MIN), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5417 { /* => */ { FP64_QNAN_V(0, 1), FP64_SNAN_V(1, FP64_FRAC_NORM_MIN), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5418 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5419 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5420 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5421 /*xcpt? */ false, false }, 5422 { { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_INF(0) } }, 5423 { /*src1 */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN(1) } }, 5424 { /* => */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_QNAN(1) } }, 5425 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5426 /*128:out */ X86_MXCSR_XCPT_MASK, 5427 /*256:out */ X86_MXCSR_XCPT_MASK, 5428 /*xcpt? */ false, false }, 5429 /* SNan, QNan (Masked). */ 5430 { { /*src2 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V1) } }, 5431 { /*src1 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(1, FP64_FRAC_V2) } }, 5432 { /* => */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(1, FP64_FRAC_V2) } }, 5433 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5434 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5435 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5436 /*xcpt? */ false, false }, 5437 { { /*src2 */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V1) } }, 5438 { /*src1 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 5439 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 5440 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5441 /*128:out */ X86_MXCSR_XCPT_MASK, 5442 /*256:out */ X86_MXCSR_XCPT_MASK, 5443 /*xcpt? */ false, false }, 5444 { { /*src2 */ { FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V1) } }, 5445 { /*src1 */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3) } }, 5446 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(1, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3) } }, 5447 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5448 /*128:out */ X86_MXCSR_XCPT_MASK, 5449 /*256:out */ X86_MXCSR_XCPT_MASK, 5450 /*xcpt? */ false, false }, 5451 /* SNan, SNan (Masked). */ 5452 { { /*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) } }, 5453 { /*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) } }, 5454 { /* => */ { FP64_QNAN_V(0, 1), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } }, 5455 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5456 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5457 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5458 /*xcpt? */ false, false }, 5459 { { /*src2 */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5460 { /*src1 */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3) } }, 5461 { /* => */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3) } }, 5462 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5463 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5464 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5465 /*xcpt? */ false, false }, 5466 { { /*src2 */ { FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5467 { /*src1 */ { FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } }, 5468 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V3) } }, 5469 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5470 /*128:out */ X86_MXCSR_XCPT_MASK, 5471 /*256:out */ X86_MXCSR_XCPT_MASK, 5472 /*xcpt? */ false, false }, 5473 /* QNan, Norm FP (Masked). */ 5474 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 5475 { /*src1 */ { FP64_1(0), FP64_1(1), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 5476 { /* => */ { FP64_QNAN(0), FP64_1(1), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 5477 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5478 /*128:out */ X86_MXCSR_XCPT_MASK, 5479 /*256:out */ X86_MXCSR_XCPT_MASK, 5480 /*xcpt? */ false, false }, 5481 /* SNan, Norm FP (Masked). */ 5482 { { /*src2 */ { FP64_SNAN(1), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_SNAN_V(0, FP64_FRAC_V1) } }, 5483 { /*src1 */ { FP64_1(0), FP64_1(0), FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 5484 { /* => */ { FP64_QNAN_V(1, 1), FP64_1(0), FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 5485 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 5486 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5487 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_IE, 5488 /*xcpt? */ false, false }, 5489 /* QNan, QNan (Unmasked). */ 5490 /*46*/{ { /*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_V1) } }, 5491 { /*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) } }, 5492 { /* => */ { 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) } }, 5493 /*mxcsr:in */ 0, 5494 /*128:out */ 0, 5495 /*256:out */ 0, 5496 /*xcpt? */ false, false }, 5497 { { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 5498 { /*src1 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 5499 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 5500 /*mxcsr:in */ 0, 5501 /*128:out */ 0, 5502 /*256:out */ 0, 5503 /*xcpt? */ false, false }, 5504 { { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 5505 { /*src1 */ { FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(1, FP64_FRAC_V0) } }, 5506 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(1, FP64_FRAC_V0) } }, 5507 /*mxcsr:in */ 0, 5508 /*128:out */ 0, 5509 /*256:out */ 0, 5510 /*xcpt? */ false, false }, 5511 5512 /* QNan, SNan (Unmasked). */ 5513 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_V3) } }, 5514 { /*src1 */ { FP64_SNAN(0), FP64_SNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5515 { /* => */ { FP64_QNAN_V(0, 1), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5516 /*mxcsr:in */ 0, 5517 /*128:out */ X86_MXCSR_IE, 5518 /*256:out */ X86_MXCSR_IE, 5519 /*xcpt? */ true, true }, 5520 { { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 5521 { /*src1 */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5522 { /* => */ { FP64_QNAN_V(0, 1), FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5523 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 5524 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE, 5525 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN | X86_MXCSR_IE, 5526 /*xcpt? */ true, true }, 5527 { { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_V1), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 5528 { /*src1 */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 5529 { /* => */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_V2) } }, 5530 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 5531 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 5532 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 5533 /*xcpt? */ false, false }, 5534 /* SNan, QNan (Unmasked). */ 5535 { { /*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) } }, 5536 { /*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) } }, 5537 { /* => */ { 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) } }, 5538 /*mxcsr:in */ X86_MXCSR_DAZ, 5539 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_IE, 5540 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_IE, 5541 /*xcpt? */ true, true }, 5542 { { /*src2 */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V1) } }, 5543 { /*src1 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V0) } }, 5544 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V0) } }, 5545 /*mxcsr:in */ X86_MXCSR_RC_UP, 5546 /*128:out */ X86_MXCSR_RC_UP, 5547 /*256:out */ X86_MXCSR_RC_UP, 5548 /*xcpt? */ false, false }, 5549 { { /*src2 */ { FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP64_FRAC_V1) } }, 5550 { /*src1 */ { FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3) } }, 5551 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_V3), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(1, FP64_FRAC_V2), FP64_QNAN_V(1, FP64_FRAC_V3) } }, 5552 /*mxcsr:in */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 5553 /*128:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 5554 /*256:out */ X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 5555 /*xcpt? */ false, false }, 5556 /* SNan, SNan (Unmasked). */ 5557 /*55*/{ { /*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) } }, 5558 { /*src1 */ { FP64_SNAN(0), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V0) } }, 5559 { /* => */ { FP64_QNAN_V(0, 1), FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V0) } }, 5560 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ, 5561 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_IE, 5562 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_IE, 5563 /*xcpt? */ true, true }, 5564 { { /*src2 */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MIN), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(1, FP32_FRAC_V2) } }, 5565 { /*src1 */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(1, FP32_FRAC_V3) } }, 5566 { /* => */ { FP64_SNAN_V(0, FP64_FRAC_NORM_MAX), FP64_SNAN_V(0, FP64_FRAC_V0), FP64_SNAN_V(1, FP64_FRAC_V2), FP64_SNAN_V(1, FP32_FRAC_V3) } }, 5567 /*mxcsr:in */ X86_MXCSR_RC_ZERO, 5568 /*128:out */ X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 5569 /*256:out */ X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 5570 /*xcpt? */ true, true }, 5571 { { /*src2 */ { FP64_SNAN_V(0, FP64_FRAC_V1), FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V0), FP64_SNAN_V(0, FP64_FRAC_V2) } }, 5572 { /*src1 */ { FP64_SNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V3) } }, 5573 { /* => */ { FP64_QNAN_V(0, FP64_FRAC_V2), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(1, FP64_FRAC_V3), FP64_SNAN_V(0, FP64_FRAC_V3) } }, 5574 /*mxcsr:in */ 0, 5575 /*128:out */ 0, 5576 /*256:out */ 0, 5577 /*xcpt? */ false, false }, 5578 /* QNan, Norm FP (Unmasked). */ 5579 { { /*src2 */ { FP64_QNAN(0), FP64_QNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_QNAN_V(0, FP64_FRAC_V1) } }, 5580 { /*src1 */ { FP64_1(0), FP64_INF(1), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 5581 { /* => */ { FP64_QNAN(0), FP64_INF(1), FP64_QNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 5582 /*mxcsr:in */ X86_MXCSR_FZ, 5583 /*128:out */ X86_MXCSR_FZ, 5584 /*256:out */ X86_MXCSR_FZ, 5585 /*xcpt? */ false, false }, 5586 /* SNan, Norm FP (Unmasked). */ 5587 /*59*/{ { /*src2 */ { FP64_SNAN(1), FP64_SNAN_V(1, FP64_FRAC_NORM_MAX), FP64_NORM_V0(1), FP64_SNAN_V(0, FP64_FRAC_V1) } }, 5588 { /*src1 */ { FP64_1(0), FP64_INF(0), FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 5589 { /* => */ { FP64_QNAN_V(1, 1), FP64_INF(0), FP64_SNAN_V(1, FP64_FRAC_V0), FP64_NORM_V2(1) } }, 5590 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO, 5591 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 5592 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_ZERO | X86_MXCSR_IE, 5593 /*xcpt? */ true, true }, 5594 /** @todo Underflow, Precision; Rounding, FZ etc. */ 5383 5595 }; 5384 5596
Note:
See TracChangeset
for help on using the changeset viewer.