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

@@ -1387,14 +1387,11 @@ static void build_subroutines(BuildCtx *ctx)
| b ->fff_resn
|.endmacro
|
|.macro math_extern2, name, func
| .ffunc_nn math_ .. name
|.macro math_extern2, func
| .ffunc_nn math_ .. func
| bl extern func
| b ->fff_resn
|.endmacro
|.macro math_extern2, func
| math_extern2 func, func
|.endmacro
|
|.ffunc_n math_sqrt
| fsqrt d0, d0
@@ -1423,7 +1420,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
|
@@ -2677,7 +2674,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| ins_arithload FARG1, FARG2
| ins_arithfallback ins_arithcheck_num
|.if "fpins" == "fpow"
| bl extern lj_vm_pow
| bl extern pow
|.else
| fpins FARG1, FARG1, FARG2
|.endif