diff options
author | Mike Pall <mike> | 2013-01-14 16:03:32 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2013-01-14 16:03:32 +0100 |
commit | 2e8e5876388ccd907ab978fea393540d86972b57 (patch) | |
tree | b54226222909f71c28e08eff895e3ea443b7cbc1 /src/lj_asm_x86.h | |
parent | fec750c892d9de9d910996d841233aa66eebc62d (diff) | |
download | luajit2-2e8e5876388ccd907ab978fea393540d86972b57.tar.gz |
x86/x64: Always mark ref for shift count as non-weak.
Diffstat (limited to 'src/lj_asm_x86.h')
-rw-r--r-- | src/lj_asm_x86.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h index 8cdbadb9..401e3d50 100644 --- a/src/lj_asm_x86.h +++ b/src/lj_asm_x86.h @@ -1999,10 +1999,9 @@ static void asm_bitshift(ASMState *as, IRIns *ir, x86Shift xs) else if (right != RID_ECX) ra_scratch(as, RID2RSET(RID_ECX)); emit_rr(as, XO_SHIFTcl, REX_64IR(ir, xs), dest); - if (right != RID_ECX) { - ra_noweak(as, right); + ra_noweak(as, right); + if (right != RID_ECX) emit_rr(as, XO_MOV, RID_ECX, right); - } } ra_left(as, dest, ir->op1); /* |