mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Must preserve J->fold.ins (fins) around call to lj_ir_ksimd().
This commit is contained in:
parent
22e8e07969
commit
c98660c8c3
@ -998,8 +998,10 @@ LJFOLDF(simplify_nummuldiv_k)
|
|||||||
if (n == 1.0) { /* x o 1 ==> x */
|
if (n == 1.0) { /* x o 1 ==> x */
|
||||||
return LEFTFOLD;
|
return LEFTFOLD;
|
||||||
} else if (n == -1.0) { /* x o -1 ==> -x */
|
} else if (n == -1.0) { /* x o -1 ==> -x */
|
||||||
|
IRRef op1 = fins->op1;
|
||||||
|
fins->op2 = (IRRef1)lj_ir_ksimd(J, LJ_KSIMD_NEG); /* Modifies fins. */
|
||||||
|
fins->op1 = op1;
|
||||||
fins->o = IR_NEG;
|
fins->o = IR_NEG;
|
||||||
fins->op2 = (IRRef1)lj_ir_ksimd(J, LJ_KSIMD_NEG);
|
|
||||||
return RETRYFOLD;
|
return RETRYFOLD;
|
||||||
} else if (fins->o == IR_MUL && n == 2.0) { /* x * 2 ==> x + x */
|
} else if (fins->o == IR_MUL && n == 2.0) { /* x * 2 ==> x + x */
|
||||||
fins->o = IR_ADD;
|
fins->o = IR_ADD;
|
||||||
|
Loading…
Reference in New Issue
Block a user