diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_asm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c index 367fe430..cd1c0dbd 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
| @@ -1277,7 +1277,8 @@ static Reg asm_fuseload(ASMState *as, IRRef ref, RegSet allow) | |||
| 1277 | } else if (mayfuse(as, ref)) { | 1277 | } else if (mayfuse(as, ref)) { |
| 1278 | RegSet xallow = (allow & RSET_GPR) ? allow : RSET_GPR; | 1278 | RegSet xallow = (allow & RSET_GPR) ? allow : RSET_GPR; |
| 1279 | if (ir->o == IR_SLOAD) { | 1279 | if (ir->o == IR_SLOAD) { |
| 1280 | if (!irt_isint(ir->t) && !(ir->op2 & IRSLOAD_PARENT)) { | 1280 | if (!irt_isint(ir->t) && !(ir->op2 & IRSLOAD_PARENT) && |
| 1281 | noconflict(as, ref, IR_RETF)) { | ||
| 1281 | as->mrm.base = (uint8_t)ra_alloc1(as, REF_BASE, xallow); | 1282 | as->mrm.base = (uint8_t)ra_alloc1(as, REF_BASE, xallow); |
| 1282 | as->mrm.ofs = 8*((int32_t)ir->op1-1); | 1283 | as->mrm.ofs = 8*((int32_t)ir->op1-1); |
| 1283 | as->mrm.idx = RID_NONE; | 1284 | as->mrm.idx = RID_NONE; |
