Mercurial > hg > truffle
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 } |