diff options
| author | Mike Pall <mike> | 2010-10-05 19:37:56 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2010-10-05 19:37:56 +0200 |
| commit | 8f5efb2c436373680385bb246b860a1cddde5f22 (patch) | |
| tree | 52e3972981c65091b4ec2d890d4b6ced169ade56 /src | |
| parent | 793fb4a9ad8bde602f06b0aaf4247aa6bf541211 (diff) | |
| download | luajit-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.dasc | 19 |
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 |
