Class VectorizedMismatchNode

All Implemented Interfaces:
Cloneable, Formattable, FixedNodeInterface, FixedWithNextNodeInterface, MemoryAccess, LIRLowerable, ValueNodeInterface, IntrinsicMethodNodeInterface

public class VectorizedMismatchNode extends PureFunctionStubIntrinsicNode
Returns the index of the first non-equal elements in two memory regions, or -1 if they are equal.
  • Field Details

    • TYPE

      public static final NodeClass<VectorizedMismatchNode> TYPE
    • STUB

      public static final ForeignCallDescriptor STUB
    • arrayA

      protected ValueNode arrayA
      Direct pointer to memory region A.
    • arrayB

      protected ValueNode arrayB
      Direct pointer to memory region B.
    • length

      protected ValueNode length
      Length of the memory region (as number of array elements). The caller is responsible for ensuring that the region, starting at the respective offset, is within array bounds.
    • stride

      protected ValueNode stride
      Element size in log2 format (0: byte, 1: char, 2: int, 3: long).
  • Constructor Details

  • Method Details

    • vectorizedMismatch

      public static int vectorizedMismatch(org.graalvm.word.Pointer arrayA, org.graalvm.word.Pointer arrayB, int length, int stride)
    • vectorizedMismatch

      public static int vectorizedMismatch(org.graalvm.word.Pointer arrayA, org.graalvm.word.Pointer arrayB, int length, int stride, EnumSet<?> runtimeCheckedCPUFeatures)
    • getForeignCallDescriptor

      public ForeignCallDescriptor getForeignCallDescriptor()
    • getForeignCallArguments

      public ValueNode[] getForeignCallArguments()
    • emitIntrinsic

      public void emitIntrinsic(NodeLIRBuilderTool gen)
      Description copied from interface: IntrinsicMethodNodeInterface
      Emit the method body.
    • isSupported

      public static boolean isSupported(jdk.vm.ci.code.Architecture arch)