Handle joining IR_HIOP in SPLIT pass.
This commit is contained in:
parent
0688de5483
commit
f093a34a2f
@ -365,6 +365,11 @@ static void split_ir(jit_State *J)
|
||||
split_emit(J, IRT(IR_PHI, IRT_SOFTFP),
|
||||
hisubst[ir->op1], hisubst[ir->op2]);
|
||||
break;
|
||||
case IR_HIOP:
|
||||
J->cur.nins--; /* Drop joining HIOP. */
|
||||
ir->prev = nir->op1;
|
||||
hi = nir->op2;
|
||||
break;
|
||||
default:
|
||||
lua_assert(ir->o <= IR_NE || ir->o == IR_MIN || ir->o == IR_MAX);
|
||||
hi = split_emit(J, IRTG(IR_HIOP, IRT_SOFTFP),
|
||||
@ -469,6 +474,11 @@ static void split_ir(jit_State *J)
|
||||
split_emit(J, IRTI(IR_PHI), hiref, hiref2);
|
||||
break;
|
||||
}
|
||||
case IR_HIOP:
|
||||
J->cur.nins--; /* Drop joining HIOP. */
|
||||
ir->prev = nir->op1;
|
||||
hi = nir->op2;
|
||||
break;
|
||||
default:
|
||||
lua_assert(ir->o <= IR_NE); /* Comparisons. */
|
||||
split_emit(J, IRTGI(IR_HIOP), hiref, hisubst[ir->op2]);
|
||||
|
Loading…
Reference in New Issue
Block a user