mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-08 07:34:07 +00:00
Add FOLD rule to reassociate 64 bit (x+k1)+k2.
This commit is contained in:
parent
70071241bf
commit
f308e00e03
@ -983,6 +983,20 @@ LJFOLDF(reassoc_intarith_k)
|
|||||||
return NEXTFOLD;
|
return NEXTFOLD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LJFOLD(ADD ADD KINT64)
|
||||||
|
LJFOLDF(reassoc_intarith_k64)
|
||||||
|
{
|
||||||
|
IRIns *irk = IR(fleft->op2);
|
||||||
|
if (irk->o == IR_KINT64) {
|
||||||
|
uint64_t k = ir_kint64(irk)->u64 + ir_kint64(fright)->u64;
|
||||||
|
PHIBARRIER(fleft);
|
||||||
|
fins->op1 = fleft->op1;
|
||||||
|
fins->op2 = (IRRef1)lj_ir_kint64(J, k);
|
||||||
|
return RETRYFOLD; /* (i o k1) o k2 ==> i o (k1 o k2) */
|
||||||
|
}
|
||||||
|
return NEXTFOLD;
|
||||||
|
}
|
||||||
|
|
||||||
LJFOLD(MIN MIN any)
|
LJFOLD(MIN MIN any)
|
||||||
LJFOLD(MAX MAX any)
|
LJFOLD(MAX MAX any)
|
||||||
LJFOLD(BAND BAND any)
|
LJFOLD(BAND BAND any)
|
||||||
|
Loading…
Reference in New Issue
Block a user