public final class org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp extends org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
  super_class: org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
{
  public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp> TYPE;
    descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;>;

  private final jdk.vm.ci.meta.JavaKind valueKind;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int nValues;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean findTwoConsecutive;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.amd64.AMD64Kind vectorKind;
    descriptor: Ljdk/vm/ci/amd64/AMD64Kind;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int arrayBaseOffset;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.asm.amd64.AMD64Address$Scale arrayIndexScale;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected jdk.vm.ci.meta.Value resultValue;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Def(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value arrayPtrValue;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value arrayLengthValue;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value fromIndexValue;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value searchValue1;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value searchValue2;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value searchValue3;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value searchValue4;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value comparisonResult1;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value comparisonResult2;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value vectorCompareVal1;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value vectorCompareVal2;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value vectorCompareVal3;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value vectorCompareVal4;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value vectorArray1;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value vectorArray2;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value vectorArray3;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  protected jdk.vm.ci.meta.Value vectorArray4;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 69
            ldc Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
         3: .line 70
            ldc Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
            putstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, boolean, int, org.graalvm.compiler.lir.gen.LIRGeneratorTool, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[]);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;ZILorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=11, args_size=11
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
        start local 1 // jdk.vm.ci.meta.JavaKind arrayKind
        start local 2 // jdk.vm.ci.meta.JavaKind valueKind
        start local 3 // boolean findTwoConsecutive
        start local 4 // int maxVectorSize
        start local 5 // org.graalvm.compiler.lir.gen.LIRGeneratorTool tool
        start local 6 // jdk.vm.ci.meta.Value result
        start local 7 // jdk.vm.ci.meta.Value arrayPtr
        start local 8 // jdk.vm.ci.meta.Value arrayLength
        start local 9 // jdk.vm.ci.meta.Value fromIndex
        start local 10 // jdk.vm.ci.meta.Value[] searchValues
         0: .line 100
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
         1: .line 101
            aload 0 /* this */
            aload 2 /* valueKind */
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
         2: .line 102
            aload 0 /* this */
            aload 5 /* tool */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getProviders:()Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
            invokeinterface org.graalvm.compiler.core.common.spi.CodeGenProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* arrayKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayBaseOffset:I
         3: .line 103
            aload 0 /* this */
            aload 5 /* tool */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getProviders:()Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
            invokeinterface org.graalvm.compiler.core.common.spi.CodeGenProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 2 /* valueKind */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            invokestatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.fromInt:(I)Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.asm.amd64.AMD64Address$Scale
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayIndexScale:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
         4: .line 104
            aload 0 /* this */
            iload 3 /* findTwoConsecutive */
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
         5: .line 105
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
            ifne 7
            aload 10 /* searchValues */
            arraylength
            ifle 6
            aload 10 /* searchValues */
            arraylength
            iconst_4
            if_icmple 7
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack:
         6: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 106
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
            ifne 8
            aload 2 /* valueKind */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifne 8
            aload 2 /* valueKind */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 107
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
            ifne 9
            aload 5 /* tool */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supports:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifne 9
            aload 5 /* tool */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supports:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifne 9
            aload 5 /* tool */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supportsAVX2:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* searchValues */
            arraylength
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
        10: .line 109
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
            ifne 11
            iload 3 /* findTwoConsecutive */
            ifeq 11
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_1
            if_icmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* result */
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.resultValue:Ljdk/vm/ci/meta/Value;
        12: .line 111
            aload 0 /* this */
            aload 7 /* arrayPtr */
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayPtrValue:Ljdk/vm/ci/meta/Value;
        13: .line 112
            aload 0 /* this */
            aload 8 /* arrayLength */
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayLengthValue:Ljdk/vm/ci/meta/Value;
        14: .line 113
            aload 0 /* this */
            aload 9 /* fromIndex */
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.fromIndexValue:Ljdk/vm/ci/meta/Value;
        15: .line 114
            aload 0 /* this */
            aload 10 /* searchValues */
            iconst_0
            aaload
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue1:Ljdk/vm/ci/meta/Value;
        16: .line 115
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_1
            if_icmple 17
            aload 10 /* searchValues */
            iconst_1
            aaload
            goto 18
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        17: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
        18: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue2:Ljdk/vm/ci/meta/Value;
        19: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_2
            if_icmple 20
            aload 10 /* searchValues */
            iconst_2
            aaload
            goto 21
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        20: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
        21: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue3:Ljdk/vm/ci/meta/Value;
        22: .line 117
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_3
            if_icmple 23
            aload 10 /* searchValues */
            iconst_3
            aaload
            goto 24
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        23: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
        24: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue4:Ljdk/vm/ci/meta/Value;
        25: .line 118
            aload 0 /* this */
            aload 5 /* tool */
            aload 5 /* tool */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult1:Ljdk/vm/ci/meta/Value;
        26: .line 119
            aload 0 /* this */
            iload 3 /* findTwoConsecutive */
            ifeq 27
            aload 5 /* tool */
            aload 5 /* tool */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            goto 28
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        27: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
        28: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult2:Ljdk/vm/ci/meta/Value;
        29: .line 120
            aload 0 /* this */
            aload 5 /* tool */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supportsAVX2:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Z
            ifeq 32
            iload 4 /* maxVectorSize */
            iflt 30
            iload 4 /* maxVectorSize */
            bipush 32
            if_icmplt 32
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        30: aload 2 /* valueKind */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifeq 31
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            goto 34
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        31: getstatic jdk.vm.ci.amd64.AMD64Kind.V256_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            goto 34
        32: .line 121
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
            aload 2 /* valueKind */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifeq 33
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            goto 34
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        33: getstatic jdk.vm.ci.amd64.AMD64Kind.V128_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
        34: .line 120
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.amd64.AMD64Kind
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
        35: .line 122
            aload 0 /* this */
            aload 5 /* tool */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal1:Ljdk/vm/ci/meta/Value;
        36: .line 123
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_1
            if_icmple 37
            aload 5 /* tool */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            goto 38
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        37: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
        38: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal2:Ljdk/vm/ci/meta/Value;
        39: .line 124
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_2
            if_icmple 40
            aload 5 /* tool */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            goto 41
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        40: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
        41: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal3:Ljdk/vm/ci/meta/Value;
        42: .line 125
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_3
            if_icmple 43
            aload 5 /* tool */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            goto 44
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
        43: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
        44: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal4:Ljdk/vm/ci/meta/Value;
        45: .line 126
            aload 0 /* this */
            aload 5 /* tool */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray1:Ljdk/vm/ci/meta/Value;
        46: .line 127
            aload 0 /* this */
            aload 5 /* tool */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray2:Ljdk/vm/ci/meta/Value;
        47: .line 128
            aload 0 /* this */
            aload 5 /* tool */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray3:Ljdk/vm/ci/meta/Value;
        48: .line 129
            aload 0 /* this */
            aload 5 /* tool */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray4:Ljdk/vm/ci/meta/Value;
        49: .line 130
            return
        end local 10 // jdk.vm.ci.meta.Value[] searchValues
        end local 9 // jdk.vm.ci.meta.Value fromIndex
        end local 8 // jdk.vm.ci.meta.Value arrayLength
        end local 7 // jdk.vm.ci.meta.Value arrayPtr
        end local 6 // jdk.vm.ci.meta.Value result
        end local 5 // org.graalvm.compiler.lir.gen.LIRGeneratorTool tool
        end local 4 // int maxVectorSize
        end local 3 // boolean findTwoConsecutive
        end local 2 // jdk.vm.ci.meta.JavaKind valueKind
        end local 1 // jdk.vm.ci.meta.JavaKind arrayKind
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   50     0                this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            0   50     1           arrayKind  Ljdk/vm/ci/meta/JavaKind;
            0   50     2           valueKind  Ljdk/vm/ci/meta/JavaKind;
            0   50     3  findTwoConsecutive  Z
            0   50     4       maxVectorSize  I
            0   50     5                tool  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            0   50     6              result  Ljdk/vm/ci/meta/Value;
            0   50     7            arrayPtr  Ljdk/vm/ci/meta/Value;
            0   50     8         arrayLength  Ljdk/vm/ci/meta/Value;
            0   50     9           fromIndex  Ljdk/vm/ci/meta/Value;
            0   50    10        searchValues  [Ljdk/vm/ci/meta/Value;
    MethodParameters:
                    Name  Flags
      arrayKind           
      valueKind           
      findTwoConsecutive  
      maxVectorSize       
      tool                
      result              
      arrayPtr            
      arrayLength         
      fromIndex           
      searchValues        

  private static boolean byteMode(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind kind
         0: .line 133
            aload 0 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  private static boolean charMode(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind kind
         0: .line 137
            aload 0 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  private jdk.vm.ci.meta.JavaKind getComparisonKind();
    descriptor: ()Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
         0: .line 141
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 2
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifeq 1
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            goto 3
      StackMap locals:
      StackMap stack:
         1: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.JavaKind
         3: areturn
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;

  private org.graalvm.compiler.asm.amd64.AVXKind$AVXSize getVectorSize();
    descriptor: ()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
         0: .line 145
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.asm.amd64.AVXKind.getDataSize:(Ljdk/vm/ci/amd64/AMD64Kind;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            areturn
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;

  public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=30, args_size=3
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
        start local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
         0: .line 150
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_1
            if_icmpne 1
            iconst_4
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_2
            if_icmpne 2
            iconst_2
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* nVectors */
        start local 3 // int nVectors
         4: .line 151
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayPtrValue:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 4 /* arrayPtr */
        start local 4 // jdk.vm.ci.code.Register arrayPtr
         5: .line 152
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayLengthValue:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 5 /* arrayLength */
        start local 5 // jdk.vm.ci.code.Register arrayLength
         6: .line 153
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.fromIndexValue:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 6 /* fromIndex */
        start local 6 // jdk.vm.ci.code.Register fromIndex
         7: .line 154
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.resultValue:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 7 /* index */
        start local 7 // jdk.vm.ci.code.Register index
         8: .line 155
            iconst_4
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
         9: .line 156
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            ifle 10
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue1:Ljdk/vm/ci/meta/Value;
            goto 11
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int
        10: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value
        11: aastore
            dup
            iconst_1
        12: .line 157
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_1
            if_icmple 13
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue2:Ljdk/vm/ci/meta/Value;
            goto 14
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int
        13: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value
        14: aastore
            dup
            iconst_2
        15: .line 158
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_2
            if_icmple 16
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue3:Ljdk/vm/ci/meta/Value;
            goto 17
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int
        16: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value
        17: aastore
            dup
            iconst_3
        18: .line 159
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_3
            if_icmple 19
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue4:Ljdk/vm/ci/meta/Value;
            goto 20
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int
        19: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value
        20: aastore
        21: .line 155
            astore 8 /* searchValue */
        start local 8 // jdk.vm.ci.meta.Value[] searchValue
        22: .line 161
            iconst_4
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
        23: .line 162
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            ifle 24
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal1:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            goto 25
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
        24: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
        25: aastore
            dup
            iconst_1
        26: .line 163
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_1
            if_icmple 27
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal2:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            goto 28
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
        27: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
        28: aastore
            dup
            iconst_2
        29: .line 164
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_2
            if_icmple 30
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal3:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            goto 31
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
        30: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
        31: aastore
            dup
            iconst_3
        32: .line 165
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_3
            if_icmple 33
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal4:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            goto 34
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
        33: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
        34: aastore
        35: .line 161
            astore 9 /* vecCmp */
        start local 9 // jdk.vm.ci.code.Register[] vecCmp
        36: .line 167
            iconst_4
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
        37: .line 168
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray1:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
        38: .line 169
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray2:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
        39: .line 170
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray3:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
        40: .line 171
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray4:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aastore
        41: .line 167
            astore 10 /* vecArray */
        start local 10 // jdk.vm.ci.code.Register[] vecArray
        42: .line 173
            iconst_2
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
        43: .line 174
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult1:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
        44: .line 175
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 45
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult2:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            goto 46
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
        45: aconst_null
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[]
      StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
        46: aastore
        47: .line 173
            astore 11 /* cmpResult */
        start local 11 // jdk.vm.ci.code.Register[] cmpResult
        48: .line 177
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 12 /* ret */
        start local 12 // org.graalvm.compiler.asm.Label ret
        49: .line 179
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 13 /* bulkVectorLoop */
        start local 13 // org.graalvm.compiler.asm.Label bulkVectorLoop
        50: .line 180
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 14 /* singleVectorLoop */
        start local 14 // org.graalvm.compiler.asm.Label singleVectorLoop
        51: .line 181
            iconst_4
            anewarray org.graalvm.compiler.asm.Label
            dup
            iconst_0
        52: .line 182
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            aastore
            dup
            iconst_1
        53: .line 183
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            aastore
            dup
            iconst_2
        54: .line 184
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            aastore
            dup
            iconst_3
        55: .line 185
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            aastore
        56: .line 181
            astore 15 /* vectorFound */
        start local 15 // org.graalvm.compiler.asm.Label[] vectorFound
        57: .line 187
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 16 /* runVectorized */
        start local 16 // org.graalvm.compiler.asm.Label runVectorized
        58: .line 188
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 17 /* elementWiseLoop */
        start local 17 // org.graalvm.compiler.asm.Label elementWiseLoop
        59: .line 189
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 18 /* elementWiseFound */
        start local 18 // org.graalvm.compiler.asm.Label elementWiseFound
        60: .line 190
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 19 /* elementWiseNotFound */
        start local 19 // org.graalvm.compiler.asm.Label elementWiseNotFound
        61: .line 191
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 20 /* skipBulkVectorLoop */
        start local 20 // org.graalvm.compiler.asm.Label skipBulkVectorLoop
        62: .line 192
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            idiv
            istore 21 /* vectorSize */
        start local 21 // int vectorSize
        63: .line 193
            iload 21 /* vectorSize */
            iload 3 /* nVectors */
            imul
            istore 22 /* bulkSize */
        start local 22 // int bulkSize
        64: .line 194
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            astore 23 /* vectorCompareKind */
        start local 23 // jdk.vm.ci.meta.JavaKind vectorCompareKind
        65: .line 195
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 70
        66: .line 196
            iload 22 /* bulkSize */
            iconst_2
            idiv
            istore 22 /* bulkSize */
        67: .line 197
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifeq 68
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            goto 69
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind
      StackMap stack:
        68: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.JavaKind
        69: astore 23 /* vectorCompareKind */
        70: .line 202
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
        71: new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            aload 6 /* fromIndex */
            iload 21 /* vectorSize */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 72
            iconst_1
            goto 73
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register new 71 new 71 jdk.vm.ci.code.Register int
        72: iconst_0
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register new 71 new 71 jdk.vm.ci.code.Register int int
        73: iadd
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
        74: .line 205
            aload 2 /* asm */
            aload 7 /* index */
            aload 5 /* arrayLength */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.LessEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 16 /* runVectorized */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
            pop
        75: .line 210
            aload 2 /* asm */
            aload 7 /* index */
            iload 21 /* vectorSize */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
        76: .line 212
            aload 2 /* asm */
            aload 7 /* index */
            aload 5 /* arrayLength */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.GreaterEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 19 /* elementWiseNotFound */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
            pop
        77: .line 214
            aload 2 /* asm */
            aload 17 /* elementWiseLoop */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
        78: .line 216
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getComparisonKind:()Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getOpSize:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 24 /* cmpSize */
        start local 24 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize cmpSize
        79: .line 218
            new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            aload 4 /* arrayPtr */
            aload 7 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayIndexScale:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayBaseOffset:I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 80
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            goto 81
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack: new 79 new 79 jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address$Scale int
        80: iconst_0
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack: new 79 new 79 jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address$Scale int int
        81: isub
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;I)V
            astore 25 /* arrayAddr */
        start local 25 // org.graalvm.compiler.asm.amd64.AMD64Address arrayAddr
        82: .line 219
            aload 0 /* this */
            aload 8 /* searchValue */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValuesOnStack:([Ljdk/vm/ci/meta/Value;)Z
            istore 26 /* valuesOnStack */
        start local 26 // boolean valuesOnStack
        83: .line 220
            iload 26 /* valuesOnStack */
            ifeq 101
        84: .line 221
            aload 24 /* cmpSize */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 85
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            goto 86
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack:
        85: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp
        86: aload 2 /* asm */
            aload 24 /* cmpSize */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 25 /* arrayAddr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
        87: .line 222
            iconst_0
            istore 27 /* i */
        start local 27 // int i
        88: goto 99
        89: .line 223
      StackMap locals: int
      StackMap stack:
            aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.isConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 93
        90: .line 224
            aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            istore 28 /* imm */
        start local 28 // int imm
        91: .line 225
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 24 /* cmpSize */
            iload 28 /* imm */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getMIOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Z)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 2 /* asm */
            aload 24 /* cmpSize */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            iload 28 /* imm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;I)V
        end local 28 // int imm
        92: .line 226
            goto 97
      StackMap locals:
      StackMap stack:
        93: aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 96
        94: .line 227
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 24 /* cmpSize */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 2 /* asm */
            aload 24 /* cmpSize */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 1 /* crb */
            aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.asAddress:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/AbstractAddress;
            checkcast org.graalvm.compiler.asm.amd64.AMD64Address
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
        95: .line 228
            goto 97
        96: .line 229
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 24 /* cmpSize */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 2 /* asm */
            aload 24 /* cmpSize */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        97: .line 232
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 18 /* elementWiseFound */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
        98: .line 222
            iinc 27 /* i */ 1
      StackMap locals:
      StackMap stack:
        99: iload 27 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            if_icmplt 89
        end local 27 // int i
       100: .line 234
            goto 111
       101: .line 235
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 27 /* i */
        start local 27 // int i
       102: goto 110
       103: .line 236
      StackMap locals: int
      StackMap stack:
            aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.isConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 107
       104: .line 237
            aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            istore 28 /* imm */
        start local 28 // int imm
       105: .line 238
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 24 /* cmpSize */
            iload 28 /* imm */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getMIOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Z)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 2 /* asm */
            aload 24 /* cmpSize */
            aload 25 /* arrayAddr */
            iload 28 /* imm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
        end local 28 // int imm
       106: .line 239
            goto 108
       107: .line 240
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 24 /* cmpSize */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 2 /* asm */
            aload 24 /* cmpSize */
            aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 25 /* arrayAddr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
       108: .line 243
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 18 /* elementWiseFound */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
       109: .line 235
            iinc 27 /* i */ 1
      StackMap locals:
      StackMap stack:
       110: iload 27 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            if_icmplt 103
        end local 27 // int i
       111: .line 247
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.incrementq:(Ljdk/vm/ci/code/Register;I)V
       112: .line 249
            aload 2 /* asm */
            aload 7 /* index */
            aload 5 /* arrayLength */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Less:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 17 /* elementWiseLoop */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
            pop
       113: .line 251
            aload 2 /* asm */
            aload 19 /* elementWiseNotFound */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       114: .line 252
            aload 2 /* asm */
            aload 7 /* index */
            aload 7 /* index */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.xorq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       115: .line 254
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 119
       116: .line 255
            aload 2 /* asm */
            aload 18 /* elementWiseFound */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       117: .line 256
            aload 2 /* asm */
            aload 7 /* index */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decrementq:(Ljdk/vm/ci/code/Register;I)V
       118: .line 257
            goto 121
       119: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decrementq:(Ljdk/vm/ci/code/Register;I)V
       120: .line 259
            aload 2 /* asm */
            aload 18 /* elementWiseFound */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       121: .line 261
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 12 /* ret */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
       122: .line 264
            aload 2 /* asm */
            aload 16 /* runVectorized */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       123: .line 267
            iconst_0
            istore 27 /* i */
        start local 27 // int i
       124: goto 127
       125: .line 269
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* crb */
            aload 2 /* asm */
            aload 9 /* vecCmp */
            iload 27 /* i */
            aaload
            aload 8 /* searchValue */
            iload 27 /* i */
            aaload
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 10 /* vecArray */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.broadcastSearchValue:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       126: .line 267
            iinc 27 /* i */ 1
      StackMap locals:
      StackMap stack:
       127: iload 27 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            if_icmplt 125
        end local 27 // int i
       128: .line 273
            aload 0 /* this */
            aload 2 /* asm */
            aload 23 /* vectorCompareKind */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 129
            iconst_2
            goto 130
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind
       129: iconst_1
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int
       130: aload 4 /* arrayPtr */
            aload 7 /* index */
            aload 9 /* vecCmp */
            aload 10 /* vecArray */
            aload 11 /* cmpResult */
            aload 15 /* vectorFound */
            iconst_0
            iconst_0
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
       131: .line 276
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            aload 4 /* arrayPtr */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayBaseOffset:I
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
       132: .line 277
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifeq 134
       133: .line 278
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrq:(Ljdk/vm/ci/code/Register;I)V
       134: .line 280
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       135: .line 282
            aload 2 /* asm */
            aload 7 /* index */
            iload 21 /* vectorSize */
            iconst_1
            isub
            iconst_m1
            ixor
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andq:(Ljdk/vm/ci/code/Register;I)V
       136: .line 283
            aload 2 /* asm */
            aload 7 /* index */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       137: .line 285
            aload 2 /* asm */
            aload 7 /* index */
            iload 22 /* bulkSize */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
       138: .line 288
            aload 2 /* asm */
            aload 7 /* index */
            aload 5 /* arrayLength */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Greater:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 20 /* skipBulkVectorLoop */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
            pop
       139: .line 290
            aload 1 /* crb */
            aload 2 /* asm */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitAlign:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
       140: .line 291
            aload 2 /* asm */
            aload 13 /* bulkVectorLoop */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       141: .line 293
            aload 0 /* this */
            aload 2 /* asm */
            aload 23 /* vectorCompareKind */
            iload 3 /* nVectors */
            aload 4 /* arrayPtr */
            aload 7 /* index */
            aload 9 /* vecCmp */
            aload 10 /* vecArray */
            aload 11 /* cmpResult */
            aload 15 /* vectorFound */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 142
            iconst_0
            goto 143
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label[] int
       142: iconst_1
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label[] int int
       143: invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
       144: .line 295
            aload 2 /* asm */
            aload 7 /* index */
            iload 22 /* bulkSize */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
       145: .line 297
            aload 2 /* asm */
            aload 7 /* index */
            aload 5 /* arrayLength */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.LessEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 13 /* bulkVectorLoop */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
            pop
       146: .line 299
            aload 2 /* asm */
            aload 20 /* skipBulkVectorLoop */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       147: .line 300
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 148
            iload 3 /* nVectors */
            iconst_2
            if_icmpeq 149
      StackMap locals:
      StackMap stack:
       148: iload 3 /* nVectors */
            iconst_1
            if_icmpne 154
       149: .line 302
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            aload 5 /* arrayLength */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       150: .line 304
            aload 0 /* this */
            aload 2 /* asm */
            aload 23 /* vectorCompareKind */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 151
            iconst_2
            goto 152
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind
       151: iconst_1
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int
       152: aload 4 /* arrayPtr */
            aload 7 /* index */
            aload 9 /* vecCmp */
            aload 10 /* vecArray */
            aload 11 /* cmpResult */
            aload 15 /* vectorFound */
            iconst_1
            iconst_0
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
       153: .line 305
            goto 164
       154: .line 307
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            iload 22 /* bulkSize */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
       155: .line 308
            aload 1 /* crb */
            aload 2 /* asm */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitAlign:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
       156: .line 310
            aload 2 /* asm */
            aload 14 /* singleVectorLoop */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       157: .line 312
            aload 2 /* asm */
            aload 7 /* index */
            iload 21 /* vectorSize */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
       158: .line 314
            aload 2 /* asm */
            aload 7 /* index */
            aload 5 /* arrayLength */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       159: .line 316
            aload 2 /* asm */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Greater:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 7 /* index */
            aload 5 /* arrayLength */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmovq:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       160: .line 318
            aload 0 /* this */
            aload 2 /* asm */
            aload 23 /* vectorCompareKind */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 161
            iconst_2
            goto 162
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind
       161: iconst_1
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
      StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int
       162: aload 4 /* arrayPtr */
            aload 7 /* index */
            aload 9 /* vecCmp */
            aload 10 /* vecArray */
            aload 11 /* cmpResult */
            aload 15 /* vectorFound */
            iconst_1
            iconst_0
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
       163: .line 320
            aload 2 /* asm */
            aload 7 /* index */
            aload 5 /* arrayLength */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Less:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 14 /* singleVectorLoop */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
            pop
       164: .line 323
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            iconst_m1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
       165: .line 324
            aload 2 /* asm */
            aload 12 /* ret */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
       166: .line 326
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 199
       167: .line 327
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 27 /* vectorFound2Done */
        start local 27 // org.graalvm.compiler.asm.Label vectorFound2Done
       168: .line 330
            aload 2 /* asm */
            aload 15 /* vectorFound */
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       169: .line 332
            aload 2 /* asm */
            aload 7 /* index */
            aload 0 /* this */
            iconst_2
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
       170: .line 333
            aload 2 /* asm */
            aload 27 /* vectorFound2Done */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
       171: .line 335
            aload 2 /* asm */
            aload 15 /* vectorFound */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       172: .line 337
            aload 2 /* asm */
            aload 7 /* index */
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
       173: .line 338
            aload 2 /* asm */
            aload 27 /* vectorFound2Done */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       174: .line 340
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       175: .line 341
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifeq 177
       176: .line 343
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
       177: .line 346
      StackMap locals: org.graalvm.compiler.asm.Label
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       178: .line 347
            aload 2 /* asm */
            aload 12 /* ret */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
       179: .line 349
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 28 /* minResult */
        start local 28 // org.graalvm.compiler.asm.Label minResult
       180: .line 350
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 29 /* minResultDone */
        start local 29 // org.graalvm.compiler.asm.Label minResultDone
       181: .line 353
            iload 3 /* nVectors */
            iconst_2
            if_icmple 185
       182: .line 354
            aload 2 /* asm */
            aload 15 /* vectorFound */
            iconst_3
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       183: .line 356
            aload 2 /* asm */
            aload 7 /* index */
            aload 0 /* this */
            iconst_3
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
       184: .line 357
            aload 2 /* asm */
            aload 28 /* minResult */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
       185: .line 360
      StackMap locals: org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
      StackMap stack:
            aload 2 /* asm */
            aload 15 /* vectorFound */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       186: .line 362
            aload 2 /* asm */
            aload 7 /* index */
            aload 0 /* this */
            iconst_1
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
       187: .line 364
            aload 2 /* asm */
            aload 28 /* minResult */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       188: .line 366
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_1
            aaload
            aload 11 /* cmpResult */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       189: .line 368
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 11 /* cmpResult */
            iconst_0
            aaload
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 29 /* minResultDone */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
            pop
       190: .line 370
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       191: .line 371
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
       192: .line 373
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_1
            aaload
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       193: .line 374
            aload 2 /* asm */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Greater:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 11 /* cmpResult */
            iconst_1
            aaload
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmovq:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       194: .line 375
            aload 2 /* asm */
            aload 29 /* minResultDone */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       195: .line 376
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifeq 197
       196: .line 378
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_1
            aaload
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
       197: .line 381
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            aload 11 /* cmpResult */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        end local 29 // org.graalvm.compiler.asm.Label minResultDone
        end local 28 // org.graalvm.compiler.asm.Label minResult
        end local 27 // org.graalvm.compiler.asm.Label vectorFound2Done
       198: .line 382
            goto 213
       199: .line 383
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 27 /* end */
        start local 27 // org.graalvm.compiler.asm.Label end
       200: .line 384
            iconst_0
            istore 28 /* i */
        start local 28 // int i
       201: goto 207
       202: .line 385
      StackMap locals: org.graalvm.compiler.asm.Label int
      StackMap stack:
            aload 2 /* asm */
            aload 15 /* vectorFound */
            iload 28 /* i */
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       203: .line 387
            aload 2 /* asm */
            aload 7 /* index */
            aload 0 /* this */
            iload 28 /* i */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
       204: .line 388
            iload 28 /* i */
            iload 3 /* nVectors */
            iconst_1
            isub
            if_icmpge 206
       205: .line 389
            aload 2 /* asm */
            aload 27 /* end */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
       206: .line 384
      StackMap locals:
      StackMap stack:
            iinc 28 /* i */ 1
      StackMap locals:
      StackMap stack:
       207: iload 28 /* i */
            iload 3 /* nVectors */
            if_icmplt 202
        end local 28 // int i
       208: .line 392
            aload 2 /* asm */
            aload 27 /* end */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       209: .line 394
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
       210: .line 395
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
            ifeq 212
       211: .line 397
            aload 2 /* asm */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
       212: .line 400
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 7 /* index */
            aload 11 /* cmpResult */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        end local 27 // org.graalvm.compiler.asm.Label end
       213: .line 402
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 12 /* ret */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
       214: .line 403
            return
        end local 26 // boolean valuesOnStack
        end local 25 // org.graalvm.compiler.asm.amd64.AMD64Address arrayAddr
        end local 24 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize cmpSize
        end local 23 // jdk.vm.ci.meta.JavaKind vectorCompareKind
        end local 22 // int bulkSize
        end local 21 // int vectorSize
        end local 20 // org.graalvm.compiler.asm.Label skipBulkVectorLoop
        end local 19 // org.graalvm.compiler.asm.Label elementWiseNotFound
        end local 18 // org.graalvm.compiler.asm.Label elementWiseFound
        end local 17 // org.graalvm.compiler.asm.Label elementWiseLoop
        end local 16 // org.graalvm.compiler.asm.Label runVectorized
        end local 15 // org.graalvm.compiler.asm.Label[] vectorFound
        end local 14 // org.graalvm.compiler.asm.Label singleVectorLoop
        end local 13 // org.graalvm.compiler.asm.Label bulkVectorLoop
        end local 12 // org.graalvm.compiler.asm.Label ret
        end local 11 // jdk.vm.ci.code.Register[] cmpResult
        end local 10 // jdk.vm.ci.code.Register[] vecArray
        end local 9 // jdk.vm.ci.code.Register[] vecCmp
        end local 8 // jdk.vm.ci.meta.Value[] searchValue
        end local 7 // jdk.vm.ci.code.Register index
        end local 6 // jdk.vm.ci.code.Register fromIndex
        end local 5 // jdk.vm.ci.code.Register arrayLength
        end local 4 // jdk.vm.ci.code.Register arrayPtr
        end local 3 // int nVectors
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        end local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  215     0                 this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            0  215     1                  crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0  215     2                  asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            4  215     3             nVectors  I
            5  215     4             arrayPtr  Ljdk/vm/ci/code/Register;
            6  215     5          arrayLength  Ljdk/vm/ci/code/Register;
            7  215     6            fromIndex  Ljdk/vm/ci/code/Register;
            8  215     7                index  Ljdk/vm/ci/code/Register;
           22  215     8          searchValue  [Ljdk/vm/ci/meta/Value;
           36  215     9               vecCmp  [Ljdk/vm/ci/code/Register;
           42  215    10             vecArray  [Ljdk/vm/ci/code/Register;
           48  215    11            cmpResult  [Ljdk/vm/ci/code/Register;
           49  215    12                  ret  Lorg/graalvm/compiler/asm/Label;
           50  215    13       bulkVectorLoop  Lorg/graalvm/compiler/asm/Label;
           51  215    14     singleVectorLoop  Lorg/graalvm/compiler/asm/Label;
           57  215    15          vectorFound  [Lorg/graalvm/compiler/asm/Label;
           58  215    16        runVectorized  Lorg/graalvm/compiler/asm/Label;
           59  215    17      elementWiseLoop  Lorg/graalvm/compiler/asm/Label;
           60  215    18     elementWiseFound  Lorg/graalvm/compiler/asm/Label;
           61  215    19  elementWiseNotFound  Lorg/graalvm/compiler/asm/Label;
           62  215    20   skipBulkVectorLoop  Lorg/graalvm/compiler/asm/Label;
           63  215    21           vectorSize  I
           64  215    22             bulkSize  I
           65  215    23    vectorCompareKind  Ljdk/vm/ci/meta/JavaKind;
           79  215    24              cmpSize  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           82  215    25            arrayAddr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
           83  215    26        valuesOnStack  Z
           88  100    27                    i  I
           91   92    28                  imm  I
          102  111    27                    i  I
          105  106    28                  imm  I
          124  128    27                    i  I
          168  198    27     vectorFound2Done  Lorg/graalvm/compiler/asm/Label;
          180  198    28            minResult  Lorg/graalvm/compiler/asm/Label;
          181  198    29        minResultDone  Lorg/graalvm/compiler/asm/Label;
          200  213    27                  end  Lorg/graalvm/compiler/asm/Label;
          201  208    28                    i  I
    MethodParameters:
      Name  Flags
      crb   
      asm   

  private boolean searchValuesOnStack(jdk.vm.ci.meta.Value[]);
    descriptor: ([Ljdk/vm/ci/meta/Value;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
        start local 1 // jdk.vm.ci.meta.Value[] searchValue
         0: .line 406
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 407
      StackMap locals: int
      StackMap stack:
            aload 1 /* searchValue */
            iload 2 /* i */
            aaload
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
         3: .line 408
            iconst_1
            ireturn
         4: .line 406
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            if_icmplt 2
        end local 2 // int i
         6: .line 411
            iconst_0
            ireturn
        end local 1 // jdk.vm.ci.meta.Value[] searchValue
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            0    7     1  searchValue  [Ljdk/vm/ci/meta/Value;
            1    6     2            i  I
    MethodParameters:
             Name  Flags
      searchValue  

  private int getResultIndexDelta(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
        start local 1 // int i
         0: .line 415
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 1
            iload 1 /* i */
            iconst_2
            idiv
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* i */
      StackMap locals:
      StackMap stack: int
         2: iconst_1
            iadd
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            idiv
            imul
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifeq 3
            iload 1 /* i */
            iconst_1
            iand
            goto 4
      StackMap locals:
      StackMap stack: int
         3: iconst_0
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp int
      StackMap stack: int int
         4: iadd
            ireturn
        end local 1 // int i
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            0    5     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private int getVectorOffset(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
        start local 1 // int i
         0: .line 419
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayBaseOffset:I
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            imul
            isub
            ireturn
        end local 1 // int i
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private void broadcastSearchValue(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
        start local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        start local 3 // jdk.vm.ci.code.Register dst
        start local 4 // jdk.vm.ci.meta.Value srcVal
        start local 5 // jdk.vm.ci.code.Register tmpReg
        start local 6 // jdk.vm.ci.code.Register tmpVector
         0: .line 423
            aload 1 /* crb */
            aload 2 /* asm */
            aload 4 /* srcVal */
            aload 5 /* tmpReg */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.asRegOrTmpReg:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/Register;
            astore 7 /* src */
        start local 7 // jdk.vm.ci.code.Register src
         1: .line 424
            aload 2 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 4
         2: .line 425
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
            aload 2 /* asm */
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 3 /* dst */
            aload 7 /* src */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 426
            goto 5
         4: .line 427
      StackMap locals: jdk.vm.ci.code.Register
      StackMap stack:
            aload 2 /* asm */
            aload 3 /* dst */
            aload 7 /* src */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         5: .line 429
      StackMap locals:
      StackMap stack:
            aload 2 /* asm */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getComparisonKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 3 /* dst */
            aload 6 /* tmpVector */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitBroadcast:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
         6: .line 430
            return
        end local 7 // jdk.vm.ci.code.Register src
        end local 6 // jdk.vm.ci.code.Register tmpVector
        end local 5 // jdk.vm.ci.code.Register tmpReg
        end local 4 // jdk.vm.ci.meta.Value srcVal
        end local 3 // jdk.vm.ci.code.Register dst
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        end local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            0    7     1        crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    7     2        asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0    7     3        dst  Ljdk/vm/ci/code/Register;
            0    7     4     srcVal  Ljdk/vm/ci/meta/Value;
            0    7     5     tmpReg  Ljdk/vm/ci/code/Register;
            0    7     6  tmpVector  Ljdk/vm/ci/code/Register;
            1    7     7        src  Ljdk/vm/ci/code/Register;
    MethodParameters:
           Name  Flags
      crb        
      asm        
      dst        
      srcVal     
      tmpReg     
      tmpVector  

  private static boolean isConstant(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.Value val
         0: .line 433
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
            ifne 1
            aload 0 /* val */
            instanceof org.graalvm.compiler.lir.ConstantValue
            ifeq 1
            aload 0 /* val */
            checkcast org.graalvm.compiler.lir.ConstantValue
            invokevirtual org.graalvm.compiler.lir.ConstantValue.isJavaConstant:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            instanceof org.graalvm.compiler.lir.ConstantValue
            ireturn
        end local 0 // jdk.vm.ci.meta.Value val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   val  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      val   

  private static jdk.vm.ci.meta.JavaConstant asConstant(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.Value val
         0: .line 438
            aload 0 /* val */
            checkcast org.graalvm.compiler.lir.ConstantValue
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 0 // jdk.vm.ci.meta.Value val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   val  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      val   

  private static jdk.vm.ci.code.Register asRegOrTmpReg(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.Value, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/Register;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        start local 2 // jdk.vm.ci.meta.Value val
        start local 3 // jdk.vm.ci.code.Register tmpReg
         0: .line 442
            aload 2 /* val */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 443
            aload 2 /* val */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            areturn
         2: .line 444
      StackMap locals:
      StackMap stack:
            aload 2 /* val */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         3: .line 445
            aload 1 /* asm */
            aload 3 /* tmpReg */
            aload 0 /* crb */
            aload 2 /* val */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.asAddress:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/AbstractAddress;
            checkcast org.graalvm.compiler.asm.amd64.AMD64Address
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
         4: .line 446
            aload 3 /* tmpReg */
            areturn
         5: .line 448
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
            ifne 6
            aload 2 /* val */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.isConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 3 /* tmpReg */
            aload 2 /* val */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
         7: .line 450
            aload 3 /* tmpReg */
            areturn
        end local 3 // jdk.vm.ci.code.Register tmpReg
        end local 2 // jdk.vm.ci.meta.Value val
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0     crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    8     1     asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0    8     2     val  Ljdk/vm/ci/meta/Value;
            0    8     3  tmpReg  Ljdk/vm/ci/code/Register;
    MethodParameters:
        Name  Flags
      crb     
      asm     
      val     
      tmpReg  

  private static void emitAlign(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
         0: .line 455
            aload 1 /* asm */
            aload 0 /* crb */
            getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            iconst_2
            imul
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.align:(I)V
         1: .line 456
            return
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    2     1   asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
    MethodParameters:
      Name  Flags
      crb   
      asm   

  private static void emitBroadcast(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // jdk.vm.ci.code.Register vecDst
        start local 3 // jdk.vm.ci.code.Register vecTmp
        start local 4 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
         0: .line 462
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 1
                    3: 16
                    4: 16
                    5: 26
              default: 34
          }
         1: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 4
         2: .line 465
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPBROADCASTB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
            aload 0 /* asm */
            aload 4 /* vectorSize */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 466
            goto 35
      StackMap locals:
      StackMap stack:
         4: aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 8
         5: .line 467
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPXOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 0 /* asm */
            aload 4 /* vectorSize */
            aload 3 /* vecTmp */
            aload 3 /* vecTmp */
            aload 3 /* vecTmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         6: .line 468
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPSHUFB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 0 /* asm */
            aload 4 /* vectorSize */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            aload 3 /* vecTmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         7: .line 469
            goto 35
      StackMap locals:
      StackMap stack:
         8: aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSSE3:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 12
         9: .line 470
            aload 0 /* asm */
            aload 3 /* vecTmp */
            aload 3 /* vecTmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        10: .line 471
            aload 0 /* asm */
            aload 2 /* vecDst */
            aload 3 /* vecTmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshufb:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        11: .line 472
            goto 35
        12: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.punpcklbw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        13: .line 474
            aload 0 /* asm */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.punpcklbw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        14: .line 475
            aload 0 /* asm */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshufd:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        15: .line 477
            goto 35
        16: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 19
        17: .line 481
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPBROADCASTW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
            aload 0 /* asm */
            aload 4 /* vectorSize */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        18: .line 482
            goto 35
      StackMap locals:
      StackMap stack:
        19: aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 23
        20: .line 483
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFLW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
            aload 0 /* asm */
            aload 4 /* vectorSize */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        21: .line 484
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
            aload 0 /* asm */
            aload 4 /* vectorSize */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        22: .line 485
            goto 35
        23: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshuflw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        24: .line 487
            aload 0 /* asm */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshufd:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        25: .line 489
            goto 35
        26: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 29
        27: .line 492
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPBROADCASTD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
            aload 0 /* asm */
            aload 4 /* vectorSize */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        28: .line 493
            goto 35
      StackMap locals:
      StackMap stack:
        29: aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 32
        30: .line 494
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
            aload 0 /* asm */
            aload 4 /* vectorSize */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        31: .line 495
            goto 35
        32: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            aload 2 /* vecDst */
            aload 2 /* vecDst */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshufd:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        33: .line 498
            goto 35
        34: .line 500
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        35: .line 502
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        end local 3 // jdk.vm.ci.code.Register vecTmp
        end local 2 // jdk.vm.ci.code.Register vecDst
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0         asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0   36     1        kind  Ljdk/vm/ci/meta/JavaKind;
            0   36     2      vecDst  Ljdk/vm/ci/code/Register;
            0   36     3      vecTmp  Ljdk/vm/ci/code/Register;
            0   36     4  vectorSize  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
    MethodParameters:
            Name  Flags
      asm         
      kind        
      vecDst      
      vecTmp      
      vectorSize  

  private void emitVectorCompare(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register[], jdk.vm.ci.code.Register[], jdk.vm.ci.code.Register[], org.graalvm.compiler.asm.Label[], boolean, boolean);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=15, args_size=12
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        start local 2 // jdk.vm.ci.meta.JavaKind kind
        start local 3 // int nVectors
        start local 4 // jdk.vm.ci.code.Register arrayPtr
        start local 5 // jdk.vm.ci.code.Register index
        start local 6 // jdk.vm.ci.code.Register[] vecCmp
        start local 7 // jdk.vm.ci.code.Register[] vecArray
        start local 8 // jdk.vm.ci.code.Register[] cmpResult
        start local 9 // org.graalvm.compiler.asm.Label[] vectorFound
        start local 10 // boolean shortJmp
        start local 11 // boolean alignedLoad
         0: .line 516
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         1: goto 9
         2: .line 517
      StackMap locals: int
      StackMap stack:
            iload 12 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            imul
            istore 13 /* base */
        start local 13 // int base
         3: .line 518
            iconst_0
            istore 14 /* j */
        start local 14 // int j
         4: goto 7
         5: .line 519
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* asm */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 7 /* vecArray */
            iload 13 /* base */
            iload 14 /* j */
            iadd
            aaload
            aload 4 /* arrayPtr */
            aload 5 /* index */
            aload 0 /* this */
            iload 3 /* nVectors */
            iload 12 /* i */
            iconst_1
            iadd
            isub
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorOffset:(I)I
            iload 11 /* alignedLoad */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitArrayLoad:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IZ)V
         6: .line 518
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
         7: iload 14 /* j */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            if_icmplt 5
        end local 14 // int j
        end local 13 // int base
         8: .line 516
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 12 /* i */
            iload 3 /* nVectors */
            if_icmplt 2
        end local 12 // int i
        10: .line 524
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
            ifne 28
        11: .line 525
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        12: goto 26
        13: .line 526
      StackMap locals:
      StackMap stack:
            iload 12 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            imul
            istore 13 /* base */
        start local 13 // int base
        14: .line 527
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        15: goto 20
        16: .line 528
      StackMap locals: int int
      StackMap stack:
            aload 1 /* asm */
            aload 2 /* kind */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 7 /* vecArray */
            iload 13 /* base */
            iload 14 /* j */
            iadd
            aaload
            aload 6 /* vecCmp */
            iload 14 /* j */
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompareInst:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        17: .line 529
            iload 14 /* j */
            iconst_1
            iand
            iconst_1
            if_icmpne 19
        18: .line 530
            aload 1 /* asm */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 7 /* vecArray */
            iload 13 /* base */
            iload 14 /* j */
            iadd
            iconst_1
            isub
            aaload
            aload 7 /* vecArray */
            iload 13 /* base */
            iload 14 /* j */
            iadd
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitPOR:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        19: .line 527
      StackMap locals:
      StackMap stack:
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 14 /* j */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            if_icmplt 16
        end local 14 // int j
        21: .line 533
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
            iconst_2
            if_icmple 23
        22: .line 534
            aload 1 /* asm */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 7 /* vecArray */
            iload 13 /* base */
            aaload
            aload 7 /* vecArray */
            iload 13 /* base */
            iconst_2
            iadd
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitPOR:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        23: .line 536
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 8 /* cmpResult */
            iconst_0
            aaload
            aload 7 /* vecArray */
            iload 13 /* base */
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitMOVMSK:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        24: .line 537
            aload 1 /* asm */
            aload 8 /* cmpResult */
            iconst_0
            aaload
            aload 8 /* cmpResult */
            iconst_0
            aaload
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 9 /* vectorFound */
            iload 3 /* nVectors */
            iload 12 /* i */
            iconst_1
            iadd
            isub
            aaload
            iload 10 /* shortJmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
        end local 13 // int base
        25: .line 525
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 12 /* i */
            iload 3 /* nVectors */
            if_icmplt 13
        end local 12 // int i
        27: .line 539
            goto 38
        28: .line 540
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        29: goto 37
        30: .line 541
      StackMap locals: int
      StackMap stack:
            aload 1 /* asm */
            aload 2 /* kind */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 7 /* vecArray */
            iload 12 /* i */
            aaload
            aload 6 /* vecCmp */
            iconst_0
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompareInst:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        31: .line 542
            aload 1 /* asm */
            aload 2 /* kind */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 7 /* vecArray */
            iload 12 /* i */
            iconst_1
            iadd
            aaload
            aload 6 /* vecCmp */
            iconst_0
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompareInst:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        32: .line 543
            aload 1 /* asm */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 8 /* cmpResult */
            iconst_1
            aaload
            aload 7 /* vecArray */
            iload 12 /* i */
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitMOVMSK:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        33: .line 544
            aload 1 /* asm */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 8 /* cmpResult */
            iconst_0
            aaload
            aload 7 /* vecArray */
            iload 12 /* i */
            iconst_1
            iadd
            aaload
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitMOVMSK:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        34: .line 545
            aload 1 /* asm */
            aload 8 /* cmpResult */
            iconst_1
            aaload
            aload 8 /* cmpResult */
            iconst_1
            aaload
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 9 /* vectorFound */
            iload 3 /* nVectors */
            iload 12 /* i */
            iconst_1
            iadd
            isub
            aaload
            iload 10 /* shortJmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
        35: .line 546
            aload 1 /* asm */
            aload 8 /* cmpResult */
            iconst_0
            aaload
            aload 8 /* cmpResult */
            iconst_0
            aaload
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 9 /* vectorFound */
            iload 3 /* nVectors */
            iload 12 /* i */
            iconst_2
            iadd
            isub
            aaload
            iload 10 /* shortJmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
        36: .line 540
            iinc 12 /* i */ 2
      StackMap locals:
      StackMap stack:
        37: iload 12 /* i */
            iload 3 /* nVectors */
            if_icmplt 30
        end local 12 // int i
        38: .line 549
      StackMap locals:
      StackMap stack:
            return
        end local 11 // boolean alignedLoad
        end local 10 // boolean shortJmp
        end local 9 // org.graalvm.compiler.asm.Label[] vectorFound
        end local 8 // jdk.vm.ci.code.Register[] cmpResult
        end local 7 // jdk.vm.ci.code.Register[] vecArray
        end local 6 // jdk.vm.ci.code.Register[] vecCmp
        end local 5 // jdk.vm.ci.code.Register index
        end local 4 // jdk.vm.ci.code.Register arrayPtr
        end local 3 // int nVectors
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   39     0         this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            0   39     1          asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0   39     2         kind  Ljdk/vm/ci/meta/JavaKind;
            0   39     3     nVectors  I
            0   39     4     arrayPtr  Ljdk/vm/ci/code/Register;
            0   39     5        index  Ljdk/vm/ci/code/Register;
            0   39     6       vecCmp  [Ljdk/vm/ci/code/Register;
            0   39     7     vecArray  [Ljdk/vm/ci/code/Register;
            0   39     8    cmpResult  [Ljdk/vm/ci/code/Register;
            0   39     9  vectorFound  [Lorg/graalvm/compiler/asm/Label;
            0   39    10     shortJmp  Z
            0   39    11  alignedLoad  Z
            1   10    12            i  I
            3    8    13         base  I
            4    8    14            j  I
           12   27    12            i  I
           14   25    13         base  I
           15   21    14            j  I
           29   38    12            i  I
    MethodParameters:
             Name  Flags
      asm          
      kind         
      nVectors     
      arrayPtr     
      index        
      vecCmp       
      vecArray     
      cmpResult    
      vectorFound  
      shortJmp     
      alignedLoad  

  private void emitArrayLoad(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, boolean);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=8
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        start local 2 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        start local 3 // jdk.vm.ci.code.Register vecDst
        start local 4 // jdk.vm.ci.code.Register arrayPtr
        start local 5 // jdk.vm.ci.code.Register index
        start local 6 // int offset
        start local 7 // boolean alignedLoad
         0: .line 552
            new org.graalvm.compiler.asm.amd64.AMD64Address
            dup
            aload 4 /* arrayPtr */
            aload 5 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayIndexScale:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            iload 6 /* offset */
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;I)V
            astore 8 /* src */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64Address src
         1: .line 553
            aload 1 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 7
         2: .line 554
            iload 7 /* alignedLoad */
            ifeq 3
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQA32:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
            goto 4
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Address
      StackMap stack:
         3: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQU32:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp
         4: astore 9 /* loadOp */
        start local 9 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp loadOp
         5: .line 555
            aload 9 /* loadOp */
            aload 1 /* asm */
            aload 2 /* vectorSize */
            aload 3 /* vecDst */
            aload 8 /* src */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
        end local 9 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp loadOp
         6: .line 556
            goto 8
         7: .line 558
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 3 /* vecDst */
            aload 8 /* src */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
         8: .line 560
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Address src
        end local 7 // boolean alignedLoad
        end local 6 // int offset
        end local 5 // jdk.vm.ci.code.Register index
        end local 4 // jdk.vm.ci.code.Register arrayPtr
        end local 3 // jdk.vm.ci.code.Register vecDst
        end local 2 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
            0    9     1          asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0    9     2   vectorSize  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    9     3       vecDst  Ljdk/vm/ci/code/Register;
            0    9     4     arrayPtr  Ljdk/vm/ci/code/Register;
            0    9     5        index  Ljdk/vm/ci/code/Register;
            0    9     6       offset  I
            0    9     7  alignedLoad  Z
            1    9     8          src  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            5    6     9       loadOp  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
    MethodParameters:
             Name  Flags
      asm          
      vectorSize   
      vecDst       
      arrayPtr     
      index        
      offset       
      alignedLoad  

  private static void emitVectorCompareInst(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        start local 3 // jdk.vm.ci.code.Register vecArray
        start local 4 // jdk.vm.ci.code.Register vecCmp
         0: .line 567
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 1
                    3: 6
                    4: 6
                    5: 11
              default: 16
          }
         1: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 4
         2: .line 570
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPCMPEQB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 0 /* asm */
            aload 2 /* vectorSize */
            aload 3 /* vecArray */
            aload 4 /* vecCmp */
            aload 3 /* vecArray */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 571
            goto 17
         4: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            aload 3 /* vecArray */
            aload 4 /* vecCmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pcmpeqb:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         5: .line 574
            goto 17
         6: .line 577
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 9
         7: .line 578
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPCMPEQW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 0 /* asm */
            aload 2 /* vectorSize */
            aload 3 /* vecArray */
            aload 4 /* vecCmp */
            aload 3 /* vecArray */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         8: .line 579
            goto 17
         9: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            aload 3 /* vecArray */
            aload 4 /* vecCmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pcmpeqw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        10: .line 582
            goto 17
        11: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 14
        12: .line 585
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPCMPEQD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 0 /* asm */
            aload 2 /* vectorSize */
            aload 3 /* vecArray */
            aload 4 /* vecCmp */
            aload 3 /* vecArray */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        13: .line 586
            goto 17
        14: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            aload 3 /* vecArray */
            aload 4 /* vecCmp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pcmpeqd:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        15: .line 589
            goto 17
        16: .line 591
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        17: .line 593
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register vecCmp
        end local 3 // jdk.vm.ci.code.Register vecArray
        end local 2 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0         asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0   18     1        kind  Ljdk/vm/ci/meta/JavaKind;
            0   18     2  vectorSize  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0   18     3    vecArray  Ljdk/vm/ci/code/Register;
            0   18     4      vecCmp  Ljdk/vm/ci/code/Register;
    MethodParameters:
            Name  Flags
      asm         
      kind        
      vectorSize  
      vecArray    
      vecCmp      

  private static void emitPOR(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        start local 1 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register vecSrc
         0: .line 596
            aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 3
         1: .line 597
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 0 /* asm */
            aload 1 /* vectorSize */
            aload 2 /* dst */
            aload 2 /* dst */
            aload 3 /* vecSrc */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         2: .line 598
            goto 4
         3: .line 600
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            aload 2 /* dst */
            aload 3 /* vecSrc */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.por:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         4: .line 602
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.code.Register vecSrc
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0         asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0    5     1  vectorSize  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    5     2         dst  Ljdk/vm/ci/code/Register;
            0    5     3      vecSrc  Ljdk/vm/ci/code/Register;
    MethodParameters:
            Name  Flags
      asm         
      vectorSize  
      dst         
      vecSrc      

  private static void emitMOVMSK(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
        start local 1 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register vecSrc
         0: .line 605
            aload 0 /* asm */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 3
         1: .line 606
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVMSKB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
            aload 0 /* asm */
            aload 1 /* vectorSize */
            aload 2 /* dst */
            aload 3 /* vecSrc */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         2: .line 607
            goto 4
         3: .line 609
      StackMap locals:
      StackMap stack:
            aload 0 /* asm */
            aload 2 /* dst */
            aload 3 /* vecSrc */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovmskb:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         4: .line 611
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.code.Register vecSrc
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0         asm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0    5     1  vectorSize  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    5     2         dst  Ljdk/vm/ci/code/Register;
            0    5     3      vecSrc  Ljdk/vm/ci/code/Register;
    MethodParameters:
            Name  Flags
      asm         
      vectorSize  
      dst         
      vecSrc      

  private static org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize getOpSize(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind kind
         0: .line 614
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 1
                    3: 2
                    4: 2
                    5: 3
              default: 4
          }
         1: .line 616
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         2: .line 619
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         3: .line 621
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         4: .line 623
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
        end local 0 // jdk.vm.ci.meta.JavaKind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  private static boolean supportsAVX2(org.graalvm.compiler.lir.gen.LIRGeneratorTool);
    descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.gen.LIRGeneratorTool tool
         0: .line 628
            aload 0 /* tool */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supports:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.gen.LIRGeneratorTool tool
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  tool  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
    MethodParameters:
      Name  Flags
      tool  

  private static boolean supports(org.graalvm.compiler.lir.gen.LIRGeneratorTool, jdk.vm.ci.amd64.AMD64$CPUFeature);
    descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.gen.LIRGeneratorTool tool
        start local 1 // jdk.vm.ci.amd64.AMD64$CPUFeature cpuFeature
         0: .line 632
            aload 0 /* tool */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            checkcast jdk.vm.ci.amd64.AMD64
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            aload 1 /* cpuFeature */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // jdk.vm.ci.amd64.AMD64$CPUFeature cpuFeature
        end local 0 // org.graalvm.compiler.lir.gen.LIRGeneratorTool tool
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        tool  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            0    1     1  cpuFeature  Ljdk/vm/ci/amd64/AMD64$CPUFeature;
    MethodParameters:
            Name  Flags
      tool        
      cpuFeature  

  public boolean needsClearUpperVectorRegisters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
         0: .line 637
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 69
            getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "AMD64ArrayIndexOfOp.java"
InnerClasses:
  public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
  public final Scale = org.graalvm.compiler.asm.amd64.AMD64Address$Scale of org.graalvm.compiler.asm.amd64.AMD64Address
  public final AMD64BinaryArithmetic = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public AMD64MIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public AMD64RMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final ConditionFlag = org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final VexMoveOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final VexRMIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public VexRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public VexRVMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public OperandSize = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  public final AVXSize = org.graalvm.compiler.asm.amd64.AVXKind$AVXSize of org.graalvm.compiler.asm.amd64.AVXKind
  public abstract Alive = org.graalvm.compiler.lir.LIRInstruction$Alive of org.graalvm.compiler.lir.LIRInstruction
  public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
  public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
  public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
  public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.Opcode(value = "AMD64_ARRAY_INDEX_OF")