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 | luajit-2e8e5876388ccd907ab978fea393540d86972b57.tar.gz luajit-2e8e5876388ccd907ab978fea393540d86972b57.tar.bz2 luajit-2e8e5876388ccd907ab978fea393540d86972b57.zip |
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) | |||
1999 | else if (right != RID_ECX) | 1999 | else if (right != RID_ECX) |
2000 | ra_scratch(as, RID2RSET(RID_ECX)); | 2000 | ra_scratch(as, RID2RSET(RID_ECX)); |
2001 | emit_rr(as, XO_SHIFTcl, REX_64IR(ir, xs), dest); | 2001 | emit_rr(as, XO_SHIFTcl, REX_64IR(ir, xs), dest); |
2002 | if (right != RID_ECX) { | 2002 | ra_noweak(as, right); |
2003 | ra_noweak(as, right); | 2003 | if (right != RID_ECX) |
2004 | emit_rr(as, XO_MOV, RID_ECX, right); | 2004 | emit_rr(as, XO_MOV, RID_ECX, right); |
2005 | } | ||
2006 | } | 2005 | } |
2007 | ra_left(as, dest, ir->op1); | 2006 | ra_left(as, dest, ir->op1); |
2008 | /* | 2007 | /* |