diff options
-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 | /* |