Search in sources :

Example 1 with AMD64StringIndexOfOp

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

the class AMD64LIRGenerator method emitStringIndexOf.

@Override
public Variable emitStringIndexOf(Value source, Value sourceCount, Value target, Value targetCount, int constantTargetCount) {
    Variable result = newVariable(LIRKind.value(AMD64Kind.DWORD));
    RegisterValue cnt1 = AMD64.rdx.asValue(sourceCount.getValueKind());
    emitMove(cnt1, sourceCount);
    RegisterValue cnt2 = AMD64.rax.asValue(targetCount.getValueKind());
    emitMove(cnt2, targetCount);
    append(new AMD64StringIndexOfOp(this, result, source, target, cnt1, cnt2, AMD64.rcx.asValue(), AMD64.xmm0.asValue(), constantTargetCount, getVMPageSize()));
    return result;
}
Also used : RegisterValue(jdk.vm.ci.code.RegisterValue) Variable(org.graalvm.compiler.lir.Variable) AMD64StringIndexOfOp(org.graalvm.compiler.lir.amd64.AMD64StringIndexOfOp)

Aggregations

RegisterValue (jdk.vm.ci.code.RegisterValue)1 Variable (org.graalvm.compiler.lir.Variable)1 AMD64StringIndexOfOp (org.graalvm.compiler.lir.amd64.AMD64StringIndexOfOp)1