diff options
author | Mike Pall <mike> | 2020-09-25 22:49:23 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2020-09-25 22:49:23 +0200 |
commit | 03a7ebca4f6819658cdaa12ba3af54a17b8035e9 (patch) | |
tree | 7db443f01506db42dc7d7657063c2c32402b2bf9 | |
parent | dd0f09f95f36caf1f2111c10fec02748116003bb (diff) | |
download | luajit-03a7ebca4f6819658cdaa12ba3af54a17b8035e9.tar.gz luajit-03a7ebca4f6819658cdaa12ba3af54a17b8035e9.tar.bz2 luajit-03a7ebca4f6819658cdaa12ba3af54a17b8035e9.zip |
x64: Fix 64 bit shift code generation.
Reported by Philipp Kutin.
Fix contributed by Peter Cawley.
Diffstat (limited to '')
-rw-r--r-- | src/lj_asm_x86.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h index e40b5e54..146371c1 100644 --- a/src/lj_asm_x86.h +++ b/src/lj_asm_x86.h | |||
@@ -2300,7 +2300,7 @@ static void asm_bitshift(ASMState *as, IRIns *ir, x86Shift xs, x86Op xv) | |||
2300 | dest = ra_dest(as, ir, rset_exclude(RSET_GPR, RID_ECX)); | 2300 | dest = ra_dest(as, ir, rset_exclude(RSET_GPR, RID_ECX)); |
2301 | if (dest == RID_ECX) { | 2301 | if (dest == RID_ECX) { |
2302 | dest = ra_scratch(as, rset_exclude(RSET_GPR, RID_ECX)); | 2302 | dest = ra_scratch(as, rset_exclude(RSET_GPR, RID_ECX)); |
2303 | emit_rr(as, XO_MOV, RID_ECX, dest); | 2303 | emit_rr(as, XO_MOV, REX_64IR(ir, RID_ECX), dest); |
2304 | } | 2304 | } |
2305 | right = irr->r; | 2305 | right = irr->r; |
2306 | if (ra_noreg(right)) | 2306 | if (ra_noreg(right)) |