Changeset 96338 in vbox for trunk/src/VBox/Runtime/common/math
- Timestamp:
- Aug 19, 2022 3:07:12 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 153154
- Location:
- trunk/src/VBox/Runtime/common/math
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/math/pow.asm
r96337 r96338 39 39 ; @returns st(0) / xmm0 40 40 ; @param rdBase [xSP + xCB*2] / xmm0 41 ; @param rdExp [xSP + xCB*2 + RTLRD_CB] / xmm1 41 ; @param rdExp [xSP + xCB*2 + 8] / xmm1 42 ; 42 43 RT_NOCRT_BEGINPROC pow 43 44 push xBP -
trunk/src/VBox/Runtime/common/math/powf.asm
r96337 r96338 1 1 ; $Id$ 2 2 ;; @file 3 ; IPRT - No-CRT pow - AMD64 & X86.3 ; IPRT - No-CRT powf - AMD64 & X86. 4 4 ; 5 5 … … 36 36 37 37 ;; 38 ; Compute the r dBase to the power of rdExp.38 ; Compute the rfBase to the power of rfExp. 39 39 ; @returns st(0) / xmm0 40 ; @param rdBase [xSP + xCB*2] / xmm0 41 ; @param rdExp [xSP + xCB*2 + RTLRD_CB] / xmm1 42 RT_NOCRT_BEGINPROC pow 40 ; @param rfBase [xSP + xCB*2] / xmm0 41 ; @param rfExp [xSP + xCB*2 + 4] / xmm1 42 ; 43 RT_NOCRT_BEGINPROC powf 43 44 push xBP 44 45 SEH64_PUSH_xBP … … 55 56 ; 56 57 %ifdef RT_ARCH_AMD64 57 movs d[xBP - 20h], xmm058 fld qword [xBP - 20h]58 movss [xBP - 20h], xmm0 59 fld dword [xBP - 20h] 59 60 fxam 60 61 fnstsw ax 61 62 mov dx, ax ; dx=fxam(base) 62 63 63 movs d[xBP - 30h], xmm164 fld qword [xBP - 30h]64 movss [xBP - 30h], xmm1 65 fld dword [xBP - 30h] 65 66 %else 66 fld qword [xBP + xCB*2]67 fld dword [xBP + xCB*2] 67 68 fxam 68 69 fnstsw ax 69 70 mov dx, ax ; dx=fxam(base) 70 71 71 fld qword [xBP + xCB*2 + RTLRD_CB]72 fld dword [xBP + xCB*2 + RTLRD_CB] 72 73 %endif 73 74 … … 85 86 jne .return_input_reg 86 87 87 fstp qword [xSP - 30h]88 movs dxmm0, [xSP - 30h]88 fstp dword [xSP - 30h] 89 movss xmm0, [xSP - 30h] 89 90 90 91 .return: … … 111 112 112 113 .return_exp: 113 movs dxmm0, xmm1114 movss xmm0, xmm1 114 115 jmp .return 115 ENDPROC RT_NOCRT(pow )116 ENDPROC RT_NOCRT(powf) 116 117
Note:
See TracChangeset
for help on using the changeset viewer.