Changeset 40244 in vbox
- Timestamp:
- Feb 24, 2012 12:48:47 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 76454
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r40242 r40244 1609 1609 ; @param A0 FPU context (fxsave). 1610 1610 ; @param A1 Pointer to a IEMFPURESULT for the output. 1611 ; @param A2 Pointer to the first 80-bit value (ST0) 1612 ; @param A3 Pointer to the second 80-bit value (STn). 1613 ; 1614 %macro IEMIMPL_FPU_R80_BY_R80 2 1615 BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _r80_by_r80, 16 1616 PROLOGUE_4_ARGS 1617 sub xSP, 20h 1618 1619 fninit 1620 fld tword [A3] 1621 fld tword [A2] 1622 FPU_LD_FXSTATE_FCW_AND_SAFE_FSW A0 1623 %1 %2 1624 1625 fnstsw word [A1 + IEMFPURESULT.FSW] 1626 fnclex 1627 fstp tword [A1 + IEMFPURESULT.r80Result] 1628 1629 fninit 1630 add xSP, 20h 1631 EPILOGUE_4_ARGS 8 1632 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r80 1633 %endmacro 1634 1635 IEMIMPL_FPU_R80_BY_R80 fadd, {st0, st1} 1636 IEMIMPL_FPU_R80_BY_R80 fmul, {st0, st1} 1637 IEMIMPL_FPU_R80_BY_R80 fsub, {st0, st1} 1638 IEMIMPL_FPU_R80_BY_R80 fsubr, {st0, st1} 1639 IEMIMPL_FPU_R80_BY_R80 fdiv, {st0, st1} 1640 IEMIMPL_FPU_R80_BY_R80 fdivr, {st0, st1} 1641 IEMIMPL_FPU_R80_BY_R80 fprem, {} 1642 IEMIMPL_FPU_R80_BY_R80 fprem1, {} 1643 IEMIMPL_FPU_R80_BY_R80 fscale, {} 1644 1645 1646 ;; 1647 ; FPU instruction working on two 80-bit floating point values, ST1 and ST0, 1648 ; storing the result in ST1 and popping the stack. 1649 ; 1650 ; @param 1 The instruction 1651 ; 1652 ; @param A0 FPU context (fxsave). 1653 ; @param A1 Pointer to a IEMFPURESULT for the output. 1654 ; @param A2 Pointer to the first 80-bit value (ST1). 1655 ; @param A3 Pointer to the second 80-bit value (ST0). 1656 ; 1657 %macro IEMIMPL_FPU_R80_BY_R80_ST1_ST0_POP 1 1658 BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _r80_by_r80, 16 1659 PROLOGUE_4_ARGS 1660 sub xSP, 20h 1661 1662 fninit 1663 fld tword [A2] 1664 fld tword [A3] 1665 FPU_LD_FXSTATE_FCW_AND_SAFE_FSW A0 1666 %1 1667 1668 fnstsw word [A1 + IEMFPURESULT.FSW] 1669 fnclex 1670 fstp tword [A1 + IEMFPURESULT.r80Result] 1671 1672 fninit 1673 add xSP, 20h 1674 EPILOGUE_4_ARGS 8 1675 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r80 1676 %endmacro 1677 1678 IEMIMPL_FPU_R80_BY_R80_ST1_ST0_POP fpatan 1679 IEMIMPL_FPU_R80_BY_R80_ST1_ST0_POP fyl2xp1 1680 1681 1682 ;; 1683 ; FPU instruction working on two 80-bit floating point values, only 1684 ; returning FSW. 1685 ; 1686 ; @param 1 The instruction 1687 ; 1688 ; @param A0 FPU context (fxsave). 1689 ; @param A1 Pointer to a uint16_t for the resulting FSW. 1611 1690 ; @param A2 Pointer to the first 80-bit value. 1612 1691 ; @param A3 Pointer to the second 80-bit value. 1613 1692 ; 1614 %macro IEMIMPL_FPU_R80_BY_R80 11693 %macro IEMIMPL_FPU_R80_BY_R80_FSW 1 1615 1694 BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _r80_by_r80, 16 1616 1695 PROLOGUE_4_ARGS … … 1623 1702 %1 st0, st1 1624 1703 1625 fnstsw word [A1 + IEMFPURESULT.FSW]1626 fnclex1627 fstp tword [A1 + IEMFPURESULT.r80Result]1628 1629 fninit1630 add xSP, 20h1631 EPILOGUE_4_ARGS 81632 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r801633 %endmacro1634 1635 IEMIMPL_FPU_R80_BY_R80 fadd1636 IEMIMPL_FPU_R80_BY_R80 fmul1637 IEMIMPL_FPU_R80_BY_R80 fsub1638 IEMIMPL_FPU_R80_BY_R80 fsubr1639 IEMIMPL_FPU_R80_BY_R80 fdiv1640 IEMIMPL_FPU_R80_BY_R80 fdivr1641 1642 1643 ;;1644 ; FPU instruction working on two 80-bit floating point values, only1645 ; returning FSW.1646 ;1647 ; @param 1 The instruction1648 ;1649 ; @param A0 FPU context (fxsave).1650 ; @param A1 Pointer to a uint16_t for the resulting FSW.1651 ; @param A2 Pointer to the first 80-bit value.1652 ; @param A3 Pointer to the second 80-bit value.1653 ;1654 %macro IEMIMPL_FPU_R80_BY_R80_FSW 11655 BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _r80_by_r80, 161656 PROLOGUE_4_ARGS1657 sub xSP, 20h1658 1659 fninit1660 fld tword [A3]1661 fld tword [A2]1662 FPU_LD_FXSTATE_FCW_AND_SAFE_FSW A01663 %1 st0, st11664 1665 1704 fnstsw word [A1] 1666 1705 … … 1708 1747 IEMIMPL_FPU_R80 f2xm1 1709 1748 IEMIMPL_FPU_R80 fyl2x 1749 IEMIMPL_FPU_R80 fsqrt 1750 IEMIMPL_FPU_R80 frndint 1751 IEMIMPL_FPU_R80 fsin 1752 IEMIMPL_FPU_R80 fcos 1710 1753 1711 1754 … … 1788 1831 ; @param A2 Pointer to the 80-bit value. 1789 1832 ; 1790 BEGINPROC_FASTCALL iemAImpl_fptan_r80_r80, 12 1833 %macro IEMIMPL_FPU_R80_R80 1 1834 BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _r80_r80, 12 1791 1835 PROLOGUE_3_ARGS 1792 1836 sub xSP, 20h … … 1795 1839 fld tword [A2] 1796 1840 FPU_LD_FXSTATE_FCW_AND_SAFE_FSW A0 1797 fptan1841 %1 1798 1842 1799 1843 fnstsw word [A1 + IEMFPURESULTTWO.FSW] … … 1806 1850 add xSP, 20h 1807 1851 EPILOGUE_3_ARGS 4 1808 ENDPROC iemAImpl_fptan_r80_r80 1809 1852 ENDPROC iemAImpl_ %+ %1 %+ _r80_r80 1853 %endmacro 1854 1855 IEMIMPL_FPU_R80_R80 fptan 1856 IEMIMPL_FPU_R80_R80 fxtract 1857 IEMIMPL_FPU_R80_R80 fsincos 1858 -
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r40225 r40244 4306 4306 } 4307 4307 4308 4309 /** 4310 * Implements 'FINCSTP' and 'FDECSTP'. 4311 * 4312 * @param cToAdd 1 or 7. 4313 */ 4314 IEM_CIMPL_DEF_1(iemCImpl_fpu_AddToTop, uint8_t, cToAdd) 4315 { 4316 PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx); 4317 4318 /* 4319 * Raise exceptions. 4320 */ 4321 if (pCtx->cr0 & (X86_CR0_EM | X86_CR0_TS)) 4322 return iemRaiseDeviceNotAvailable(pIemCpu); 4323 uint16_t u16Fsw = pCtx->fpu.FSW; 4324 if (u16Fsw & X86_FSW_ES) 4325 return iemRaiseMathFault(pIemCpu); 4326 4327 /* 4328 * Do the job. 4329 * 4330 * Note! The instructions are listed as control instructions and should 4331 * therefore not update FOP, FPUIP and FPUCS... 4332 * Note! C0, C2 and C3 are documented as undefined, we clear them. 4333 */ 4334 /** @todo Testcase: Check whether FOP, FPUIP and FPUCS are affected by 4335 * FINCSTP and FDECSTP. */ 4336 uint16_t iTop = X86_FSW_TOP_GET(u16Fsw); 4337 iTop += cToAdd; 4338 iTop &= X86_FSW_TOP_SMASK; 4339 u16Fsw &= ~(X86_FSW_TOP_MASK | X86_FSW_C_MASK); 4340 u16Fsw |= (iTop << X86_FSW_TOP_SHIFT); 4341 pCtx->fpu.FSW = u16Fsw; 4342 4343 return VINF_SUCCESS; 4344 } 4345 4346 4308 4347 /** @} */ 4309 4348 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
r40243 r40244 11067 11067 11068 11068 11069 /** Opcode 0xd9 0xf2. */ 11070 FNIEMOP_DEF(iemOp_fptan) 11071 { 11072 IEMOP_MNEMONIC("fptan st0"); 11069 /** 11070 * Common worker for FPU instructions working on ST0 and having two outputs, one 11071 * replacing ST0 and one pushed onto the stack. 11072 * 11073 * @param pfnAImpl Pointer to the instruction implementation (assembly). 11074 */ 11075 FNIEMOP_DEF_1(iemOpHlpFpuReplace_st0_push, PFNIEMAIMPLFPUR80UNARYTWO, pfnAImpl) 11076 { 11073 11077 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11074 11078 … … 11081 11085 IEM_MC_MAYBE_RAISE_FPU_XCPT(); 11082 11086 IEM_MC_IF_FPUREG_NOT_EMPTY_REF_R80(pr80Value, 0) 11083 IEM_MC_CALL_FPU_AIMPL_2( iemAImpl_fptan_r80_r80, pFpuResTwo, pr80Value);11087 IEM_MC_CALL_FPU_AIMPL_2(pfnAImpl, pFpuResTwo, pr80Value); 11084 11088 IEM_MC_PUSH_FPU_RESULT_TWO(FpuResTwo); 11085 11089 IEM_MC_ELSE() … … 11090 11094 IEM_MC_END(); 11091 11095 return VINF_SUCCESS; 11092 11093 } 11096 } 11097 11098 11099 /** Opcode 0xd9 0xf2. */ 11100 FNIEMOP_DEF(iemOp_fptan) 11101 { 11102 IEMOP_MNEMONIC("fptan st0"); 11103 return FNIEMOP_CALL_1(iemOpHlpFpuReplace_st0_push, iemAImpl_fptan_r80_r80); 11104 } 11105 11106 11107 /** 11108 * Common worker for FPU instructions working on STn and ST0, storing the result 11109 * in STn, and popping the stack unless IE, DE or ZE was raised. 11110 * 11111 * @param pfnAImpl Pointer to the instruction implementation (assembly). 11112 */ 11113 FNIEMOP_DEF_2(iemOpHlpFpu_stN_st0_pop, uint8_t, bRm, PFNIEMAIMPLFPUR80, pfnAImpl) 11114 { 11115 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11116 11117 IEM_MC_BEGIN(3, 1); 11118 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); 11119 IEM_MC_ARG_LOCAL_REF(PIEMFPURESULT, pFpuRes, FpuRes, 0); 11120 IEM_MC_ARG(PCRTFLOAT80U, pr80Value1, 1); 11121 IEM_MC_ARG(PCRTFLOAT80U, pr80Value2, 2); 11122 11123 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); 11124 IEM_MC_MAYBE_RAISE_FPU_XCPT(); 11125 11126 IEM_MC_IF_TWO_FPUREGS_NOT_EMPTY_REF_R80(pr80Value1, bRm & X86_MODRM_RM_MASK, pr80Value2, 0) 11127 IEM_MC_CALL_FPU_AIMPL_3(pfnAImpl, pFpuRes, pr80Value1, pr80Value2); 11128 IEM_MC_STORE_FPU_RESULT_THEN_POP(FpuRes, bRm & X86_MODRM_RM_MASK); 11129 IEM_MC_ELSE() 11130 IEM_MC_FPU_STACK_UNDERFLOW_THEN_POP(bRm & X86_MODRM_RM_MASK); 11131 IEM_MC_ENDIF(); 11132 IEM_MC_ADVANCE_RIP(); 11133 11134 IEM_MC_END(); 11135 return VINF_SUCCESS; 11136 } 11137 11094 11138 11095 11139 /** Opcode 0xd9 0xf3. */ 11096 FNIEMOP_STUB(iemOp_fpatan); 11140 FNIEMOP_DEF(iemOp_fpatan) 11141 { 11142 IEMOP_MNEMONIC("fpatan st1,st0"); 11143 return FNIEMOP_CALL_2(iemOpHlpFpu_stN_st0_pop, 1, iemAImpl_fpatan_r80_by_r80); 11144 } 11145 11097 11146 11098 11147 /** Opcode 0xd9 0xf4. */ 11099 FNIEMOP_STUB(iemOp_fxtract); 11148 FNIEMOP_DEF(iemOp_fxtract) 11149 { 11150 IEMOP_MNEMONIC("fxtract st0"); 11151 return FNIEMOP_CALL_1(iemOpHlpFpuReplace_st0_push, iemAImpl_fxtract_r80_r80); 11152 } 11153 11100 11154 11101 11155 /** Opcode 0xd9 0xf5. */ 11102 FNIEMOP_STUB(iemOp_fprem1); 11156 FNIEMOP_DEF(iemOp_fprem1) 11157 { 11158 IEMOP_MNEMONIC("fprem1 st0, st1"); 11159 return FNIEMOP_CALL_2(iemOpHlpFpu_st0_stN, 1, iemAImpl_fprem1_r80_by_r80); 11160 } 11161 11103 11162 11104 11163 /** Opcode 0xd9 0xf6. */ 11105 FNIEMOP_STUB(iemOp_fdecstp); 11164 FNIEMOP_DEF(iemOp_fdecstp) 11165 { 11166 IEMOP_MNEMONIC("fdecstp"); 11167 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11168 return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_fpu_AddToTop, 7); 11169 } 11170 11106 11171 11107 11172 /** Opcode 0xd9 0xf7. */ 11108 FNIEMOP_STUB(iemOp_fincstp); 11173 FNIEMOP_DEF(iemOp_fincstp) 11174 { 11175 IEMOP_MNEMONIC("fincstp"); 11176 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11177 return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_fpu_AddToTop, 1); 11178 } 11179 11109 11180 11110 11181 /** Opcode 0xd9 0xf8. */ 11111 FNIEMOP_STUB(iemOp_fprem); 11182 FNIEMOP_DEF(iemOp_fprem) 11183 { 11184 IEMOP_MNEMONIC("fprem st0, st1"); 11185 return FNIEMOP_CALL_2(iemOpHlpFpu_st0_stN, 1, iemAImpl_fprem_r80_by_r80); 11186 } 11187 11112 11188 11113 11189 /** Opcode 0xd9 0xf9. */ 11114 FNIEMOP_STUB(iemOp_fyl2xp1); 11190 FNIEMOP_DEF(iemOp_fyl2xp1) 11191 { 11192 IEMOP_MNEMONIC("fyl2xp1 st1,st0"); 11193 return FNIEMOP_CALL_2(iemOpHlpFpu_stN_st0_pop, 1, iemAImpl_fyl2xp1_r80_by_r80); 11194 } 11195 11115 11196 11116 11197 /** Opcode 0xd9 0xfa. */ 11117 FNIEMOP_STUB(iemOp_fsqrt); 11198 FNIEMOP_DEF(iemOp_fsqrt) 11199 { 11200 IEMOP_MNEMONIC("fsqrt st0"); 11201 return FNIEMOP_CALL_1(iemOpHlpFpu_st0, iemAImpl_fsqrt_r80); 11202 } 11203 11118 11204 11119 11205 /** Opcode 0xd9 0xfb. */ 11120 FNIEMOP_STUB(iemOp_fsincos); 11206 FNIEMOP_DEF(iemOp_fsincos) 11207 { 11208 IEMOP_MNEMONIC("fsincos st0"); 11209 return FNIEMOP_CALL_1(iemOpHlpFpuReplace_st0_push, iemAImpl_fsincos_r80_r80); 11210 } 11211 11121 11212 11122 11213 /** Opcode 0xd9 0xfc. */ 11123 FNIEMOP_STUB(iemOp_frndint); 11214 FNIEMOP_DEF(iemOp_frndint) 11215 { 11216 IEMOP_MNEMONIC("frndint st0"); 11217 return FNIEMOP_CALL_1(iemOpHlpFpu_st0, iemAImpl_frndint_r80); 11218 } 11219 11124 11220 11125 11221 /** Opcode 0xd9 0xfd. */ 11126 FNIEMOP_STUB(iemOp_fscale); 11222 FNIEMOP_DEF(iemOp_fscale) 11223 { 11224 IEMOP_MNEMONIC("fscale st0, st1"); 11225 return FNIEMOP_CALL_2(iemOpHlpFpu_st0_stN, 1, iemAImpl_fscale_r80_by_r80); 11226 } 11227 11127 11228 11128 11229 /** Opcode 0xd9 0xfe. */ 11129 FNIEMOP_STUB(iemOp_fsin); 11230 FNIEMOP_DEF(iemOp_fsin) 11231 { 11232 IEMOP_MNEMONIC("fsin st0"); 11233 return FNIEMOP_CALL_1(iemOpHlpFpu_st0, iemAImpl_fsin_r80); 11234 } 11235 11130 11236 11131 11237 /** Opcode 0xd9 0xff. */ 11132 FNIEMOP_STUB(iemOp_fcos); 11238 FNIEMOP_DEF(iemOp_fcos) 11239 { 11240 IEMOP_MNEMONIC("fcos st0"); 11241 return FNIEMOP_CALL_1(iemOpHlpFpu_st0, iemAImpl_fcos_r80); 11242 } 11133 11243 11134 11244 … … 11787 11897 } 11788 11898 } 11789 }11790 11791 11792 /**11793 * Common worker for FPU instructions working on STn and ST0, storing the result11794 * in STn, and poping the stack unless IE, DE or ZE was raised.11795 *11796 * @param pfnAImpl Pointer to the instruction implementation (assembly).11797 */11798 FNIEMOP_DEF_2(iemOpHlpFpu_stN_st0_pop, uint8_t, bRm, PFNIEMAIMPLFPUR80, pfnAImpl)11799 {11800 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();11801 11802 IEM_MC_BEGIN(3, 1);11803 IEM_MC_LOCAL(IEMFPURESULT, FpuRes);11804 IEM_MC_ARG_LOCAL_REF(PIEMFPURESULT, pFpuRes, FpuRes, 0);11805 IEM_MC_ARG(PCRTFLOAT80U, pr80Value1, 1);11806 IEM_MC_ARG(PCRTFLOAT80U, pr80Value2, 2);11807 11808 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE();11809 IEM_MC_MAYBE_RAISE_FPU_XCPT();11810 11811 IEM_MC_IF_TWO_FPUREGS_NOT_EMPTY_REF_R80(pr80Value1, bRm & X86_MODRM_RM_MASK, pr80Value2, 0)11812 IEM_MC_CALL_FPU_AIMPL_3(pfnAImpl, pFpuRes, pr80Value1, pr80Value2);11813 IEM_MC_STORE_FPU_RESULT_THEN_POP(FpuRes, bRm & X86_MODRM_RM_MASK);11814 IEM_MC_ELSE()11815 IEM_MC_FPU_STACK_UNDERFLOW_THEN_POP(bRm & X86_MODRM_RM_MASK);11816 IEM_MC_ENDIF();11817 IEM_MC_ADVANCE_RIP();11818 11819 IEM_MC_END();11820 return VINF_SUCCESS;11821 11899 } 11822 11900 -
trunk/src/VBox/VMM/include/IEMInternal.h
r40243 r40244 799 799 FNIEMAIMPLFPUR80 iemAImpl_fdiv_r80_by_r80; 800 800 FNIEMAIMPLFPUR80 iemAImpl_fdivr_r80_by_r80; 801 FNIEMAIMPLFPUR80 iemAImpl_fprem_r80_by_r80; 802 FNIEMAIMPLFPUR80 iemAImpl_fprem1_r80_by_r80; 803 FNIEMAIMPLFPUR80 iemAImpl_fscale_r80_by_r80; 804 805 FNIEMAIMPLFPUR80 iemAImpl_fpatan_r80_by_r80; 806 FNIEMAIMPLFPUR80 iemAImpl_fyl2xp1_r80_by_r80; 801 807 802 808 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR80FSW,(PCX86FXSTATE pFpuState, uint16_t *pFSW, … … 811 817 FNIEMAIMPLFPUR80UNARY iemAImpl_f2xm1_r80; 812 818 FNIEMAIMPLFPUR80UNARY iemAImpl_fyl2x_r80; 819 FNIEMAIMPLFPUR80UNARY iemAImpl_fsqrt_r80; 820 FNIEMAIMPLFPUR80UNARY iemAImpl_frndint_r80; 821 FNIEMAIMPLFPUR80UNARY iemAImpl_fsin_r80; 822 FNIEMAIMPLFPUR80UNARY iemAImpl_fcos_r80; 813 823 814 824 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR80UNARYFSW,(PCX86FXSTATE pFpuState, uint16_t *pu16Fsw, PCRTFLOAT80U pr80Val)); … … 827 837 FNIEMAIMPLFPUR80LDCONST iemAImpl_fldz; 828 838 829 IEM_DECL_IMPL_DEF(void, iemAImpl_fptan_r80_r80,(PCX86FXSTATE pFpuState, PIEMFPURESULTTWO pFpuResTwo, PCRTFLOAT80U pr80Val)); 839 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR80UNARYTWO,(PCX86FXSTATE pFpuState, PIEMFPURESULTTWO pFpuResTwo, 840 PCRTFLOAT80U pr80Val)); 841 typedef FNIEMAIMPLFPUR80UNARYTWO *PFNIEMAIMPLFPUR80UNARYTWO; 842 FNIEMAIMPLFPUR80UNARYTWO iemAImpl_fptan_r80_r80; 843 FNIEMAIMPLFPUR80UNARYTWO iemAImpl_fxtract_r80_r80; 844 FNIEMAIMPLFPUR80UNARYTWO iemAImpl_fsincos_r80_r80; 830 845 831 846 /** @} */ -
trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp
r40243 r40244 185 185 #define iemAImpl_fdiv_r80_by_r80 NULL 186 186 #define iemAImpl_fdivr_r80_by_r80 NULL 187 #define iemAImpl_fprem_r80_by_r80 NULL 188 #define iemAImpl_fprem1_r80_by_r80 NULL 189 #define iemAImpl_fscale_r80_by_r80 NULL 190 191 #define iemAImpl_fpatan_r80_by_r80 NULL 192 #define iemAImpl_fyl2xp1_r80_by_r80 NULL 193 187 194 #define iemAImpl_fcom_r80_by_r80 NULL 188 195 #define iemAImpl_fabs_r80 NULL … … 192 199 #define iemAImpl_f2xm1_r80 NULL 193 200 #define iemAImpl_fyl2x_r80 NULL 201 #define iemAImpl_fsqrt_r80 NULL 202 #define iemAImpl_frndint_r80 NULL 203 #define iemAImpl_fsin_r80 NULL 204 #define iemAImpl_fcos_r80 NULL 205 194 206 #define iemAImpl_fld1 NULL 195 207 #define iemAImpl_fldl2t NULL … … 199 211 #define iemAImpl_fldln2 NULL 200 212 #define iemAImpl_fldz NULL 213 214 #define iemAImpl_fptan_r80_r80 NULL 215 #define iemAImpl_fxtract_r80_r80 NULL 216 #define iemAImpl_fsincos_r80_r80 NULL 201 217 202 218 #define iemCImpl_callf NULL
Note:
See TracChangeset
for help on using the changeset viewer.