# HG changeset patch # User Stefan Anzinger # Date 1411698558 25200 # Node ID 5eb5446a474d3990510d97b1027c45c231aac060 # Parent 44389818b25b8ee76b8150cc2f05741006c8d01c [SPARC] add additional argument to pass gate diff -r 44389818b25b -r 5eb5446a474d graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java --- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java Thu Sep 25 19:00:36 2014 -0700 +++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java Thu Sep 25 19:29:18 2014 -0700 @@ -74,7 +74,7 @@ return null; } - private ComplexMatchResult emitSignExtendMemory(Access access, int fromBits, int toBits) { + private ComplexMatchResult emitSignExtendMemory(Access access, int fromBits, int toBits, ValueNode addressNode) { assert fromBits <= toBits && toBits <= 64; Kind toKind = null; Kind fromKind = null; @@ -104,7 +104,7 @@ Kind localFromKind = fromKind; Kind localToKind = toKind; return builder -> { - Value address = access.accessLocation().generateAddress(builder, gen, operand(access.object())); + Value address = access.accessLocation().generateAddress(builder, gen, operand(addressNode)); Value v = getLIRGeneratorTool().emitLoad(LIRKind.value(localFromKind), address, getState(access)); return getLIRGeneratorTool().emitReinterpret(LIRKind.value(localToKind), v); }; @@ -113,7 +113,7 @@ @MatchRule("(SignExtend Read=access)") @MatchRule("(SignExtend FloatingRead=access)") - public ComplexMatchResult removeSignExtend(SignExtendNode root, Access access) { - return emitSignExtendMemory(access, root.getInputBits(), root.getResultBits()); + public ComplexMatchResult signExtend(SignExtendNode root, Access access) { + return emitSignExtendMemory(access, root.getInputBits(), root.getResultBits(), access.object()); } }