aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-10-05 19:37:56 +0200
committerMike Pall <mike>2010-10-05 19:37:56 +0200
commit8f5efb2c436373680385bb246b860a1cddde5f22 (patch)
tree52e3972981c65091b4ec2d890d4b6ced169ade56 /src
parent793fb4a9ad8bde602f06b0aaf4247aa6bf541211 (diff)
downloadluajit-8f5efb2c436373680385bb246b860a1cddde5f22.tar.gz
luajit-8f5efb2c436373680385bb246b860a1cddde5f22.tar.bz2
luajit-8f5efb2c436373680385bb246b860a1cddde5f22.zip
PPC: Use own implementation for math.floor/ceil() fast functions.
Diffstat (limited to 'src')
-rw-r--r--src/buildvm_ppc.dasc19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/buildvm_ppc.dasc b/src/buildvm_ppc.dasc
index 373492e2..d36cdeda 100644
--- a/src/buildvm_ppc.dasc
+++ b/src/buildvm_ppc.dasc
@@ -1267,8 +1267,23 @@ static void build_subroutines(BuildCtx *ctx)
1267 | b ->fff_restv 1267 | b ->fff_restv
1268 |.endmacro 1268 |.endmacro
1269 | 1269 |
1270 | math_extern floor 1270 |.macro math_round, func
1271 | math_extern ceil 1271 | .ffunc math_ .. func
1272 | cmplwi NARGS8:RC, 8
1273 | evldd CARG2, 0(BASE)
1274 | blt ->fff_fallback
1275 | checknum CARG2
1276 | evmergehi CARG1, CARG2, CARG2
1277 | checkfail ->fff_fallback
1278 | lwz PC, FRAME_PC(BASE)
1279 | bl ->vm_..func.._hilo;
1280 | la RA, -8(BASE)
1281 | evstdd CRET2, 0(RA)
1282 | b ->fff_res1
1283 |.endmacro
1284 |
1285 | math_round floor
1286 | math_round ceil
1272 | 1287 |
1273 | math_extern sqrt 1288 | math_extern sqrt
1274 | math_extern log 1289 | math_extern log