summaryrefslogtreecommitdiff
path: root/src/lj_ir.c
diff options
context:
space:
mode:
authorMike Pall <mike>2010-02-24 23:17:17 +0100
committerMike Pall <mike>2010-02-24 23:17:17 +0100
commitb95294572ce8efa527e0b0118bb7168117afd171 (patch)
tree1aa393c982f67b4e558805b12ca5b3f4c26509cb /src/lj_ir.c
parentb32f4f4549b94ea18da1d5b2280c8b6ba0089a9b (diff)
downloadluajit-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.c7
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. */
254LJ_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. */
260static int numistrueint(lua_Number n, int32_t *kp) 255static int numistrueint(lua_Number n, int32_t *kp)
261{ 256{