# HG changeset patch # User Gilles Duboscq # Date 1391791874 -3600 # Node ID d25c52a893d93c4562f882611383d19b3fca0869 # Parent fac51a64fda01f1680f1aeb047b5337ca9f26abe Add specialization for int to BitScanForwardNode to avoid unnecessary sign-extension to long. Contributed-by: Daniel Sturm diff -r fac51a64fda0 -r d25c52a893d9 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java Fri Feb 07 16:24:31 2014 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java Fri Feb 07 17:51:14 2014 +0100 @@ -66,6 +66,11 @@ return index; } + @NodeIntrinsic + public static int scan(int v) { + return scan(v & 0xFFFFFFFFL); + } + @Override public void generate(LIRGenerator gen) { Variable result = gen.newVariable(Kind.Int);