changeset 17220:5eb5446a474d

[SPARC] add additional argument to pass gate
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Thu, 25 Sep 2014 19:29:18 -0700
parents 44389818b25b
children 05884c6f6b15
files graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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());
     }
 }