aboutsummaryrefslogtreecommitdiff
path: root/src/vm_arm.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_arm.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_arm.dasc')
-rw-r--r--src/vm_arm.dasc13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc
index 636619fd..770c1602 100644
--- a/src/vm_arm.dasc
+++ b/src/vm_arm.dasc
@@ -1477,11 +1477,11 @@ static void build_subroutines(BuildCtx *ctx)
1477 |.endif 1477 |.endif
1478 |.endmacro 1478 |.endmacro
1479 | 1479 |
1480 |.macro math_extern2, name, func 1480 |.macro math_extern2, func
1481 |.if HFABI 1481 |.if HFABI
1482 | .ffunc_dd math_ .. name 1482 | .ffunc_dd math_ .. func
1483 |.else 1483 |.else
1484 | .ffunc_nn math_ .. name 1484 | .ffunc_nn math_ .. func
1485 |.endif 1485 |.endif
1486 | .IOS mov RA, BASE 1486 | .IOS mov RA, BASE
1487 | bl extern func 1487 | bl extern func
@@ -1492,9 +1492,6 @@ static void build_subroutines(BuildCtx *ctx)
1492 | b ->fff_restv 1492 | b ->fff_restv
1493 |.endif 1493 |.endif
1494 |.endmacro 1494 |.endmacro
1495 |.macro math_extern2, func
1496 | math_extern2 func, func
1497 |.endmacro
1498 | 1495 |
1499 |.if FPU 1496 |.if FPU
1500 | .ffunc_d math_sqrt 1497 | .ffunc_d math_sqrt
@@ -1540,7 +1537,7 @@ static void build_subroutines(BuildCtx *ctx)
1540 | math_extern sinh 1537 | math_extern sinh
1541 | math_extern cosh 1538 | math_extern cosh
1542 | math_extern tanh 1539 | math_extern tanh
1543 | math_extern2 pow, lj_vm_pow 1540 | math_extern2 pow
1544 | math_extern2 atan2 1541 | math_extern2 atan2
1545 | math_extern2 fmod 1542 | math_extern2 fmod
1546 | 1543 |
@@ -3206,7 +3203,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
3206 break; 3203 break;
3207 case BC_POW: 3204 case BC_POW:
3208 | // NYI: (partial) integer arithmetic. 3205 | // NYI: (partial) integer arithmetic.
3209 | ins_arithfp extern, extern lj_vm_pow 3206 | ins_arithfp extern, extern pow
3210 break; 3207 break;
3211 3208
3212 case BC_CAT: 3209 case BC_CAT: