Search in sources :

Example 1 with FloatBranchOp

use of org.graalvm.compiler.lir.amd64.AMD64ControlFlow.FloatBranchOp in project graal by oracle.

the class AMD64LIRGenerator method emitCompareBranchMemory.

public void emitCompareBranchMemory(AMD64Kind cmpKind, Value left, AMD64AddressValue right, LIRFrameState state, Condition cond, boolean unorderedIsTrue, LabelRef trueLabel, LabelRef falseLabel, double trueLabelProbability) {
    boolean mirrored = emitCompareMemory(cmpKind, left, right, state);
    Condition finalCondition = mirrored ? cond.mirror() : cond;
    if (cmpKind.isXMM()) {
        append(new FloatBranchOp(finalCondition, unorderedIsTrue, trueLabel, falseLabel, trueLabelProbability));
    } else {
        append(new BranchOp(finalCondition, trueLabel, falseLabel, trueLabelProbability));
    }
}
Also used : Condition(org.graalvm.compiler.core.common.calc.Condition) FloatBranchOp(org.graalvm.compiler.lir.amd64.AMD64ControlFlow.FloatBranchOp) BranchOp(org.graalvm.compiler.lir.amd64.AMD64ControlFlow.BranchOp) FloatBranchOp(org.graalvm.compiler.lir.amd64.AMD64ControlFlow.FloatBranchOp)

Aggregations

Condition (org.graalvm.compiler.core.common.calc.Condition)1 BranchOp (org.graalvm.compiler.lir.amd64.AMD64ControlFlow.BranchOp)1 FloatBranchOp (org.graalvm.compiler.lir.amd64.AMD64ControlFlow.FloatBranchOp)1