diff options
author | Mike Pall <mike> | 2022-01-24 14:37:50 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2022-01-24 14:37:50 +0100 |
commit | 9512d5c1aced61e13e7be2d3208ec7ae3516b458 (patch) | |
tree | c31882578a670847adb37475362b7d21ae9bc099 /src/vm_arm.dasc | |
parent | c18acfe7565b9b20be0a73563f535766233ad78a (diff) | |
download | luajit-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.dasc | 13 |
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: |