aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-12-08 01:57:50 +0100
committerMike Pall <mike>2010-12-08 01:57:50 +0100
commitd4d95ee2da57ea2c6f2fa68700b51f8f8251b83d (patch)
tree44fb9bc7db9f108f0eb8c678a5284606a44cd07f /src
parente6093b129a9f0fdfeff0a9775edc60cca5b36fa3 (diff)
downloadluajit-d4d95ee2da57ea2c6f2fa68700b51f8f8251b83d.tar.gz
luajit-d4d95ee2da57ea2c6f2fa68700b51f8f8251b83d.tar.bz2
luajit-d4d95ee2da57ea2c6f2fa68700b51f8f8251b83d.zip
Fix x64 code generation for A16+REX prefixed instructions.
Diffstat (limited to 'src')
-rw-r--r--src/lj_asm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index 944b9b78..6231f134 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -155,6 +155,7 @@ static LJ_AINLINE MCode *emit_op(x86Op xo, Reg rr, Reg rb, Reg rx,
155 if (rex != 0x40) { 155 if (rex != 0x40) {
156 rex |= (rr >> 16); 156 rex |= (rr >> 16);
157 if (n == -4) { *p = (MCode)rex; rex = (MCode)(xo >> 8); } 157 if (n == -4) { *p = (MCode)rex; rex = (MCode)(xo >> 8); }
158 else if ((xo & 0xffffff) == 0x6600fd) { *p = (MCode)rex; rex = 0x66; }
158 *--p = (MCode)rex; 159 *--p = (MCode)rex;
159 } 160 }
160 } 161 }