Mercurial > hg > truffle
diff graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java @ 21022:b4b103d7f46f
[SPARC] Fix performance regression with CBcond; Do not use short branch, when constant fits into simm13 but not in simm5
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Mon, 20 Apr 2015 14:50:16 +0200 |
parents | d3b276db28b8 |
children | 93c50cefb9e8 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java Mon Apr 20 10:24:40 2015 +0200 +++ b/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java Mon Apr 20 14:50:16 2015 +0200 @@ -918,6 +918,10 @@ return isSimm(imm, 13); } + public static boolean isSimm13(JavaConstant constant) { + return constant.isNull() || isSimm13(constant.asLong()); + } + public static boolean isSimm13(long imm) { return NumUtil.isInt(imm) && isSimm(imm, 13); }