Search in sources :

Example 1 with AArch64LIRGenerator

use of org.graalvm.compiler.core.aarch64.AArch64LIRGenerator in project graal by oracle.

the class AArch64ReadNode method generate.

@Override
public void generate(NodeLIRBuilderTool gen) {
    AArch64LIRGenerator lirgen = (AArch64LIRGenerator) gen.getLIRGeneratorTool();
    AArch64ArithmeticLIRGenerator arithgen = (AArch64ArithmeticLIRGenerator) lirgen.getArithmetic();
    AArch64Kind readKind = (AArch64Kind) lirgen.getLIRKind(accessStamp).getPlatformKind();
    int resultBits = ((IntegerStamp) stamp(NodeView.DEFAULT)).getBits();
    gen.setResult(this, arithgen.emitExtendMemory(isSigned, readKind, resultBits, (AArch64AddressValue) gen.operand(getAddress()), gen.state(this)));
}
Also used : AArch64ArithmeticLIRGenerator(org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator) IntegerStamp(org.graalvm.compiler.core.common.type.IntegerStamp) AArch64LIRGenerator(org.graalvm.compiler.core.aarch64.AArch64LIRGenerator) AArch64Kind(jdk.vm.ci.aarch64.AArch64Kind) AArch64AddressValue(org.graalvm.compiler.lir.aarch64.AArch64AddressValue)

Aggregations

AArch64Kind (jdk.vm.ci.aarch64.AArch64Kind)1 AArch64ArithmeticLIRGenerator (org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator)1 AArch64LIRGenerator (org.graalvm.compiler.core.aarch64.AArch64LIRGenerator)1 IntegerStamp (org.graalvm.compiler.core.common.type.IntegerStamp)1 AArch64AddressValue (org.graalvm.compiler.lir.aarch64.AArch64AddressValue)1