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; |