Changeset 99289 in vbox
- Timestamp:
- Apr 5, 2023 12:19:47 AM (22 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsThree0f3a.cpp.h
r99287 r99289 558 558 IEM_MC_MAYBE_RAISE_SSE41_RELATED_XCPT(); 559 559 IEM_MC_PREPARE_SSE_USAGE(); 560 IEM_MC_AND_LOCAL_U8(bImm, 15); 561 IEM_MC_FETCH_XREG_U8(uValue, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iByte*/); 560 IEM_MC_FETCH_XREG_U8(uValue, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 15 /*a_iByte*/); 562 561 IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_RM(pVCpu, bRm), uValue); 563 562 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 579 578 IEM_MC_PREPARE_SSE_USAGE(); 580 579 581 IEM_MC_AND_LOCAL_U8(bImm, 15); 582 IEM_MC_FETCH_XREG_U8(uValue, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iByte*/); 580 IEM_MC_FETCH_XREG_U8(uValue, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 15 /*a_iByte*/); 583 581 IEM_MC_STORE_MEM_U8(pVCpu->iem.s.iEffSeg, GCPtrEffSrc, uValue); 584 582 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 604 602 IEM_MC_MAYBE_RAISE_SSE41_RELATED_XCPT(); 605 603 IEM_MC_PREPARE_SSE_USAGE(); 606 IEM_MC_AND_LOCAL_U8(bImm, 7); 607 IEM_MC_FETCH_XREG_U16(uValue, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iWord*/); 604 IEM_MC_FETCH_XREG_U16(uValue, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 7 /*a_iWord*/); 608 605 IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_RM(pVCpu, bRm), uValue); 609 606 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 625 622 IEM_MC_PREPARE_SSE_USAGE(); 626 623 627 IEM_MC_AND_LOCAL_U8(bImm, 7); 628 IEM_MC_FETCH_XREG_U16(uValue, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iWord*/); 624 IEM_MC_FETCH_XREG_U16(uValue, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 7 /*a_iWord*/); 629 625 IEM_MC_STORE_MEM_U16(pVCpu->iem.s.iEffSeg, GCPtrEffSrc, uValue); 630 626 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 657 653 IEM_MC_MAYBE_RAISE_SSE41_RELATED_XCPT(); 658 654 IEM_MC_PREPARE_SSE_USAGE(); 659 IEM_MC_AND_LOCAL_U8(bImm, 1); 660 IEM_MC_FETCH_XREG_U64(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iQword*/); 655 IEM_MC_FETCH_XREG_U64(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 1 /*a_iQword*/); 661 656 IEM_MC_STORE_GREG_U64(IEM_GET_MODRM_RM(pVCpu, bRm), uSrc); 662 657 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 678 673 IEM_MC_PREPARE_SSE_USAGE(); 679 674 680 IEM_MC_AND_LOCAL_U8(bImm, 1); 681 IEM_MC_FETCH_XREG_U64(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iQword*/); 675 IEM_MC_FETCH_XREG_U64(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 1 /*a_iQword*/); 682 676 IEM_MC_STORE_MEM_U64(pVCpu->iem.s.iEffSeg, GCPtrEffSrc, uSrc); 683 677 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 706 700 IEM_MC_MAYBE_RAISE_SSE41_RELATED_XCPT(); 707 701 IEM_MC_PREPARE_SSE_USAGE(); 708 IEM_MC_AND_LOCAL_U8(bImm, 3); 709 IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iDword*/); 702 IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 3 /*a_iDword*/); 710 703 IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_RM(pVCpu, bRm), uSrc); 711 704 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 726 719 IEM_MC_MAYBE_RAISE_SSE41_RELATED_XCPT(); 727 720 IEM_MC_PREPARE_SSE_USAGE(); 728 IEM_MC_AND_LOCAL_U8(bImm, 3); 729 IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iDword*/); 721 IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 3 /*a_iDword*/); 730 722 IEM_MC_STORE_MEM_U32(pVCpu->iem.s.iEffSeg, GCPtrEffSrc, uSrc); 731 723 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 752 744 IEM_MC_MAYBE_RAISE_SSE41_RELATED_XCPT(); 753 745 IEM_MC_PREPARE_SSE_USAGE(); 754 IEM_MC_AND_LOCAL_U8(bImm, 3); 755 IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iDword*/); 746 IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 3 /*a_iDword*/); 756 747 IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_RM(pVCpu, bRm), uSrc); 757 748 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 772 763 IEM_MC_MAYBE_RAISE_SSE41_RELATED_XCPT(); 773 764 IEM_MC_PREPARE_SSE_USAGE(); 774 IEM_MC_AND_LOCAL_U8(bImm, 3); 775 IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iDword*/); 765 IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 3 /*a_iDword*/); 776 766 IEM_MC_STORE_MEM_U32(pVCpu->iem.s.iEffSeg, GCPtrEffSrc, uSrc); 777 767 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 808 798 IEM_MC_PREPARE_SSE_USAGE(); 809 799 IEM_MC_FETCH_GREG_U8(uSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); 810 IEM_MC_AND_LOCAL_U8(bImm, 15); 811 IEM_MC_STORE_XREG_U8(IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iByte*/, uSrc); 800 IEM_MC_STORE_XREG_U8(IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 15 /*a_iByte*/, uSrc); 812 801 IEM_MC_ADVANCE_RIP_AND_FINISH(); 813 802 IEM_MC_END(); … … 829 818 830 819 IEM_MC_FETCH_MEM_U8(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 831 IEM_MC_AND_LOCAL_U8(bImm, 15); 832 IEM_MC_STORE_XREG_U8(IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iByte*/, uSrc); 820 IEM_MC_STORE_XREG_U8(IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 15 /*a_iByte*/, uSrc); 833 821 IEM_MC_ADVANCE_RIP_AND_FINISH(); 834 822 IEM_MC_END(); … … 917 905 IEM_MC_PREPARE_SSE_USAGE(); 918 906 IEM_MC_FETCH_GREG_U64(uSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); 919 IEM_MC_AND_LOCAL_U8(bImm, 1); 920 IEM_MC_STORE_XREG_U64(IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iQword*/, uSrc); 907 IEM_MC_STORE_XREG_U64(IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 1 /*a_iQword*/, uSrc); 921 908 IEM_MC_ADVANCE_RIP_AND_FINISH(); 922 909 IEM_MC_END(); … … 938 925 939 926 IEM_MC_FETCH_MEM_U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 940 IEM_MC_AND_LOCAL_U8(bImm, 1); 941 IEM_MC_STORE_XREG_U64(IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iQword*/, uSrc); 927 IEM_MC_STORE_XREG_U64(IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 1 /*a_iQword*/, uSrc); 942 928 IEM_MC_ADVANCE_RIP_AND_FINISH(); 943 929 IEM_MC_END(); … … 966 952 IEM_MC_PREPARE_SSE_USAGE(); 967 953 IEM_MC_FETCH_GREG_U32(uSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); 968 IEM_MC_AND_LOCAL_U8(bImm, 3); 969 IEM_MC_STORE_XREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iDword*/, uSrc); 954 IEM_MC_STORE_XREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 3 /*a_iDword*/, uSrc); 970 955 IEM_MC_ADVANCE_RIP_AND_FINISH(); 971 956 IEM_MC_END(); … … 987 972 988 973 IEM_MC_FETCH_MEM_U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 989 IEM_MC_AND_LOCAL_U8(bImm, 3); 990 IEM_MC_STORE_XREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), bImm /*a_iDword*/, uSrc); 974 IEM_MC_STORE_XREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), bImm & 3 /*a_iDword*/, uSrc); 991 975 IEM_MC_ADVANCE_RIP_AND_FINISH(); 992 976 IEM_MC_END();
Note:
See TracChangeset
for help on using the changeset viewer.