summaryrefslogtreecommitdiff
path: root/src/lj_asm_x86.h
diff options
context:
space:
mode:
authorMike Pall <mike>2013-01-14 16:03:32 +0100
committerMike Pall <mike>2013-01-14 16:03:32 +0100
commit2e8e5876388ccd907ab978fea393540d86972b57 (patch)
treeb54226222909f71c28e08eff895e3ea443b7cbc1 /src/lj_asm_x86.h
parentfec750c892d9de9d910996d841233aa66eebc62d (diff)
downloadluajit2-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.h5
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);
/*