aboutsummaryrefslogtreecommitdiff
path: root/src/vm_mips64.dasc
diff options
context:
space:
mode:
authorMike Pall <mike>2022-03-08 19:44:10 +0100
committerMike Pall <mike>2022-03-08 19:44:10 +0100
commit96d6d5032098ea9f0002165394a8774dcaa0c0ce (patch)
tree84712e02c1452d8f0c48a6f506a9aa1ebe0f4a32 /src/vm_mips64.dasc
parentaa0550e3f0999cc6ef62f7ef80493ebef8c9a2f7 (diff)
downloadluajit-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.dasc11
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