Search in sources :

Example 1 with AArch64ArithmeticOp

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));
}
Also used : AArch64ArithmeticOp(org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp) AllocatableValue(jdk.vm.ci.meta.AllocatableValue)

Example 2 with AArch64ArithmeticOp

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;
    }
}
Also used : AArch64ArithmeticOp(org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp) AllocatableValue(jdk.vm.ci.meta.AllocatableValue)

Example 3 with AArch64ArithmeticOp

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;
}
Also used : Variable(org.graalvm.compiler.lir.Variable) AArch64ArithmeticOp(org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp) AllocatableValue(jdk.vm.ci.meta.AllocatableValue)

Aggregations

AllocatableValue (jdk.vm.ci.meta.AllocatableValue)3 AArch64ArithmeticOp (org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp)3 Variable (org.graalvm.compiler.lir.Variable)1