Changeset 106333 in vbox for trunk/src/VBox/ValidationKit/bootsectors
- Timestamp:
- Oct 16, 2024 2:38:27 AM (7 months ago)
- svn:sync-xref-src-repo-rev:
- 165146
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4-template.mac
r106332 r106333 689 689 690 690 EMIT_INSTR_PLUS_ICEBP sqrtps, XMM1, XMM1 691 EMIT_INSTR_PLUS_ICEBP_C64 sqrtps, XMM8, XMM8 691 692 EMIT_INSTR_PLUS_ICEBP vsqrtps, XMM1, XMM1 692 693 EMIT_INSTR_PLUS_ICEBP vsqrtps, YMM1, YMM1 694 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtps, YMM8, YMM8 693 695 694 696 ; … … 711 713 712 714 EMIT_INSTR_PLUS_ICEBP sqrtpd, XMM1, XMM1 715 EMIT_INSTR_PLUS_ICEBP_C64 sqrtpd, XMM8, XMM8 713 716 EMIT_INSTR_PLUS_ICEBP vsqrtpd, XMM1, XMM1 714 717 EMIT_INSTR_PLUS_ICEBP vsqrtpd, YMM1, YMM1 718 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, YMM8, YMM8 715 719 716 720 ; … … 728 732 729 733 EMIT_INSTR_PLUS_ICEBP sqrtss, XMM1, XMM1 734 EMIT_INSTR_PLUS_ICEBP_C64 sqrtss, XMM8, XMM8 730 735 EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM1, XMM1 731 736 EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM1, XMM2 732 737 EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM2, XMM2 738 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtss, XMM8, XMM8, XMM8 733 739 EMIT_INSTR_PLUS_ICEBP vsqrtss, XMM1, XMM1, FSxBX 734 740 … … 747 753 748 754 EMIT_INSTR_PLUS_ICEBP sqrtsd, XMM1, XMM1 755 EMIT_INSTR_PLUS_ICEBP_C64 sqrtsd, XMM8, XMM8 749 756 EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM1, XMM1 750 757 EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM1, XMM2 751 758 EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM2, XMM2 759 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtsd, XMM8, XMM8, XMM8 752 760 EMIT_INSTR_PLUS_ICEBP vsqrtsd, XMM1, XMM1, FSxBX 753 761 … … 771 779 772 780 EMIT_INSTR_PLUS_ICEBP rsqrtps, XMM1, XMM1 781 EMIT_INSTR_PLUS_ICEBP_C64 rsqrtps, XMM8, XMM8 773 782 EMIT_INSTR_PLUS_ICEBP vrsqrtps, XMM1, XMM1 774 783 EMIT_INSTR_PLUS_ICEBP vrsqrtps, YMM1, YMM1 784 EMIT_INSTR_PLUS_ICEBP_C64 vrsqrtps, YMM8, YMM8 775 785 776 786 ; -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r106332 r106333 12911 12911 * [V]RCPPS. 12912 12912 */ 12913 /** @todo this fails entirely under IEM: the instructions rcpps, rcpss, rsqrtps, rsqrtss are all implemented with too much precision & attention to exceptions! */ 12913 12914 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_rcpps(uint8_t bMode) 12914 12915 { … … 13243 13244 * [V]RCPSS. 13244 13245 */ 13246 /** @todo this fails entirely under IEM: the instructions rcpps, rcpss, rsqrtps, rsqrtss are all implemented with too much precision & attention to exceptions! */ 13245 13247 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_rcpss(uint8_t bMode) 13246 13248 { … … 14415 14417 14416 14418 { bs3CpuInstr4_sqrtps_XMM1_XMM1_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 1, PASS_s_aValues }, 14419 { bs3CpuInstr4_sqrtps_XMM8_XMM8_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 8, PASS_s_aValues }, 14417 14420 { bs3CpuInstr4_vsqrtps_XMM1_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 1, PASS_s_aValues }, 14418 14421 { bs3CpuInstr4_vsqrtps_YMM1_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 1, PASS_s_aValues }, 14422 { bs3CpuInstr4_vsqrtps_YMM8_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, 8, 8, 8, PASS_s_aValues }, 14419 14423 }; 14420 14424 #undef PASS_s_aValues … … 14681 14685 14682 14686 { bs3CpuInstr4_sqrtpd_XMM1_XMM1_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 1, PASS_s_aValues }, 14687 { bs3CpuInstr4_sqrtpd_XMM8_XMM8_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 8, PASS_s_aValues }, 14683 14688 { bs3CpuInstr4_vsqrtpd_XMM1_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 1, PASS_s_aValues }, 14684 14689 { bs3CpuInstr4_vsqrtpd_YMM1_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 1, PASS_s_aValues }, 14690 { bs3CpuInstr4_vsqrtpd_YMM8_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, 8, 8, 8, PASS_s_aValues }, 14685 14691 }; 14686 14692 #undef PASS_s_aValues … … 15110 15116 15111 15117 { bs3CpuInstr4_sqrtss_XMM1_XMM1_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 1, PASS_s_aValuesSR }, 15118 { bs3CpuInstr4_sqrtss_XMM8_XMM8_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 8, PASS_s_aValuesSR }, 15112 15119 { bs3CpuInstr4_vsqrtss_XMM1_XMM1_XMM1_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, 1, 1, 1, PASS_s_aValuesSR }, 15113 15120 { bs3CpuInstr4_vsqrtss_XMM1_XMM1_XMM2_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, 1, 1, 2, PASS_s_aValues }, 15114 15121 { bs3CpuInstr4_vsqrtss_XMM1_XMM2_XMM2_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, 1, 2, 2, PASS_s_aValuesSR }, 15122 { bs3CpuInstr4_vsqrtss_XMM8_XMM8_XMM8_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, 8, 8, 8, PASS_s_aValuesSR }, 15115 15123 { bs3CpuInstr4_vsqrtss_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 1, 255, PASS_s_aValues }, 15116 15124 }; … … 15542 15550 15543 15551 { bs3CpuInstr4_sqrtsd_XMM1_XMM1_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 1, PASS_s_aValuesSR }, 15552 { bs3CpuInstr4_sqrtsd_XMM8_XMM8_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 8, PASS_s_aValuesSR }, 15544 15553 { bs3CpuInstr4_vsqrtsd_XMM1_XMM1_XMM1_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, 1, 1, 1, PASS_s_aValuesSR }, 15545 15554 { bs3CpuInstr4_vsqrtsd_XMM1_XMM1_XMM2_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, 1, 1, 2, PASS_s_aValues }, 15546 15555 { bs3CpuInstr4_vsqrtsd_XMM1_XMM2_XMM2_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, 1, 2, 2, PASS_s_aValuesSR }, 15556 { bs3CpuInstr4_vsqrtsd_XMM8_XMM8_XMM8_icebp_c64, X86_XCPT_AC, RM_REG, T_AVX_128, 8, 8, 8, PASS_s_aValuesSR }, 15547 15557 { bs3CpuInstr4_vsqrtsd_XMM1_XMM1_FSxBX_icebp_c64, X86_XCPT_AC, RM_MEM, T_AVX_128, 1, 1, 255, PASS_s_aValues }, 15548 15558 }; … … 15560 15570 * [V]RSQRTPS. 15561 15571 */ 15562 /** @todo this fails entirely under IEM: the instructions rcpps, rcpss, rsqrtps, rsqrtss , are all implemented with too much precision! */15572 /** @todo this fails entirely under IEM: the instructions rcpps, rcpss, rsqrtps, rsqrtss are all implemented with too much precision & attention to exceptions! */ 15563 15573 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_rsqrtps(uint8_t bMode) 15564 15574 { … … 15801 15811 15802 15812 { bs3CpuInstr4_rsqrtps_XMM1_XMM1_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 1, PASS_s_aValues }, 15813 { bs3CpuInstr4_rsqrtps_XMM8_XMM8_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 8, PASS_s_aValues }, 15803 15814 { bs3CpuInstr4_vrsqrtps_XMM1_XMM1_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 1, PASS_s_aValues }, 15804 15815 { bs3CpuInstr4_vrsqrtps_YMM1_YMM1_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 1, PASS_s_aValues }, 15816 { bs3CpuInstr4_vrsqrtps_YMM8_YMM8_icebp_c64, 255, RM_REG, T_AVX_256, 8, 8, 8, PASS_s_aValues }, 15805 15817 }; 15806 15818 #undef PASS_s_aValues
Note:
See TracChangeset
for help on using the changeset viewer.