Changeset 40162 in vbox
- Timestamp:
- Feb 16, 2012 7:28:18 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/x86.h
r40144 r40162 6 6 7 7 /* 8 * Copyright (C) 2006-201 1Oracle Corporation8 * Copyright (C) 2006-2012 Oracle Corporation 9 9 * 10 10 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r40161 r40162 5 5 6 6 /* 7 * Copyright (C) 2011 Oracle Corporation7 * Copyright (C) 2011-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r40161 r40162 4 4 ; 5 5 6 ; Copyright (C) 2011 Oracle Corporation6 ; Copyright (C) 2011-2012 Oracle Corporation 7 7 ; 8 8 ; This file is part of VirtualBox Open Source Edition (OSE), as … … 1393 1393 ENDPROC iemAImpl_fpu_fdiv_r80_by_r64 1394 1394 1395 1396 ;; 1397 ; FMUL with 64-bit floating point value. 1398 ; 1399 ; @param A0 FPU context (fxsave). 1400 ; @param A1 Pointer to a IEMFPURESULT for the output. 1401 ; @param A2 Pointer to the 80-bit factor. 1402 ; @param A3 Pointer to the 64-bit factor. 1403 ; 1404 BEGINPROC_FASTCALL iemAImpl_fpu_fmul_r80_by_r64, 16 1405 PROLOGUE_4_ARGS 1406 sub xSP, 20h 1407 1408 fninit 1409 fld tword [A2] 1410 FPU_LD_FXSTATE_FCW_AND_SAFE_FSW A0 1411 fmul qword [A3] 1412 1413 fnstsw word [A1 + IEMFPURESULT.FSW] 1414 fnclex 1415 fstp tword [A1 + IEMFPURESULT.r80Result] 1416 1417 add xSP, 20h 1418 EPILOGUE_4_ARGS 8 1419 ENDPROC iemAImpl_fpu_fmul_r80_by_r64 1420 -
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r40022 r40162 5 5 6 6 /* 7 * Copyright (C) 2011 Oracle Corporation7 * Copyright (C) 2011-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
r40154 r40162 5 5 6 6 /* 7 * Copyright (C) 2011 Oracle Corporation7 * Copyright (C) 2011-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 10810 10810 10811 10811 /** Opcode 0xdc !11/1. */ 10812 FNIEMOP_STUB_1(iemOp_fmul_m64r, uint8_t, bRm); 10812 FNIEMOP_DEF_1(iemOp_fmul_m64r, uint8_t, bRm) 10813 { 10814 IEMOP_MNEMONIC("fdiv m64r"); 10815 IEMOP_HLP_NO_LOCK_PREFIX(); 10816 10817 IEM_MC_BEGIN(3, 3); 10818 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 10819 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); 10820 IEM_MC_LOCAL(RTFLOAT64U, r64Factor2); 10821 IEM_MC_ARG_LOCAL_REF(PIEMFPURESULT, pFpuRes, FpuRes, 0); 10822 IEM_MC_ARG(PCRTFLOAT80U, pr80Factor1, 1); 10823 IEM_MC_ARG_LOCAL_REF(PRTFLOAT64U, pr64Factor2, r64Factor2, 2); 10824 10825 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm); 10826 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); 10827 IEM_MC_MAYBE_RAISE_FPU_XCPT(); 10828 IEM_MC_FETCH_MEM_R64(r64Factor2, pIemCpu->iEffSeg, GCPtrEffSrc); 10829 IEM_MC_IF_FPUREG_NOT_EMPTY_REF_R80(pr80Factor1, 0) 10830 IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fpu_fmul_r80_by_r64, pFpuRes, pr80Factor1, pr64Factor2); 10831 IEM_MC_STORE_FPU_RESULT_MEM_OP(FpuRes, 0, pIemCpu->iEffSeg, GCPtrEffSrc); 10832 IEM_MC_ELSE() 10833 IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP(0, pIemCpu->iEffSeg, GCPtrEffSrc); 10834 IEM_MC_ENDIF(); 10835 IEM_MC_ADVANCE_RIP(); 10836 10837 IEM_MC_END(); 10838 return VINF_SUCCESS; 10839 } 10813 10840 10814 10841 /** Opcode 0xdc !11/2. */ -
trunk/src/VBox/VMM/include/IEMInternal.h
r40143 r40162 5 5 6 6 /* 7 * Copyright (C) 2011 Oracle Corporation7 * Copyright (C) 2011-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 725 725 FNIEMAIMPLFPUR64U iemAImpl_fpu_r64_to_r80; 726 726 FNIEMAIMPLFPUR64 iemAImpl_fpu_fdiv_r80_by_r64; 727 FNIEMAIMPLFPUR64 iemAImpl_fpu_fmul_r80_by_r64; 727 728 728 729 /** @} */
Note:
See TracChangeset
for help on using the changeset viewer.