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);
     }