Changeset 106056 in vbox for trunk/src/VBox
- Timestamp:
- Sep 16, 2024 9:33:54 AM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r106055 r106056 542 542 }; 543 543 544 /** Packed single-precision invalid values. */ 545 #define BS3CPUINSTR4_PS_INVALIDS \ 544 /** 545 * Table D-1: Packed single-precision floating-point invalid values. 546 * For instructions: addps, subps, mulps, divps, addsubps, haddps, hsubps. 547 **/ 548 #define FP32_TABLE_D1_PS_INVALIDS \ 546 549 /*0 */{ { /*src2 */ { FP32_QNAN(0), FP32_QNAN_V(0, FP32_FRAC_NORM_MAX), FP32_QNAN_V(0, FP32_FRAC_V0), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V2), FP32_QNAN_V(0, FP32_FRAC_V3), FP32_QNAN_V(0, FP32_FRAC_V4), FP32_QNAN_V(0, FP32_FRAC_V5) } }, \ 547 550 { /*src1 */ { FP32_QNAN(0), FP32_QNAN_V(0, FP32_FRAC_NORM_MIN), FP32_QNAN_V(0, FP32_FRAC_NORM_MAX), FP32_QNAN_V(0, FP32_FRAC_V2), FP32_QNAN_V(0, FP32_FRAC_V6), FP32_QNAN_V(0, FP32_FRAC_V2), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V4) } }, \ … … 629 632 /*xcpt? */ true, true }, \ 630 633 631 /** Packed double-precision floating-point invalid values. */ 632 #define BS3CPUINSTR4_PD_INVALIDS \ 634 /** 635 * Table D-1: Packed double-precision floating-point invalid values. 636 * For instructions: addpd, subpd, mulpd, divpd, addsubpd, haddpd, hsubpd. 637 **/ 638 #define FP64_TABLE_D1_PD_INVALIDS \ 633 639 /*0 */{ { /*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) } }, \ 634 640 { /*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) } }, \ … … 716 722 /*xcpt? */ true, true }, \ 717 723 718 /** Scalar single-precision floating-point invalid values. */ 719 #define BS3CPUINSTR4_SS_INVALIDS \ 724 /** 725 * Table D-1: Scalar single-precision floating-point invalid values. 726 * For instructions: addss, subss, mulss, divss. 727 **/ 728 #define FP32_TABLE_D1_SS_INVALIDS \ 720 729 /* QNan, QNan (Masked). */ \ 721 730 /*0 */{ { /*src2 */ { FP32_QNAN(0), FP32_QNAN_V(0, FP32_FRAC_NORM_MAX), FP32_QNAN_V(0, FP32_FRAC_V0), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V2), FP32_QNAN_V(0, FP32_FRAC_V3), FP32_QNAN_V(0, FP32_FRAC_V4), FP32_QNAN_V(0, FP32_FRAC_V5) } }, \ … … 928 937 /*xcpt? */ true, true }, \ 929 938 930 /** Scalar double-precision floating-point invalid values. */ 931 #define BS3CPUINSTR4_SD_INVALIDS \ 939 /** 940 * Table D-1: Scalar double-precision floating-point invalid values. 941 * For instructions: addsd, subsd, mulsd, divsd. 942 **/ 943 #define FP64_TABLE_D1_SD_INVALIDS \ 932 944 /* QNan, QNan (Masked). */ \ 933 945 /*0 */{ { /*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) } }, \ … … 1140 1152 /*xcpt? */ true, true }, \ 1141 1153 1142 /** Horizontally packed single-precision floating-point invalid values. */ 1143 #define BS3CPUINSTR4_H_PS_INVALIDS \ 1154 /** 1155 * Table D-1: Horizontally packed single-precision floating-point invalid values. 1156 * For instructions: haddps, hsubps. 1157 **/ 1158 #define FP32_TABLE_D1_H_PS_INVALIDS \ 1144 1159 /*0 */{ { /*src2 */ { FP32_QNAN_V(0, FP32_FRAC_NORM_MAX), FP32_QNAN_V(0, FP32_FRAC_NORM_MIN), FP32_QNAN_V(0, FP32_FRAC_V0), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V2), FP32_QNAN_V(0, FP32_FRAC_V3), FP32_QNAN_V(0, FP32_FRAC_V3), FP32_QNAN_V(0, FP32_FRAC_V5) } }, \ 1145 1160 { /*src1 */ { FP32_QNAN(0), FP32_QNAN(0), FP32_QNAN_V(0, FP32_FRAC_NORM_MIN), FP32_QNAN_V(0, FP32_FRAC_NORM_MAX), FP32_QNAN_V(0, FP32_FRAC_V6), FP32_QNAN_V(0, FP32_FRAC_V2), FP32_QNAN_V(0, FP32_FRAC_V1), FP32_QNAN_V(0, FP32_FRAC_V4) } }, \ … … 1227 1242 /*xcpt? */ true, true }, \ 1228 1243 1229 /** Horizontally packed double-precision floating-point invalid values. */ 1230 #define BS3CPUINSTR4_H_PD_INVALIDS \ 1244 /** 1245 * Table D-1: Horizontally packed double-precision floating-point invalid values. 1246 * For instructions: haddpd, hsubpd. 1247 **/ 1248 #define FP64_TABLE_D1_H_PD_INVALIDS \ 1231 1249 /*0 */{ { /*src2 */ { FP64_QNAN_V(0, FP64_FRAC_NORM_MAX), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_V0), FP64_QNAN_V(0, FP64_FRAC_V1) } }, \ 1232 1250 { /*src1 */ { FP64_QNAN(0), FP64_QNAN(0), FP64_QNAN_V(0, FP64_FRAC_NORM_MIN), FP64_QNAN_V(0, FP64_FRAC_NORM_MAX) } }, \ … … 2631 2649 * Invalids. 2632 2650 */ 2633 /*34*/ BS3CPUINSTR4_PS_INVALIDS2651 /*34*/ FP32_TABLE_D1_PS_INVALIDS 2634 2652 /** @todo Underflow, Precision; Rounding; FZ etc. */ 2635 2653 }; … … 2901 2919 * Invalids. 2902 2920 */ 2903 /*27*/ BS3CPUINSTR4_PD_INVALIDS2921 /*27*/ FP64_TABLE_D1_PD_INVALIDS 2904 2922 /** @todo Underflow, Precision; Rounding; FZ etc. */ 2905 2923 }; … … 3192 3210 * Invalids. 3193 3211 */ 3194 /*30*/ BS3CPUINSTR4_SS_INVALIDS3212 /*30*/ FP32_TABLE_D1_SS_INVALIDS 3195 3213 /** @todo Underflow; Precision; Rounding; FZ etc. */ 3196 3214 }; … … 3486 3504 * Invalids. 3487 3505 */ 3488 /*32*/ BS3CPUINSTR4_SD_INVALIDS3506 /*32*/ FP64_TABLE_D1_SD_INVALIDS 3489 3507 /** @todo Underflow, Precision; Rounding; FZ etc. */ 3490 3508 }; … … 3780 3798 * Invalids. 3781 3799 */ 3782 /*32*/ BS3CPUINSTR4_H_PS_INVALIDS3800 /*32*/ FP32_TABLE_D1_H_PS_INVALIDS 3783 3801 /** @todo Underflow; Precision; Rounding; FZ etc. */ 3784 3802 }; … … 4077 4095 * Invalids. 4078 4096 */ 4079 /*31*/ BS3CPUINSTR4_H_PD_INVALIDS4097 /*31*/ FP64_TABLE_D1_H_PD_INVALIDS 4080 4098 /** @todo Underflow; Precision; Rounding; FZ etc. */ 4081 4099 }; … … 4396 4414 * Invalids. 4397 4415 */ 4398 /*34*/ BS3CPUINSTR4_PS_INVALIDS4416 /*34*/ FP32_TABLE_D1_PS_INVALIDS 4399 4417 /** @todo Underflow; Precision; Rounding; FZ etc. */ 4400 4418 }; … … 4694 4712 * Invalids. 4695 4713 */ 4696 /*31*/ BS3CPUINSTR4_PD_INVALIDS4714 /*31*/ FP64_TABLE_D1_PD_INVALIDS 4697 4715 /** @todo Underflow; Precision; Rounding; FZ etc. */ 4698 4716 }; … … 5006 5024 * Invalids. 5007 5025 */ 5008 /*30*/ BS3CPUINSTR4_SS_INVALIDS5026 /*30*/ FP32_TABLE_D1_SS_INVALIDS 5009 5027 /** @todo Underflow; Precision; Rounding; FZ etc. */ 5010 5028 }; … … 5335 5353 * Invalids. 5336 5354 */ 5337 /*32*/ BS3CPUINSTR4_SD_INVALIDS5355 /*32*/ FP64_TABLE_D1_SD_INVALIDS 5338 5356 /** @todo Underflow; Precision; Rounding; FZ etc. */ 5339 5357 }; … … 5643 5661 * Invalids. 5644 5662 */ 5645 /*32*/ BS3CPUINSTR4_H_PS_INVALIDS5663 /*32*/ FP32_TABLE_D1_H_PS_INVALIDS 5646 5664 /** @todo Underflow; Precision; Rounding; FZ etc. */ 5647 5665 }; … … 5909 5927 * Invalids. 5910 5928 */ 5911 /*27*/ BS3CPUINSTR4_H_PD_INVALIDS5929 /*27*/ FP64_TABLE_D1_H_PD_INVALIDS 5912 5930 /** @todo Underflow; Precision; Rounding; FZ etc. */ 5913 5931 }; … … 6272 6290 * Invalids. 6273 6291 */ 6274 /*40*/ BS3CPUINSTR4_PS_INVALIDS6292 /*40*/ FP32_TABLE_D1_PS_INVALIDS 6275 6293 /** @todo Underflow, Precision; Rounding; FZ etc. */ 6276 6294 }; … … 6584 6602 * Invalids. 6585 6603 */ 6586 /*33*/ BS3CPUINSTR4_PD_INVALIDS6604 /*33*/ FP64_TABLE_D1_PD_INVALIDS 6587 6605 /** @todo Underflow, Precision; Rounding; FZ etc. */ 6588 6606 }; … … 6859 6877 * Invalids. 6860 6878 */ 6861 /*28*/ BS3CPUINSTR4_SS_INVALIDS6879 /*28*/ FP32_TABLE_D1_SS_INVALIDS 6862 6880 /** @todo Underflow, Precision; Rounding; FZ etc. */ 6863 6881 }; … … 7156 7174 * Invalids. 7157 7175 */ 7158 /*33*/ BS3CPUINSTR4_SD_INVALIDS7176 /*33*/ FP64_TABLE_D1_SD_INVALIDS 7159 7177 /** @todo Underflow, Precision; Rounding; FZ etc. */ 7160 7178 }; … … 7434 7452 * Invalids. 7435 7453 */ 7436 /*30*/ BS3CPUINSTR4_SS_INVALIDS7454 /*30*/ FP32_TABLE_D1_SS_INVALIDS 7437 7455 /** @todo Underflow; Precision; Rounding, FZ etc. */ 7438 7456 }; … … 7809 7827 * Invalids. 7810 7828 */ 7811 /*40*/ BS3CPUINSTR4_SD_INVALIDS7829 /*40*/ FP64_TABLE_D1_SD_INVALIDS 7812 7830 /** @todo Underflow, Precision; Rounding; FZ etc. */ 7813 7831 }; … … 8156 8174 * Invalids. 8157 8175 */ 8158 /*38*/ BS3CPUINSTR4_PS_INVALIDS8176 /*38*/ FP32_TABLE_D1_PS_INVALIDS 8159 8177 /** @todo Underflow; Precision; Rounding; FZ etc. */ 8160 8178 }; … … 8630 8648 * Invalids. 8631 8649 */ 8632 /*56*/ BS3CPUINSTR4_PD_INVALIDS8650 /*56*/ FP64_TABLE_D1_PD_INVALIDS 8633 8651 /** @todo Underflow; Precision; Rounding; FZ etc. */ 8634 8652 };
Note:
See TracChangeset
for help on using the changeset viewer.