diff options
Diffstat (limited to 'src/lj_iropt.h')
-rw-r--r-- | src/lj_iropt.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/lj_iropt.h b/src/lj_iropt.h index b5081e06..a59ba3f4 100644 --- a/src/lj_iropt.h +++ b/src/lj_iropt.h | |||
@@ -36,11 +36,11 @@ static LJ_AINLINE IRRef lj_ir_nextins(jit_State *J) | |||
36 | return ref; | 36 | return ref; |
37 | } | 37 | } |
38 | 38 | ||
39 | LJ_FUNC TRef lj_ir_ggfload(jit_State *J, IRType t, uintptr_t ofs); | ||
40 | |||
39 | /* Interning of constants. */ | 41 | /* Interning of constants. */ |
40 | LJ_FUNC TRef LJ_FASTCALL lj_ir_kint(jit_State *J, int32_t k); | 42 | LJ_FUNC TRef LJ_FASTCALL lj_ir_kint(jit_State *J, int32_t k); |
41 | LJ_FUNC void lj_ir_k64_freeall(jit_State *J); | 43 | LJ_FUNC TRef lj_ir_k64(jit_State *J, IROp op, uint64_t u64); |
42 | LJ_FUNC TRef lj_ir_k64(jit_State *J, IROp op, cTValue *tv); | ||
43 | LJ_FUNC cTValue *lj_ir_k64_find(jit_State *J, uint64_t u64); | ||
44 | LJ_FUNC TRef lj_ir_knum_u64(jit_State *J, uint64_t u64); | 44 | LJ_FUNC TRef lj_ir_knum_u64(jit_State *J, uint64_t u64); |
45 | LJ_FUNC TRef lj_ir_knumint(jit_State *J, lua_Number n); | 45 | LJ_FUNC TRef lj_ir_knumint(jit_State *J, lua_Number n); |
46 | LJ_FUNC TRef lj_ir_kint64(jit_State *J, uint64_t u64); | 46 | LJ_FUNC TRef lj_ir_kint64(jit_State *J, uint64_t u64); |
@@ -48,6 +48,7 @@ LJ_FUNC TRef lj_ir_kgc(jit_State *J, GCobj *o, IRType t); | |||
48 | LJ_FUNC TRef lj_ir_kptr_(jit_State *J, IROp op, void *ptr); | 48 | LJ_FUNC TRef lj_ir_kptr_(jit_State *J, IROp op, void *ptr); |
49 | LJ_FUNC TRef lj_ir_knull(jit_State *J, IRType t); | 49 | LJ_FUNC TRef lj_ir_knull(jit_State *J, IRType t); |
50 | LJ_FUNC TRef lj_ir_kslot(jit_State *J, TRef key, IRRef slot); | 50 | LJ_FUNC TRef lj_ir_kslot(jit_State *J, TRef key, IRRef slot); |
51 | LJ_FUNC TRef lj_ir_ktrace(jit_State *J); | ||
51 | 52 | ||
52 | #if LJ_64 | 53 | #if LJ_64 |
53 | #define lj_ir_kintp(J, k) lj_ir_kint64(J, (uint64_t)(k)) | 54 | #define lj_ir_kintp(J, k) lj_ir_kint64(J, (uint64_t)(k)) |
@@ -74,8 +75,8 @@ static LJ_AINLINE TRef lj_ir_knum(jit_State *J, lua_Number n) | |||
74 | #define lj_ir_knum_tobit(J) lj_ir_knum_u64(J, U64x(43380000,00000000)) | 75 | #define lj_ir_knum_tobit(J) lj_ir_knum_u64(J, U64x(43380000,00000000)) |
75 | 76 | ||
76 | /* Special 128 bit SIMD constants. */ | 77 | /* Special 128 bit SIMD constants. */ |
77 | #define lj_ir_knum_abs(J) lj_ir_k64(J, IR_KNUM, LJ_KSIMD(J, LJ_KSIMD_ABS)) | 78 | #define lj_ir_ksimd(J, idx) \ |
78 | #define lj_ir_knum_neg(J) lj_ir_k64(J, IR_KNUM, LJ_KSIMD(J, LJ_KSIMD_NEG)) | 79 | lj_ir_ggfload(J, IRT_NUM, (uintptr_t)LJ_KSIMD(J, idx) - (uintptr_t)J2GG(J)) |
79 | 80 | ||
80 | /* Access to constants. */ | 81 | /* Access to constants. */ |
81 | LJ_FUNC void lj_ir_kvalue(lua_State *L, TValue *tv, const IRIns *ir); | 82 | LJ_FUNC void lj_ir_kvalue(lua_State *L, TValue *tv, const IRIns *ir); |
@@ -149,7 +150,7 @@ LJ_FUNC IRType lj_opt_narrow_forl(jit_State *J, cTValue *forbase); | |||
149 | /* Optimization passes. */ | 150 | /* Optimization passes. */ |
150 | LJ_FUNC void lj_opt_dce(jit_State *J); | 151 | LJ_FUNC void lj_opt_dce(jit_State *J); |
151 | LJ_FUNC int lj_opt_loop(jit_State *J); | 152 | LJ_FUNC int lj_opt_loop(jit_State *J); |
152 | #if LJ_SOFTFP || (LJ_32 && LJ_HASFFI) | 153 | #if LJ_SOFTFP32 || (LJ_32 && LJ_HASFFI) |
153 | LJ_FUNC void lj_opt_split(jit_State *J); | 154 | LJ_FUNC void lj_opt_split(jit_State *J); |
154 | #else | 155 | #else |
155 | #define lj_opt_split(J) UNUSED(J) | 156 | #define lj_opt_split(J) UNUSED(J) |