diff options
author | Mike Pall <mike> | 2017-02-20 02:51:05 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2017-02-20 02:51:05 +0100 |
commit | 019fb9d1e92b6521a3db2c15c8d0f6922d5250e6 (patch) | |
tree | fee05c57800300f7f63bd3229e9109abe12a35c8 | |
parent | 130d1dc5f243198c2f7800743704057f4e683065 (diff) | |
download | luajit2-019fb9d1e92b6521a3db2c15c8d0f6922d5250e6.tar.gz |
Fix soft-float math.abs() and negation.
Broken since SIMD constants were switched to IR_FLOAD REF_NIL.
-rw-r--r-- | src/lj_opt_split.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_opt_split.c b/src/lj_opt_split.c index 09a85da7..fc935204 100644 --- a/src/lj_opt_split.c +++ b/src/lj_opt_split.c @@ -436,7 +436,8 @@ static void split_ir(jit_State *J) nir->o = IR_CONV; /* Pass through loword. */ nir->op2 = (IRT_INT << 5) | IRT_INT; hi = split_emit(J, IRT(ir->o == IR_NEG ? IR_BXOR : IR_BAND, IRT_SOFTFP), - hisubst[ir->op1], hisubst[ir->op2]); + hisubst[ir->op1], + lj_ir_kint(J, (int32_t)(0x7fffffffu + (ir->o == IR_NEG)))); break; case IR_SLOAD: if ((nir->op2 & IRSLOAD_CONVERT)) { /* Convert from int to number. */ |