# HG changeset patch # User Christian Wimmer # Date 1402007877 25200 # Node ID 692c25719837cc1ce7c3f0165b0db765980a3012 # Parent 942e4b7712e11d39596e0a9f6427ef5166370aa4 Bugfix: Prefix byte missing for AMD64 byte instructions diff -r 942e4b7712e1 -r 692c25719837 graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java --- 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 { diff -r 942e4b7712e1 -r 692c25719837 src/cpu/x86/vm/assembler_x86.cpp --- 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 {