Search in sources :

Example 6 with SPARC

use of jdk.vm.ci.sparc.SPARC in project graal by oracle.

the class BitOpNodesTest method testBitCountInt.

@Test
public void testBitCountInt() {
    Architecture arch = getBackend().getTarget().arch;
    boolean isAmd64WithPopCount = arch instanceof AMD64 && ((AMD64) arch).getFeatures().contains(AMD64.CPUFeature.POPCNT);
    boolean isSparc = arch instanceof SPARC;
    Assume.assumeTrue("Only works on hardware with popcnt at the moment", isAmd64WithPopCount || isSparc);
    ValueNode result = parseAndInline("bitCountIntSnippet");
    Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 8, 24), result.stamp(NodeView.DEFAULT));
}
Also used : AMD64(jdk.vm.ci.amd64.AMD64) SPARC(jdk.vm.ci.sparc.SPARC) Architecture(jdk.vm.ci.code.Architecture) ValueNode(org.graalvm.compiler.nodes.ValueNode) Test(org.junit.Test) GraalCompilerTest(org.graalvm.compiler.core.test.GraalCompilerTest)

Example 7 with SPARC

use of jdk.vm.ci.sparc.SPARC in project graal by oracle.

the class BitOpNodesTest method testBitCountLongEmpty.

@Test
public void testBitCountLongEmpty() {
    Architecture arch = getBackend().getTarget().arch;
    boolean isAmd64WithPopCount = arch instanceof AMD64 && ((AMD64) arch).getFeatures().contains(AMD64.CPUFeature.POPCNT);
    boolean isSparc = arch instanceof SPARC;
    Assume.assumeTrue("Only works on hardware with popcnt at the moment", isAmd64WithPopCount || isSparc);
    ValueNode result = parseAndInline("bitCountLongEmptySnippet");
    Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 40), result.stamp(NodeView.DEFAULT));
}
Also used : AMD64(jdk.vm.ci.amd64.AMD64) SPARC(jdk.vm.ci.sparc.SPARC) Architecture(jdk.vm.ci.code.Architecture) ValueNode(org.graalvm.compiler.nodes.ValueNode) Test(org.junit.Test) GraalCompilerTest(org.graalvm.compiler.core.test.GraalCompilerTest)

Aggregations

SPARC (jdk.vm.ci.sparc.SPARC)7 Architecture (jdk.vm.ci.code.Architecture)5 Test (org.junit.Test)5 AMD64 (jdk.vm.ci.amd64.AMD64)4 GraalCompilerTest (org.graalvm.compiler.core.test.GraalCompilerTest)4 ValueNode (org.graalvm.compiler.nodes.ValueNode)4 Register (jdk.vm.ci.code.Register)1 TargetDescription (jdk.vm.ci.code.TargetDescription)1 ValueUtil.asRegister (jdk.vm.ci.code.ValueUtil.asRegister)1 ValueUtil.isRegister (jdk.vm.ci.code.ValueUtil.isRegister)1 ResolvedJavaMethod (jdk.vm.ci.meta.ResolvedJavaMethod)1 CPUFeature (jdk.vm.ci.sparc.SPARC.CPUFeature)1 SPARCAssembler.isCPURegister (org.graalvm.compiler.asm.sparc.SPARCAssembler.isCPURegister)1 SPARCAssembler.isDoubleFloatRegister (org.graalvm.compiler.asm.sparc.SPARCAssembler.isDoubleFloatRegister)1 SPARCAssembler.isSingleFloatRegister (org.graalvm.compiler.asm.sparc.SPARCAssembler.isSingleFloatRegister)1 ScratchRegister (org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.ScratchRegister)1 PermanentBailoutException (org.graalvm.compiler.core.common.PermanentBailoutException)1 DebugContext (org.graalvm.compiler.debug.DebugContext)1 Scope (org.graalvm.compiler.debug.DebugContext.Scope)1 GraalError (org.graalvm.compiler.debug.GraalError)1