Add SPLIT pass to split 64 bit IR instructions for 32 bit CPUs.

Add generic HIOP instruction for extra backend functionality.
Add support for HIOP to x86 backend.
Use POWI for 64 bit integer x^k, too.
POWI is lowered to a call by SPLIT or the x64 backend.
This commit is contained in:
Mike Pall
2011-02-02 02:29:37 +01:00
parent c539c0cac8
commit b613216efc
14 changed files with 795 additions and 116 deletions

View File

@@ -394,6 +394,7 @@ static void trace_start(jit_State *J)
J->bcskip = 0;
J->guardemit.irt = 0;
J->postproc = LJ_POST_NONE;
lj_resetsplit(J);
setgcref(J->cur.startpt, obj2gco(J->pt));
L = J->L;
@@ -592,6 +593,7 @@ static TValue *trace_state(lua_State *L, lua_CFunction dummy, void *ud)
}
J->loopref = J->chain[IR_LOOP]; /* Needed by assembler. */
}
lj_opt_split(J);
J->state = LJ_TRACE_ASM;
break;