diff options
author | Mike Pall <mike> | 2010-02-24 23:17:17 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-02-24 23:17:17 +0100 |
commit | b95294572ce8efa527e0b0118bb7168117afd171 (patch) | |
tree | 1aa393c982f67b4e558805b12ca5b3f4c26509cb /src/lj_ir.c | |
parent | b32f4f4549b94ea18da1d5b2280c8b6ba0089a9b (diff) | |
download | luajit-b95294572ce8efa527e0b0118bb7168117afd171.tar.gz luajit-b95294572ce8efa527e0b0118bb7168117afd171.tar.bz2 luajit-b95294572ce8efa527e0b0118bb7168117afd171.zip |
Move SIMD constants to jit_State to keep them in the low 4GB.
Diffstat (limited to 'src/lj_ir.c')
-rw-r--r-- | src/lj_ir.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/lj_ir.c b/src/lj_ir.c index 30ac026b..602be31a 100644 --- a/src/lj_ir.c +++ b/src/lj_ir.c | |||
@@ -235,6 +235,7 @@ TRef lj_ir_knum_addr(jit_State *J, cTValue *tv) | |||
235 | goto found; | 235 | goto found; |
236 | ref = ir_nextk(J); | 236 | ref = ir_nextk(J); |
237 | ir = IR(ref); | 237 | ir = IR(ref); |
238 | lua_assert(checkptr32(tv)); | ||
238 | setmref(ir->ptr, tv); | 239 | setmref(ir->ptr, tv); |
239 | ir->t.irt = IRT_NUM; | 240 | ir->t.irt = IRT_NUM; |
240 | ir->o = IR_KNUM; | 241 | ir->o = IR_KNUM; |
@@ -250,12 +251,6 @@ TRef lj_ir_knum_nn(jit_State *J, uint64_t nn) | |||
250 | return lj_ir_knum_addr(J, ir_knum_find(J, nn)); | 251 | return lj_ir_knum_addr(J, ir_knum_find(J, nn)); |
251 | } | 252 | } |
252 | 253 | ||
253 | /* Special 16 byte aligned SIMD constants. */ | ||
254 | LJ_DATADEF LJ_ALIGN(16) cTValue lj_ir_knum_tv[4] = { | ||
255 | { U64x(7fffffff,ffffffff) }, { U64x(7fffffff,ffffffff) }, | ||
256 | { U64x(80000000,00000000) }, { U64x(80000000,00000000) } | ||
257 | }; | ||
258 | |||
259 | /* Check whether a number is int and return it. -0 is NOT considered an int. */ | 254 | /* Check whether a number is int and return it. -0 is NOT considered an int. */ |
260 | static int numistrueint(lua_Number n, int32_t *kp) | 255 | static int numistrueint(lua_Number n, int32_t *kp) |
261 | { | 256 | { |