Mercurial > hg > truffle
diff graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java @ 9825:81d5d8089cda
SPARC float arithmetic
author | Morris Meyer <morris.meyer@oracle.com> |
---|---|
date | Sun, 26 May 2013 13:44:16 -0400 |
parents | 26960d32552c |
children | 5aedcaed6ccf |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java Sun May 26 13:15:51 2013 +0200 +++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java Sun May 26 13:44:16 2013 -0400 @@ -127,7 +127,10 @@ @Override public void emitCompareBranch(Value left, Value right, Condition cond, boolean unorderedIsTrue, LabelRef label) { - throw new InternalError("NYI"); + switch (left.getKind().getStackKind()) { + default: + throw GraalInternalError.shouldNotReachHere("" + left.getKind()); + } } @Override @@ -269,7 +272,21 @@ @Override public Value emitNegate(Value input) { - throw new InternalError("NYI"); + Variable result = newVariable(input.getKind()); + switch (input.getKind()) { + case Int: + append(new Op1Stack(INEG, result, input)); + break; + case Float: + append(new Op1Stack(FNEG, result, input)); + break; + case Double: + append(new Op1Stack(DNEG, result, input)); + break; + default: + throw GraalInternalError.shouldNotReachHere(); + } + return result; } @Override