diff options
author | Mike Pall <mike> | 2022-03-08 19:44:10 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2022-03-08 19:44:10 +0100 |
commit | 96d6d5032098ea9f0002165394a8774dcaa0c0ce (patch) | |
tree | 84712e02c1452d8f0c48a6f506a9aa1ebe0f4a32 /src/vm_mips64.dasc | |
parent | aa0550e3f0999cc6ef62f7ef80493ebef8c9a2f7 (diff) | |
download | luajit-96d6d5032098ea9f0002165394a8774dcaa0c0ce.tar.gz luajit-96d6d5032098ea9f0002165394a8774dcaa0c0ce.tar.bz2 luajit-96d6d5032098ea9f0002165394a8774dcaa0c0ce.zip |
Revert to trival pow() optimizations to prevent inaccuracies.
Diffstat (limited to 'src/vm_mips64.dasc')
-rw-r--r-- | src/vm_mips64.dasc | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/vm_mips64.dasc b/src/vm_mips64.dasc index 3b916379..651bc42e 100644 --- a/src/vm_mips64.dasc +++ b/src/vm_mips64.dasc | |||
@@ -1667,17 +1667,14 @@ static void build_subroutines(BuildCtx *ctx) | |||
1667 | |. nop | 1667 | |. nop |
1668 | |.endmacro | 1668 | |.endmacro |
1669 | | | 1669 | | |
1670 | |.macro math_extern2, name, func | 1670 | |.macro math_extern2, func |
1671 | | .ffunc_nn math_ .. name | 1671 | | .ffunc_nn math_ .. func |
1672 | |. load_got func | 1672 | |. load_got func |
1673 | | call_extern | 1673 | | call_extern |
1674 | |. nop | 1674 | |. nop |
1675 | | b ->fff_resn | 1675 | | b ->fff_resn |
1676 | |. nop | 1676 | |. nop |
1677 | |.endmacro | 1677 | |.endmacro |
1678 | |.macro math_extern2, func | ||
1679 | | math_extern2 func, func | ||
1680 | |.endmacro | ||
1681 | | | 1678 | | |
1682 | |// TODO: Return integer type if result is integer (own sf implementation). | 1679 | |// TODO: Return integer type if result is integer (own sf implementation). |
1683 | |.macro math_round, func | 1680 | |.macro math_round, func |
@@ -1731,7 +1728,7 @@ static void build_subroutines(BuildCtx *ctx) | |||
1731 | | math_extern sinh | 1728 | | math_extern sinh |
1732 | | math_extern cosh | 1729 | | math_extern cosh |
1733 | | math_extern tanh | 1730 | | math_extern tanh |
1734 | | math_extern2 pow, lj_vm_pow | 1731 | | math_extern2 pow |
1735 | | math_extern2 atan2 | 1732 | | math_extern2 atan2 |
1736 | | math_extern2 fmod | 1733 | | math_extern2 fmod |
1737 | | | 1734 | | |
@@ -3918,7 +3915,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
3918 | | sltiu TMP0, TMP0, LJ_TISNUM | 3915 | | sltiu TMP0, TMP0, LJ_TISNUM |
3919 | | sltiu TMP1, TMP1, LJ_TISNUM | 3916 | | sltiu TMP1, TMP1, LJ_TISNUM |
3920 | | and AT, TMP0, TMP1 | 3917 | | and AT, TMP0, TMP1 |
3921 | | load_got lj_vm_pow | 3918 | | load_got pow |
3922 | | beqz AT, ->vmeta_arith | 3919 | | beqz AT, ->vmeta_arith |
3923 | |. daddu RA, BASE, RA | 3920 | |. daddu RA, BASE, RA |
3924 | |.if FPU | 3921 | |.if FPU |