Changeset 103828 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllInstOneByte.cpp.h
- Timestamp:
- Mar 13, 2024 2:01:20 PM (9 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstOneByte.cpp.h
r103801 r103828 102 102 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u8Dst, u8Src, uEFlags, 8); \ 103 103 IEM_MC_STORE_GREG_U8(IEM_GET_MODRM_RM(pVCpu, a_bRm), u8Dst); \ 104 IEM_MC_COMMIT_EFLAGS (uEFlags); \104 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 105 105 } IEM_MC_NATIVE_ELSE() { \ 106 106 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 186 186 IEM_MC_FETCH_EFLAGS(uEFlags); \ 187 187 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_EmitterBasename,_r_r_efl), u8Dst, u8Src, uEFlags, 8); \ 188 IEM_MC_COMMIT_EFLAGS (uEFlags); \188 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 189 189 } IEM_MC_NATIVE_ELSE() { \ 190 190 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 219 219 IEM_MC_FETCH_EFLAGS(uEFlags); \ 220 220 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_EmitterBasename,_r_r_efl), u8Dst, u8SrcEmit, uEFlags, 8); \ 221 IEM_MC_COMMIT_EFLAGS (uEFlags); \221 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 222 222 } IEM_MC_NATIVE_ELSE() { \ 223 223 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 266 266 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u8Dst, u8Src, uEFlags, 8); \ 267 267 IEM_MC_STORE_GREG_U8(IEM_GET_MODRM_REG(pVCpu, a_bRm), u8Dst); \ 268 IEM_MC_COMMIT_EFLAGS (uEFlags); \268 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 269 269 } IEM_MC_NATIVE_ELSE() { \ 270 270 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 296 296 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u8Dst, u8Src, uEFlags, 8); \ 297 297 IEM_MC_STORE_GREG_U8(IEM_GET_MODRM_REG(pVCpu, a_bRm), u8Dst); \ 298 IEM_MC_COMMIT_EFLAGS (uEFlags); \298 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 299 299 } IEM_MC_NATIVE_ELSE() { \ 300 300 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 329 329 IEM_MC_FETCH_EFLAGS(uEFlags); \ 330 330 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u8Dst, u8Src, uEFlags, 8); \ 331 IEM_MC_COMMIT_EFLAGS (uEFlags); \331 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 332 332 } IEM_MC_NATIVE_ELSE() { \ 333 333 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 358 358 IEM_MC_FETCH_EFLAGS(uEFlags); \ 359 359 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u8Dst, u8Src, uEFlags, 8); \ 360 IEM_MC_COMMIT_EFLAGS (uEFlags); \360 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 361 361 } IEM_MC_NATIVE_ELSE() { \ 362 362 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 397 397 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u16Dst, u16Src, uEFlags, 16); \ 398 398 IEM_MC_STORE_GREG_U16(IEM_GET_MODRM_RM(pVCpu, a_bRm), u16Dst); \ 399 IEM_MC_COMMIT_EFLAGS (uEFlags); \399 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 400 400 } IEM_MC_NATIVE_ELSE() { \ 401 401 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 422 422 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u32Dst, u32Src, uEFlags, 32); \ 423 423 IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_RM(pVCpu, a_bRm), u32Dst); \ 424 IEM_MC_COMMIT_EFLAGS (uEFlags); \424 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 425 425 } IEM_MC_NATIVE_ELSE() { \ 426 426 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 448 448 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u64Dst, u64Src, uEFlags, 64); \ 449 449 IEM_MC_STORE_GREG_U64(IEM_GET_MODRM_RM(pVCpu, a_bRm), u64Dst); \ 450 IEM_MC_COMMIT_EFLAGS (uEFlags); \450 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 451 451 } IEM_MC_NATIVE_ELSE() { \ 452 452 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 640 640 IEM_MC_FETCH_EFLAGS(uEFlags); \ 641 641 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u16Dst, u16Src, uEFlags, 16); \ 642 IEM_MC_COMMIT_EFLAGS (uEFlags); \642 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 643 643 } IEM_MC_NATIVE_ELSE() { \ 644 644 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 664 664 IEM_MC_FETCH_EFLAGS(uEFlags); \ 665 665 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u32Dst, u32Src, uEFlags, 32); \ 666 IEM_MC_COMMIT_EFLAGS (uEFlags); \666 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 667 667 } IEM_MC_NATIVE_ELSE() { \ 668 668 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 688 688 IEM_MC_FETCH_EFLAGS(uEFlags); \ 689 689 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u64Dst, u64Src, uEFlags, 64); \ 690 IEM_MC_COMMIT_EFLAGS (uEFlags); \690 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 691 691 } IEM_MC_NATIVE_ELSE() { \ 692 692 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 728 728 IEM_MC_FETCH_EFLAGS(uEFlags); \ 729 729 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u16Dst, u16SrcEmit, uEFlags, 16); \ 730 IEM_MC_COMMIT_EFLAGS (uEFlags); \730 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 731 731 } IEM_MC_NATIVE_ELSE() { \ 732 732 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 759 759 IEM_MC_FETCH_EFLAGS(uEFlags); \ 760 760 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u32Dst, u32SrcEmit, uEFlags, 32); \ 761 IEM_MC_COMMIT_EFLAGS (uEFlags); \761 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 762 762 } IEM_MC_NATIVE_ELSE() { \ 763 763 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 790 790 IEM_MC_FETCH_EFLAGS(uEFlags); \ 791 791 IEM_MC_NATIVE_EMIT_4(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_r_efl), u64Dst, u64SrcEmit, uEFlags, 64); \ 792 IEM_MC_COMMIT_EFLAGS (uEFlags); \792 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 793 793 } IEM_MC_NATIVE_ELSE() { \ 794 794 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 833 833 IEM_MC_FETCH_EFLAGS(uEFlags); \ 834 834 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u8Dst, u8Imm, uEFlags, 8, 8); \ 835 IEM_MC_COMMIT_EFLAGS(uEFlags); \836 835 IEM_MC_STORE_GREG_U8(X86_GREG_xAX, u8Dst); \ 836 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 837 837 } IEM_MC_NATIVE_ELSE() { \ 838 838 IEM_MC_ARG_CONST(uint8_t, u8Src,/*=*/ u8Imm, 1); \ … … 864 864 IEM_MC_FETCH_EFLAGS(uEFlags); \ 865 865 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u16Dst, u16Imm, uEFlags, 16, 16); \ 866 IEM_MC_COMMIT_EFLAGS(uEFlags); \867 866 IEM_MC_STORE_GREG_U16(X86_GREG_xAX, u16Dst); \ 867 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 868 868 } IEM_MC_NATIVE_ELSE() { \ 869 869 IEM_MC_ARG_CONST(uint16_t, u16Src,/*=*/ u16Imm, 1); \ … … 889 889 IEM_MC_FETCH_EFLAGS(uEFlags); \ 890 890 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u32Dst, u32Imm, uEFlags, 32, 32); \ 891 IEM_MC_COMMIT_EFLAGS(uEFlags); \892 891 IEM_MC_STORE_GREG_U32(X86_GREG_xAX, u32Dst); \ 892 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 893 893 } IEM_MC_NATIVE_ELSE() { \ 894 894 IEM_MC_ARG_CONST(uint32_t, u32Src,/*=*/ u32Imm, 1); \ … … 915 915 IEM_MC_FETCH_EFLAGS(uEFlags); \ 916 916 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u64Dst, u64Imm, uEFlags, 64, 32); \ 917 IEM_MC_COMMIT_EFLAGS(uEFlags); \918 917 IEM_MC_STORE_GREG_U64(X86_GREG_xAX, u64Dst); \ 918 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 919 919 } IEM_MC_NATIVE_ELSE() { \ 920 920 IEM_MC_ARG_CONST(uint64_t, u64Src,/*=*/ u64Imm, 1); \ … … 951 951 IEM_MC_FETCH_EFLAGS(uEFlags); \ 952 952 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u16Dst, u16Imm, uEFlags, 16, 16); \ 953 IEM_MC_COMMIT_EFLAGS (uEFlags); \953 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 954 954 } IEM_MC_NATIVE_ELSE() { \ 955 955 IEM_MC_ARG_CONST(uint16_t, u16Src,/*=*/ u16Imm, 1); \ … … 975 975 IEM_MC_FETCH_EFLAGS(uEFlags); \ 976 976 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u32Dst, u32Imm, uEFlags, 32, 32); \ 977 IEM_MC_COMMIT_EFLAGS (uEFlags); \977 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 978 978 } IEM_MC_NATIVE_ELSE() { \ 979 979 IEM_MC_ARG_CONST(uint32_t, u32Src,/*=*/ u32Imm, 1); \ … … 999 999 IEM_MC_FETCH_EFLAGS(uEFlags); \ 1000 1000 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u64Dst, u64Imm, uEFlags, 64, 32); \ 1001 IEM_MC_COMMIT_EFLAGS (uEFlags); \1001 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 1002 1002 } IEM_MC_NATIVE_ELSE() { \ 1003 1003 IEM_MC_ARG_CONST(uint64_t, u64Src,/*=*/ u64Imm, 1); \ … … 4244 4244 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u8Dst, u8Imm, uEFlags, 8, 8); \ 4245 4245 IEM_MC_STORE_GREG_U8(IEM_GET_MODRM_RM(pVCpu, bRm), u8Dst); \ 4246 IEM_MC_COMMIT_EFLAGS (uEFlags); \4246 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4247 4247 } IEM_MC_NATIVE_ELSE() { \ 4248 4248 IEM_MC_ARG_CONST(uint8_t, u8Src, /*=*/ u8Imm, 1); \ … … 4319 4319 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4320 4320 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u8Dst, u8Imm, uEFlags, 8, 8); \ 4321 IEM_MC_COMMIT_EFLAGS (uEFlags); \4321 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4322 4322 } IEM_MC_NATIVE_ELSE() { \ 4323 4323 IEM_MC_ARG_CONST(uint8_t, u8Src, /*=*/ u8Imm, 1); \ … … 4347 4347 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4348 4348 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u8Dst, u8Imm, uEFlags, 8, 8); \ 4349 IEM_MC_COMMIT_EFLAGS (uEFlags); \4349 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4350 4350 } IEM_MC_NATIVE_ELSE() { \ 4351 4351 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 4509 4509 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4510 4510 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u16Dst, u16Imm, uEFlags, 16, 16); \ 4511 IEM_MC_COMMIT_EFLAGS(uEFlags); \4512 4511 IEM_MC_STORE_GREG_U16(IEM_GET_MODRM_RM(pVCpu, bRm), u16Dst); \ 4512 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4513 4513 } IEM_MC_NATIVE_ELSE() { \ 4514 4514 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 4535 4535 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4536 4536 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u32Dst, u32Imm, uEFlags, 32, 32); \ 4537 IEM_MC_COMMIT_EFLAGS(uEFlags); \4538 4537 IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_RM(pVCpu, bRm), u32Dst); \ 4538 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4539 4539 } IEM_MC_NATIVE_ELSE() { \ 4540 4540 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 4562 4562 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4563 4563 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u64Dst, u64Imm, uEFlags, 64, 32); \ 4564 IEM_MC_COMMIT_EFLAGS(uEFlags); \4565 4564 IEM_MC_STORE_GREG_U64(IEM_GET_MODRM_RM(pVCpu, bRm), u64Dst); \ 4565 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4566 4566 } IEM_MC_NATIVE_ELSE() { \ 4567 4567 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 4769 4769 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4770 4770 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u16Dst, u16Imm, uEFlags, 16, 16); \ 4771 IEM_MC_COMMIT_EFLAGS (uEFlags); \4771 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4772 4772 } IEM_MC_NATIVE_ELSE() { \ 4773 4773 IEM_MC_ARG(uint16_t const *,pu16Dst, 0); \ … … 4794 4794 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4795 4795 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u32Dst, u32Imm, uEFlags, 32, 32); \ 4796 IEM_MC_COMMIT_EFLAGS (uEFlags); \4796 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4797 4797 } IEM_MC_NATIVE_ELSE() { \ 4798 4798 IEM_MC_ARG(uint32_t const *,pu32Dst, 0); \ … … 4819 4819 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4820 4820 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u64Dst, u64Imm, uEFlags, 64, 32); \ 4821 IEM_MC_COMMIT_EFLAGS (uEFlags); \4821 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4822 4822 } IEM_MC_NATIVE_ELSE() { \ 4823 4823 IEM_MC_ARG(uint64_t const *,pu64Dst, 0); \ … … 4856 4856 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4857 4857 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u16Dst, u16Imm, uEFlags, 16, 16); \ 4858 IEM_MC_COMMIT_EFLAGS (uEFlags); \4858 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4859 4859 } IEM_MC_NATIVE_ELSE() { \ 4860 4860 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 4886 4886 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4887 4887 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u32Dst, u32Imm, uEFlags, 32, 32); \ 4888 IEM_MC_COMMIT_EFLAGS (uEFlags); \4888 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4889 4889 } IEM_MC_NATIVE_ELSE() { \ 4890 4890 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 4916 4916 IEM_MC_FETCH_EFLAGS(uEFlags); \ 4917 4917 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u64Dst, u64Imm, uEFlags, 64, 32); \ 4918 IEM_MC_COMMIT_EFLAGS (uEFlags); \4918 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 4919 4919 } IEM_MC_NATIVE_ELSE() { \ 4920 4920 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 5097 5097 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u16Dst, (uint16_t)(int16_t)(int8_t)u8Imm, uEFlags, 16, 8); \ 5098 5098 IEM_MC_STORE_GREG_U16(IEM_GET_MODRM_RM(pVCpu, bRm), u16Dst); \ 5099 IEM_MC_COMMIT_EFLAGS (uEFlags); \5099 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5100 5100 } IEM_MC_NATIVE_ELSE() { \ 5101 5101 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 5120 5120 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u32Dst, (uint32_t)(int32_t)(int8_t)u8Imm, uEFlags, 32, 8); \ 5121 5121 IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_RM(pVCpu, bRm), u32Dst); \ 5122 IEM_MC_COMMIT_EFLAGS (uEFlags); \5122 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5123 5123 } IEM_MC_NATIVE_ELSE() { \ 5124 5124 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 5144 5144 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u64Dst, (uint64_t)(int64_t)(int8_t)u8Imm, uEFlags, 64, 8); \ 5145 5145 IEM_MC_STORE_GREG_U64(IEM_GET_MODRM_RM(pVCpu, bRm), u64Dst); \ 5146 IEM_MC_COMMIT_EFLAGS (uEFlags); \5146 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5147 5147 } IEM_MC_NATIVE_ELSE() { \ 5148 5148 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 5339 5339 IEM_MC_FETCH_EFLAGS(uEFlags); \ 5340 5340 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u16Dst, (uint16_t)(int16_t)(int8_t)u8Imm, uEFlags, 16, 8); \ 5341 IEM_MC_COMMIT_EFLAGS (uEFlags); \5341 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5342 5342 } IEM_MC_NATIVE_ELSE() { \ 5343 5343 IEM_MC_ARG(uint16_t const *, pu16Dst, 0); \ … … 5361 5361 IEM_MC_FETCH_EFLAGS(uEFlags); \ 5362 5362 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u32Dst, (uint32_t)(int32_t)(int8_t)u8Imm, uEFlags, 32, 8); \ 5363 IEM_MC_COMMIT_EFLAGS (uEFlags); \5363 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5364 5364 } IEM_MC_NATIVE_ELSE() { \ 5365 5365 IEM_MC_ARG(uint32_t const *, pu32Dst, 0); \ … … 5383 5383 IEM_MC_FETCH_EFLAGS(uEFlags); \ 5384 5384 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u64Dst, (uint64_t)(int64_t)(int8_t)u8Imm, uEFlags, 64, 8); \ 5385 IEM_MC_COMMIT_EFLAGS (uEFlags); \5385 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5386 5386 } IEM_MC_NATIVE_ELSE() { \ 5387 5387 IEM_MC_ARG(uint64_t const *, pu64Dst, 0); \ … … 5420 5420 IEM_MC_FETCH_EFLAGS(uEFlags); \ 5421 5421 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u16Dst, (uint16_t)(int16_t)(int8_t)u8Imm, uEFlags, 16, 8); \ 5422 IEM_MC_COMMIT_EFLAGS (uEFlags); \5422 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5423 5423 } IEM_MC_NATIVE_ELSE() { \ 5424 5424 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 5448 5448 IEM_MC_FETCH_EFLAGS(uEFlags); \ 5449 5449 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u32Dst, (uint32_t)(int32_t)(int8_t)u8Imm, uEFlags, 32, 8); \ 5450 IEM_MC_COMMIT_EFLAGS (uEFlags); \5450 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5451 5451 } IEM_MC_NATIVE_ELSE() { \ 5452 5452 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 5476 5476 IEM_MC_FETCH_EFLAGS(uEFlags); \ 5477 5477 IEM_MC_NATIVE_EMIT_5(RT_CONCAT3(iemNativeEmit_,a_InsNm,_r_i_efl), u64Dst, (uint64_t)(int64_t)(int8_t)u8Imm, uEFlags, 64, 8); \ 5478 IEM_MC_COMMIT_EFLAGS (uEFlags); \5478 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); \ 5479 5479 } IEM_MC_NATIVE_ELSE() { \ 5480 5480 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 5650 5650 IEM_MC_FETCH_EFLAGS(uEFlags); 5651 5651 IEM_MC_NATIVE_EMIT_4(iemNativeEmit_test_r_r_efl, u8Src, u8Src, uEFlags, 8); 5652 IEM_MC_COMMIT_EFLAGS (uEFlags);5652 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); 5653 5653 } IEM_MC_NATIVE_ELSE() { 5654 5654 IEM_MC_ARG(uint8_t *, pu8Dst, 0); … … 5696 5696 IEM_MC_FETCH_EFLAGS(uEFlags); 5697 5697 IEM_MC_NATIVE_EMIT_4(iemNativeEmit_test_r_r_efl, u16Src, u16Src, uEFlags, 16); 5698 IEM_MC_COMMIT_EFLAGS (uEFlags);5698 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); 5699 5699 } IEM_MC_NATIVE_ELSE() { 5700 5700 IEM_MC_ARG(uint16_t *, pu16Dst, 0); … … 5718 5718 IEM_MC_FETCH_EFLAGS(uEFlags); 5719 5719 IEM_MC_NATIVE_EMIT_4(iemNativeEmit_test_r_r_efl, u32Src, u32Src, uEFlags, 32); 5720 IEM_MC_COMMIT_EFLAGS (uEFlags);5720 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); 5721 5721 } IEM_MC_NATIVE_ELSE() { 5722 5722 IEM_MC_ARG(uint32_t *, pu32Dst, 0); … … 5740 5740 IEM_MC_FETCH_EFLAGS(uEFlags); 5741 5741 IEM_MC_NATIVE_EMIT_4(iemNativeEmit_test_r_r_efl, u64Src, u64Src, uEFlags, 64); 5742 IEM_MC_COMMIT_EFLAGS (uEFlags);5742 IEM_MC_COMMIT_EFLAGS_OPT(uEFlags); 5743 5743 } IEM_MC_NATIVE_ELSE() { 5744 5744 IEM_MC_ARG(uint64_t *, pu64Dst, 0);
Note:
See TracChangeset
for help on using the changeset viewer.