diff options
Diffstat (limited to 'src/vm_arm.dasc')
-rw-r--r-- | src/vm_arm.dasc | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc index 31657b70..331a1b70 100644 --- a/src/vm_arm.dasc +++ b/src/vm_arm.dasc | |||
@@ -1468,7 +1468,28 @@ static void build_subroutines(BuildCtx *ctx) | |||
1468 | | math_extern sqrt | 1468 | | math_extern sqrt |
1469 | |.endif | 1469 | |.endif |
1470 | | | 1470 | | |
1471 | | math_extern log | 1471 | |.ffunc math_log |
1472 | |.if HFABI | ||
1473 | | ldr CARG2, [BASE, #4] | ||
1474 | | cmp NARGS8:RC, #8 // Need exactly 1 argument. | ||
1475 | | vldr d0, [BASE] | ||
1476 | | bne ->fff_fallback | ||
1477 | |.else | ||
1478 | | ldrd CARG12, [BASE] | ||
1479 | | cmp NARGS8:RC, #8 // Need exactly 1 argument. | ||
1480 | | bne ->fff_fallback | ||
1481 | |.endif | ||
1482 | | checktp CARG2, LJ_TISNUM | ||
1483 | | bhs ->fff_fallback | ||
1484 | | .IOS mov RA, BASE | ||
1485 | | bl extern log | ||
1486 | | .IOS mov BASE, RA | ||
1487 | |.if HFABI | ||
1488 | | b ->fff_resd | ||
1489 | |.else | ||
1490 | | b ->fff_restv | ||
1491 | |.endif | ||
1492 | | | ||
1472 | | math_extern log10 | 1493 | | math_extern log10 |
1473 | | math_extern exp | 1494 | | math_extern exp |
1474 | | math_extern sin | 1495 | | math_extern sin |