diff options
author | Mike Pall <mike> | 2011-06-05 23:37:29 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-06-05 23:38:23 +0200 |
commit | a48058a791266fbbda14363f6f6530aff66b0f23 (patch) | |
tree | c67f5d20b06f8d092de82662d8f0fa6f997580d7 /src/lj_vm.h | |
parent | a175754ab74e35b9d6b1a81b94019d7a720813c1 (diff) | |
download | luajit-a48058a791266fbbda14363f6f6530aff66b0f23.tar.gz luajit-a48058a791266fbbda14363f6f6530aff66b0f23.tar.bz2 luajit-a48058a791266fbbda14363f6f6530aff66b0f23.zip |
ARM: Add fast assembler implementation of floor/ceil/trunc.
Diffstat (limited to 'src/lj_vm.h')
-rw-r--r-- | src/lj_vm.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lj_vm.h b/src/lj_vm.h index ba624dad..3f6777ad 100644 --- a/src/lj_vm.h +++ b/src/lj_vm.h | |||
@@ -45,7 +45,15 @@ LJ_ASMF void lj_vm_callhook(void); | |||
45 | LJ_ASMF void lj_vm_exit_handler(void); | 45 | LJ_ASMF void lj_vm_exit_handler(void); |
46 | LJ_ASMF void lj_vm_exit_interp(void); | 46 | LJ_ASMF void lj_vm_exit_interp(void); |
47 | 47 | ||
48 | /* Handlers callable from compiled code. */ | 48 | /* Internal math helper functions. */ |
49 | #if LJ_TARGET_X86ORX64 | ||
50 | #define lj_vm_floor(x) floor(x) | ||
51 | #define lj_vm_ceil(x) ceil(x) | ||
52 | #else | ||
53 | LJ_ASMF double lj_vm_floor(double); | ||
54 | LJ_ASMF double lj_vm_ceil(double); | ||
55 | #endif | ||
56 | |||
49 | #if LJ_HASJIT | 57 | #if LJ_HASJIT |
50 | #if LJ_TARGET_X86ORX64 | 58 | #if LJ_TARGET_X86ORX64 |
51 | LJ_ASMF void lj_vm_floor_sse(void); | 59 | LJ_ASMF void lj_vm_floor_sse(void); |
@@ -56,8 +64,6 @@ LJ_ASMF void lj_vm_exp2_x87(void); | |||
56 | LJ_ASMF void lj_vm_pow_sse(void); | 64 | LJ_ASMF void lj_vm_pow_sse(void); |
57 | LJ_ASMF void lj_vm_powi_sse(void); | 65 | LJ_ASMF void lj_vm_powi_sse(void); |
58 | #else | 66 | #else |
59 | LJ_ASMF double lj_vm_floor(double); | ||
60 | LJ_ASMF double lj_vm_ceil(double); | ||
61 | LJ_ASMF double lj_vm_trunc(double); | 67 | LJ_ASMF double lj_vm_trunc(double); |
62 | LJ_ASMF double lj_vm_powi(double, int32_t); | 68 | LJ_ASMF double lj_vm_powi(double, int32_t); |
63 | #if defined(__ANDROID__) || defined(__symbian__) | 69 | #if defined(__ANDROID__) || defined(__symbian__) |