aboutsummaryrefslogtreecommitdiff
path: root/src/vm_arm.dasc
diff options
context:
space:
mode:
authorMike Pall <mike>2022-01-24 14:37:50 +0100
committerMike Pall <mike>2022-01-24 14:37:50 +0100
commit9512d5c1aced61e13e7be2d3208ec7ae3516b458 (patch)
treec31882578a670847adb37475362b7d21ae9bc099 /src/vm_arm.dasc
parentc18acfe7565b9b20be0a73563f535766233ad78a (diff)
downloadluajit-9512d5c1aced61e13e7be2d3208ec7ae3516b458.tar.gz
luajit-9512d5c1aced61e13e7be2d3208ec7ae3516b458.tar.bz2
luajit-9512d5c1aced61e13e7be2d3208ec7ae3516b458.zip
Fix pow() optimization inconsistencies.
Diffstat (limited to 'src/vm_arm.dasc')
-rw-r--r--src/vm_arm.dasc13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc
index 770c1602..636619fd 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, func 1480 |.macro math_extern2, name, func
1481 |.if HFABI 1481 |.if HFABI
1482 | .ffunc_dd math_ .. func 1482 | .ffunc_dd math_ .. name
1483 |.else 1483 |.else
1484 | .ffunc_nn math_ .. func 1484 | .ffunc_nn math_ .. name
1485 |.endif 1485 |.endif
1486 | .IOS mov RA, BASE 1486 | .IOS mov RA, BASE
1487 | bl extern func 1487 | bl extern func
@@ -1492,6 +1492,9 @@ 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
1495 | 1498 |
1496 |.if FPU 1499 |.if FPU
1497 | .ffunc_d math_sqrt 1500 | .ffunc_d math_sqrt
@@ -1537,7 +1540,7 @@ static void build_subroutines(BuildCtx *ctx)
1537 | math_extern sinh 1540 | math_extern sinh
1538 | math_extern cosh 1541 | math_extern cosh
1539 | math_extern tanh 1542 | math_extern tanh
1540 | math_extern2 pow 1543 | math_extern2 pow, lj_vm_pow
1541 | math_extern2 atan2 1544 | math_extern2 atan2
1542 | math_extern2 fmod 1545 | math_extern2 fmod
1543 | 1546 |
@@ -3203,7 +3206,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
3203 break; 3206 break;
3204 case BC_POW: 3207 case BC_POW:
3205 | // NYI: (partial) integer arithmetic. 3208 | // NYI: (partial) integer arithmetic.
3206 | ins_arithfp extern, extern pow 3209 | ins_arithfp extern, extern lj_vm_pow
3207 break; 3210 break;
3208 3211
3209 case BC_CAT: 3212 case BC_CAT: