Revert to trival pow() optimizations to prevent inaccuracies.

This commit is contained in:
Mike Pall
2022-03-08 19:44:10 +01:00
parent aa0550e3f0
commit 96d6d50320
18 changed files with 45 additions and 157 deletions

View File

@@ -2138,8 +2138,8 @@ static void build_subroutines(BuildCtx *ctx)
| jmp ->fff_resfp
|.endmacro
|
|.macro math_extern2, name, func
| .ffunc_nnsse math_ .. name
|.macro math_extern2, func
| .ffunc_nnsse math_ .. func
|.if not X64
| movsd FPARG1, xmm0
| movsd FPARG3, xmm1
@@ -2149,9 +2149,6 @@ static void build_subroutines(BuildCtx *ctx)
| mov BASE, RB
| jmp ->fff_resfp
|.endmacro
|.macro math_extern2, func
| math_extern2 func, func
|.endmacro
|
| math_extern log10
| math_extern exp
@@ -2164,7 +2161,7 @@ static void build_subroutines(BuildCtx *ctx)
| math_extern sinh
| math_extern cosh
| math_extern tanh
| math_extern2 pow, lj_vm_pow
| math_extern2 pow
| math_extern2 atan2
| math_extern2 fmod
|
@@ -3922,7 +3919,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| movsd FPARG1, xmm0
| movsd FPARG3, xmm1
|.endif
| call extern lj_vm_pow
| call extern pow
| movzx RA, PC_RA
| mov BASE, RB
|.if X64