diff options
author | Mike Pall <mike> | 2010-12-08 01:57:50 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-08 01:57:50 +0100 |
commit | d4d95ee2da57ea2c6f2fa68700b51f8f8251b83d (patch) | |
tree | 44fb9bc7db9f108f0eb8c678a5284606a44cd07f /src | |
parent | e6093b129a9f0fdfeff0a9775edc60cca5b36fa3 (diff) | |
download | luajit-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.c | 1 |
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 | } |