Mercurial > hg > graal-compiler
changeset 16047:692c25719837
Bugfix: Prefix byte missing for AMD64 byte instructions
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Thu, 05 Jun 2014 15:37:57 -0700 |
parents | 942e4b7712e1 |
children | 0498791b33e8 |
files | graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java src/cpu/x86/vm/assembler_x86.cpp |
diffstat | 2 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java Thu Jun 05 12:19:39 2014 -0700 +++ b/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java Thu Jun 05 15:37:57 2014 -0700 @@ -2052,7 +2052,7 @@ if (srcEnc >= 8) { emitByte(Prefix.REXB); srcEnc -= 8; - } else if (byteinst && srcEnc >= 4) { + } else if (byteinst && (srcEnc >= 4 || dstEnc >= 4)) { emitByte(Prefix.REX); } } else {
--- a/src/cpu/x86/vm/assembler_x86.cpp Thu Jun 05 12:19:39 2014 -0700 +++ b/src/cpu/x86/vm/assembler_x86.cpp Thu Jun 05 15:37:57 2014 -0700 @@ -4567,7 +4567,7 @@ if (src_enc >= 8) { prefix(REX_B); src_enc -= 8; - } else if (byteinst && src_enc >= 4) { + } else if (byteinst && (src_enc >= 4 || dst_enc >= 4)) { prefix(REX); } } else {