summaryrefslogtreecommitdiff
path: root/src/vm_arm.dasc
diff options
context:
space:
mode:
authorMike Pall <mike>2012-10-07 15:47:11 +0200
committerMike Pall <mike>2012-10-07 15:47:11 +0200
commit0561a5693884d76db5b75f7cc746478b325b311b (patch)
treebeef0d8674adf5b0f24a101e4e92613ee85e996e /src/vm_arm.dasc
parent0d62e2e1ab450a2d2d2291dc9da43606bd573bf7 (diff)
downloadluajit2-0561a5693884d76db5b75f7cc746478b325b311b.tar.gz
From Lua 5.2: Add math.log(x, base).
Diffstat (limited to 'src/vm_arm.dasc')
-rw-r--r--src/vm_arm.dasc23
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)
| math_extern sqrt
|.endif
|
- | math_extern log
+ |.ffunc math_log
+ |.if HFABI
+ | ldr CARG2, [BASE, #4]
+ | cmp NARGS8:RC, #8 // Need exactly 1 argument.
+ | vldr d0, [BASE]
+ | bne ->fff_fallback
+ |.else
+ | ldrd CARG12, [BASE]
+ | cmp NARGS8:RC, #8 // Need exactly 1 argument.
+ | bne ->fff_fallback
+ |.endif
+ | checktp CARG2, LJ_TISNUM
+ | bhs ->fff_fallback
+ | .IOS mov RA, BASE
+ | bl extern log
+ | .IOS mov BASE, RA
+ |.if HFABI
+ | b ->fff_resd
+ |.else
+ | b ->fff_restv
+ |.endif
+ |
| math_extern log10
| math_extern exp
| math_extern sin