FFI: Record 64 bit integer comparisons and pointer comparisons.

This commit is contained in:
Mike Pall
2011-01-17 01:23:04 +01:00
parent 83d8c86bbb
commit f385af7084
4 changed files with 49 additions and 28 deletions

View File

@@ -2927,7 +2927,7 @@ static void asm_comp_(ASMState *as, IRIns *ir, int cc)
IROp leftop = (IROp)(IR(lref)->o);
Reg r64 = REX_64IR(ir, 0);
int32_t imm = 0;
lua_assert(irt_isint(ir->t) || irt_isaddr(ir->t));
lua_assert(irt_is64(ir->t) || irt_isint(ir->t) || irt_isaddr(ir->t));
/* Swap constants (only for ABC) and fusable loads to the right. */
if (irref_isk(lref) || (!irref_isk(rref) && opisfusableload(leftop))) {
if ((cc & 0xc) == 0xc) cc ^= 3; /* L <-> G, LE <-> GE */