Search in sources :

Example 1 with MoveFpGp

use of org.graalvm.compiler.lir.sparc.SPARCMove.MoveFpGp in project graal by oracle.

the class SPARCArithmeticLIRGenerator method moveBetweenFpGp.

private void moveBetweenFpGp(AllocatableValue dst, AllocatableValue src) {
    AllocatableValue tempSlot;
    PlatformKind dstKind = dst.getPlatformKind();
    PlatformKind srcKind = src.getPlatformKind();
    if (getLIRGen().getArchitecture().getFeatures().contains(CPUFeature.VIS3) && !(srcKind == WORD && dstKind == SINGLE) && !(srcKind == SINGLE && dstKind == WORD)) {
        tempSlot = AllocatableValue.ILLEGAL;
    } else {
        tempSlot = getTempSlot(LIRKind.value(XWORD));
    }
    getLIRGen().append(new MoveFpGp(dst, src, tempSlot));
}
Also used : PlatformKind(jdk.vm.ci.meta.PlatformKind) AllocatableValue(jdk.vm.ci.meta.AllocatableValue) MoveFpGp(org.graalvm.compiler.lir.sparc.SPARCMove.MoveFpGp)

Aggregations

AllocatableValue (jdk.vm.ci.meta.AllocatableValue)1 PlatformKind (jdk.vm.ci.meta.PlatformKind)1 MoveFpGp (org.graalvm.compiler.lir.sparc.SPARCMove.MoveFpGp)1