use of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp in project graal by oracle.
the class AArch64ArithmeticLIRGenerator method emitBinaryConst.
private void emitBinaryConst(Variable result, AArch64ArithmeticOp op, AllocatableValue a, JavaConstant b) {
AllocatableValue x = moveSp(a);
getLIRGen().append(new AArch64ArithmeticOp.BinaryConstOp(op, result, x, b));
}
use of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp in project graal by oracle.
the class AArch64ArithmeticLIRGenerator method emitBinaryVar.
private void emitBinaryVar(Variable result, AArch64ArithmeticOp op, AllocatableValue a, AllocatableValue b) {
AllocatableValue x = moveSp(a);
AllocatableValue y = moveSp(b);
switch(op) {
case FREM:
case REM:
case UREM:
getLIRGen().append(new AArch64ArithmeticOp.BinaryCompositeOp(op, result, x, y));
break;
default:
getLIRGen().append(new AArch64ArithmeticOp.BinaryOp(op, result, x, y));
break;
}
}
use of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp in project graal by oracle.
the class AArch64ArithmeticLIRGenerator method emitUnary.
private Variable emitUnary(AArch64ArithmeticOp op, Value inputVal) {
AllocatableValue input = getLIRGen().asAllocatable(inputVal);
Variable result = getLIRGen().newVariable(LIRKind.combine(input));
getLIRGen().append(new AArch64ArithmeticOp.UnaryOp(op, result, input));
return result;
}
Aggregations