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 | |
| parent | e6093b129a9f0fdfeff0a9775edc60cca5b36fa3 (diff) | |
| download | luajit-d4d95ee2da57ea2c6f2fa68700b51f8f8251b83d.tar.gz luajit-d4d95ee2da57ea2c6f2fa68700b51f8f8251b83d.tar.bz2 luajit-d4d95ee2da57ea2c6f2fa68700b51f8f8251b83d.zip | |
Fix x64 code generation for A16+REX prefixed instructions.
| -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 | } |
