comparison graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java @ 21347:79b036f0cf0b

[SPARC] Change default to non sign extending load
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Tue, 12 May 2015 19:47:23 +0200
parents 6a00c1217310
children 25bd9e2320de
comparison
equal deleted inserted replaced
21346:5e09292fb017 21347:79b036f0cf0b
50 import com.oracle.graal.lir.sparc.SPARCControlFlow.BranchOp; 50 import com.oracle.graal.lir.sparc.SPARCControlFlow.BranchOp;
51 import com.oracle.graal.lir.sparc.SPARCControlFlow.CondMoveOp; 51 import com.oracle.graal.lir.sparc.SPARCControlFlow.CondMoveOp;
52 import com.oracle.graal.lir.sparc.SPARCControlFlow.ReturnOp; 52 import com.oracle.graal.lir.sparc.SPARCControlFlow.ReturnOp;
53 import com.oracle.graal.lir.sparc.SPARCControlFlow.StrategySwitchOp; 53 import com.oracle.graal.lir.sparc.SPARCControlFlow.StrategySwitchOp;
54 import com.oracle.graal.lir.sparc.SPARCControlFlow.TableSwitchOp; 54 import com.oracle.graal.lir.sparc.SPARCControlFlow.TableSwitchOp;
55 import com.oracle.graal.lir.sparc.SPARCMove.LoadAddressOp; 55 import com.oracle.graal.lir.sparc.SPARCMove.*;
56 import com.oracle.graal.lir.sparc.SPARCMove.LoadDataAddressOp;
57 import com.oracle.graal.lir.sparc.SPARCMove.MembarOp;
58 import com.oracle.graal.lir.sparc.SPARCMove.MoveFpGp;
59 import com.oracle.graal.lir.sparc.SPARCMove.MoveFpGpVIS3;
60 import com.oracle.graal.lir.sparc.SPARCMove.MoveFromRegOp;
61 import com.oracle.graal.lir.sparc.SPARCMove.MoveToRegOp;
62 import com.oracle.graal.lir.sparc.SPARCMove.SPARCStackMove;
63 import com.oracle.graal.lir.sparc.SPARCMove.StackLoadAddressOp;
64 import com.oracle.graal.phases.util.*; 56 import com.oracle.graal.phases.util.*;
65 import com.oracle.graal.sparc.*; 57 import com.oracle.graal.sparc.*;
66 import com.oracle.graal.sparc.SPARC.CPUFeature; 58 import com.oracle.graal.sparc.SPARC.CPUFeature;
67 59
68 /** 60 /**
1068 @Override 1060 @Override
1069 public void emitDeoptimize(Value actionAndReason, Value speculation, LIRFrameState state) { 1061 public void emitDeoptimize(Value actionAndReason, Value speculation, LIRFrameState state) {
1070 append(new ReturnOp(Value.ILLEGAL)); 1062 append(new ReturnOp(Value.ILLEGAL));
1071 } 1063 }
1072 1064
1065 public Value emitSignExtendLoad(LIRKind kind, Value address, LIRFrameState state) {
1066 SPARCAddressValue loadAddress = asAddressValue(address);
1067 Variable result = newVariable(kind);
1068 append(new LoadOp((Kind) kind.getPlatformKind(), result, loadAddress, state, true));
1069 return result;
1070 }
1071
1073 } 1072 }