Mercurial > hg > truffle
changeset 16521:d1b16fe368a0
[SPARC] Fixing dcmp instructions (cmove jump offset)
author | Stefan Anzinger <stefan.anzinger@gmail.com> |
---|---|
date | Mon, 14 Jul 2014 04:42:08 -0700 |
parents | 9a07bf8467a6 |
children | 8bba3477c88c |
files | graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java |
diffstat | 2 files changed, 9 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java Sun Jul 13 17:46:57 2014 -0700 +++ b/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java Mon Jul 14 04:42:08 2014 -0700 @@ -254,7 +254,8 @@ @Override protected int getInstructionBits() { - return super.getInstructionBits() | a << A_SHIFT | cond << COND_SHIFT | (disp22 & DISP22_MASK) << DISP22_SHIFT; + int inst = super.getInstructionBits() | a << A_SHIFT | cond << COND_SHIFT | (disp22 & DISP22_MASK) << DISP22_SHIFT; + return inst; } protected static Fmt00b read(SPARCAssembler masm, Op2s op2, int pos) {
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java Sun Jul 13 17:46:57 2014 -0700 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java Mon Jul 14 04:42:08 2014 -0700 @@ -367,25 +367,25 @@ case Double: switch (cond) { case Equal: - new Fbne(true, 2).emit(masm); + new Fbne(true, 2 * 4).emit(masm); break; case Greater: - new Fble(true, 2).emit(masm); + new Fble(true, 2 * 4).emit(masm); break; case GreaterEqual: - new Fbl(true, 2).emit(masm); + new Fbl(true, 2 * 4).emit(masm); break; case Less: - new Fbge(true, 2).emit(masm); + new Fbge(true, 2 * 4).emit(masm); break; case LessEqual: - new Fbg(true, 2).emit(masm); + new Fbg(true, 2 * 4).emit(masm); break; case F_Ordered: - new Fbo(true, 2).emit(masm); + new Fbo(true, 2 * 4).emit(masm); break; case F_Unordered: - new Fbu(true, 2).emit(masm); + new Fbu(true, 2 * 4).emit(masm); break; default: GraalInternalError.shouldNotReachHere("Unknown condition code " + cond);