Search in sources :

Example 1 with LLVMAMD64RepNode

use of com.oracle.truffle.llvm.nodes.asm.LLVMAMD64RepNode in project sulong by graalvm.

the class AsmFactory method createRep.

private void createRep(LLVMExpressionNode body) {
    if ("rep".equals(currentPrefix)) {
        LLVMExpressionNode rcx = getOperandLoad(PrimitiveType.I64, new AsmRegisterOperand("rcx"));
        LLVMAMD64WriteValueNode writeRCX = getStore(PrimitiveType.I64, new AsmRegisterOperand("rcx"));
        LLVMExpressionNode rep = new LLVMAMD64RepNode(writeRCX, rcx, body);
        statements.add(rep);
    } else {
        statements.add(body);
    }
}
Also used : LLVMAMD64WriteValueNode(com.oracle.truffle.llvm.nodes.asm.support.LLVMAMD64WriteValueNode) LLVMAMD64RepNode(com.oracle.truffle.llvm.nodes.asm.LLVMAMD64RepNode) LLVMExpressionNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode)

Aggregations

LLVMAMD64RepNode (com.oracle.truffle.llvm.nodes.asm.LLVMAMD64RepNode)1 LLVMAMD64WriteValueNode (com.oracle.truffle.llvm.nodes.asm.support.LLVMAMD64WriteValueNode)1 LLVMExpressionNode (com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode)1