public abstract class org.graalvm.compiler.asm.amd64.AMD64BaseAssembler extends org.graalvm.compiler.asm.Assembler
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  super_class: org.graalvm.compiler.asm.Assembler
{
  private final org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder simdEncoder;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int MinEncodingNeedsRex;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int DEFAULT_DISP8_SCALE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int NOT_SUPPORTED_VECTOR_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

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

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize;
    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/asm/amd64/AMD64BaseAssembler;
            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.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
         3: .line 975
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.code.TargetDescription);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.TargetDescription target
         0: .line 77
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.graalvm.compiler.asm.Assembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
         1: .line 79
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifeq 4
         2: .line 80
            aload 0 /* this */
            new org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXEncoderImpl
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXEncoderImpl.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;)V
            putfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
         3: .line 81
            goto 5
         4: .line 82
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.TargetDescription
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SSEEncoderImpl
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SSEEncoderImpl.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;)V
            putfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
         5: .line 84
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    6     1  target  Ljdk/vm/ci/code/TargetDescription;
    MethodParameters:
        Name  Flags
      target  

  protected void annotatePatchingImmediate(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // int operandOffset
        start local 2 // int operandSize
         0: .line 243
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.codePatchingAnnotationConsumer:Ljava/util/function/Consumer;
            ifnull 3
         1: .line 244
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.position:()I
            istore 3 /* pos */
        start local 3 // int pos
         2: .line 245
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.codePatchingAnnotationConsumer:Ljava/util/function/Consumer;
            new org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandDataAnnotation
            dup
            iload 3 /* pos */
            iload 3 /* pos */
            iload 1 /* operandOffset */
            iadd
            iload 2 /* operandSize */
            iload 3 /* pos */
            iload 1 /* operandOffset */
            iadd
            iload 2 /* operandSize */
            iadd
            invokespecial org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandDataAnnotation.<init>:(IIII)V
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        end local 3 // int pos
         3: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int operandSize
        end local 1 // int operandOffset
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    4     1  operandOffset  I
            0    4     2    operandSize  I
            2    3     3            pos  I
    MethodParameters:
               Name  Flags
      operandOffset  
      operandSize    

  public final boolean supports(jdk.vm.ci.amd64.AMD64$CPUFeature);
    descriptor: (Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.amd64.AMD64$CPUFeature feature
         0: .line 250
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.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 /* feature */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // jdk.vm.ci.amd64.AMD64$CPUFeature feature
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    1     1  feature  Ljdk/vm/ci/amd64/AMD64$CPUFeature;
    MethodParameters:
         Name  Flags
      feature  

  protected static boolean inRC(jdk.vm.ci.code.Register$RegisterCategory, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/code/Register;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.code.Register$RegisterCategory rc
        start local 1 // jdk.vm.ci.code.Register r
         0: .line 254
            aload 1 /* r */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            aload 0 /* rc */
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // jdk.vm.ci.code.Register r
        end local 0 // jdk.vm.ci.code.Register$RegisterCategory rc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    rc  Ljdk/vm/ci/code/Register$RegisterCategory;
            0    1     1     r  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      rc    
      r     

  protected static int encode(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.vm.ci.code.Register r
         0: .line 258
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 3
            aload 0 /* r */
            getfield jdk.vm.ci.code.Register.encoding:I
            iflt 2
            getstatic jdk.vm.ci.amd64.AMD64.XMM:Ljdk/vm/ci/code/Register$RegisterCategory;
            aload 0 /* r */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.inRC:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/code/Register;)Z
            ifeq 1
            aload 0 /* r */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 32
            if_icmplt 3
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* r */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 16
            if_icmplt 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "encoding out of range: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* r */
            getfield jdk.vm.ci.code.Register.encoding:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 7
            iand
            ireturn
        end local 0 // jdk.vm.ci.code.Register r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     r  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      r     

  protected final void rexw();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
         0: .line 291
            aload 0 /* this */
            bipush 72
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         1: .line 292
            return
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;

  protected final void prefix(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 295
            aload 0 /* this */
            aload 1 /* reg */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.prefix:(Ljdk/vm/ci/code/Register;Z)V
         1: .line 296
            return
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    2     1   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  protected final void prefix(jdk.vm.ci.code.Register, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // boolean byteinst
         0: .line 299
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            istore 3 /* regEnc */
        start local 3 // int regEnc
         1: .line 300
            iload 3 /* regEnc */
            bipush 8
            if_icmplt 4
         2: .line 301
            aload 0 /* this */
            bipush 65
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         3: .line 302
            goto 6
      StackMap locals: int
      StackMap stack:
         4: iload 2 /* byteinst */
            ifeq 6
            iload 3 /* regEnc */
            iconst_4
            if_icmplt 6
         5: .line 303
            aload 0 /* this */
            bipush 64
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         6: .line 305
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int regEnc
        end local 2 // boolean byteinst
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    7     1       reg  Ljdk/vm/ci/code/Register;
            0    7     2  byteinst  Z
            1    7     3    regEnc  I
    MethodParameters:
          Name  Flags
      reg       
      byteinst  

  protected final void prefixq(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 308
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            if_icmpge 3
         1: .line 309
            aload 0 /* this */
            bipush 72
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         2: .line 310
            goto 4
         3: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 73
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         4: .line 313
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    5     1   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  protected final void prefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register src
         0: .line 316
            aload 0 /* this */
            aload 1 /* dst */
            iconst_0
            aload 2 /* src */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.prefix:(Ljdk/vm/ci/code/Register;ZLjdk/vm/ci/code/Register;Z)V
         1: .line 317
            return
        end local 2 // jdk.vm.ci.code.Register src
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    2     1   dst  Ljdk/vm/ci/code/Register;
            0    2     2   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      dst   
      src   

  protected final void prefix(jdk.vm.ci.code.Register, boolean, jdk.vm.ci.code.Register, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;ZLjdk/vm/ci/code/Register;Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // boolean dstIsByte
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // boolean srcIsByte
         0: .line 320
            aload 1 /* dst */
            getfield jdk.vm.ci.code.Register.encoding:I
            istore 5 /* dstEnc */
        start local 5 // int dstEnc
         1: .line 321
            aload 3 /* src */
            getfield jdk.vm.ci.code.Register.encoding:I
            istore 6 /* srcEnc */
        start local 6 // int srcEnc
         2: .line 322
            iload 5 /* dstEnc */
            bipush 8
            if_icmpge 10
         3: .line 323
            iload 6 /* srcEnc */
            bipush 8
            if_icmplt 6
         4: .line 324
            aload 0 /* this */
            bipush 65
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         5: .line 325
            goto 14
      StackMap locals: int int
      StackMap stack:
         6: iload 4 /* srcIsByte */
            ifeq 7
            iload 6 /* srcEnc */
            iconst_4
            if_icmpge 8
      StackMap locals:
      StackMap stack:
         7: iload 2 /* dstIsByte */
            ifeq 14
            iload 5 /* dstEnc */
            iconst_4
            if_icmplt 14
         8: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         9: .line 328
            goto 14
        10: .line 329
      StackMap locals:
      StackMap stack:
            iload 6 /* srcEnc */
            bipush 8
            if_icmpge 13
        11: .line 330
            aload 0 /* this */
            bipush 68
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        12: .line 331
            goto 14
        13: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 69
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        14: .line 335
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int srcEnc
        end local 5 // int dstEnc
        end local 4 // boolean srcIsByte
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // boolean dstIsByte
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0   15     1        dst  Ljdk/vm/ci/code/Register;
            0   15     2  dstIsByte  Z
            0   15     3        src  Ljdk/vm/ci/code/Register;
            0   15     4  srcIsByte  Z
            1   15     5     dstEnc  I
            2   15     6     srcEnc  I
    MethodParameters:
           Name  Flags
      dst        
      dstIsByte  
      src        
      srcIsByte  

  protected final void prefixq(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // jdk.vm.ci.code.Register rm
         0: .line 342
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            istore 3 /* regEnc */
        start local 3 // int regEnc
         1: .line 343
            aload 2 /* rm */
            getfield jdk.vm.ci.code.Register.encoding:I
            istore 4 /* rmEnc */
        start local 4 // int rmEnc
         2: .line 344
            iload 3 /* regEnc */
            bipush 8
            if_icmpge 8
         3: .line 345
            iload 4 /* rmEnc */
            bipush 8
            if_icmpge 6
         4: .line 346
            aload 0 /* this */
            bipush 72
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         5: .line 347
            goto 12
         6: .line 348
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            bipush 73
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         7: .line 350
            goto 12
         8: .line 351
      StackMap locals:
      StackMap stack:
            iload 4 /* rmEnc */
            bipush 8
            if_icmpge 11
         9: .line 352
            aload 0 /* this */
            bipush 76
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        10: .line 353
            goto 12
        11: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 77
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        12: .line 357
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int rmEnc
        end local 3 // int regEnc
        end local 2 // jdk.vm.ci.code.Register rm
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0   13     1     reg  Ljdk/vm/ci/code/Register;
            0   13     2      rm  Ljdk/vm/ci/code/Register;
            1   13     3  regEnc  I
            2   13     4   rmEnc  I
    MethodParameters:
      Name  Flags
      reg   
      rm    

  private static boolean needsRex(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.code.Register reg
         0: .line 360
            aload 0 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.code.Register reg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  protected final void prefix(org.graalvm.compiler.asm.amd64.AMD64Address);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
         0: .line 364
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 6
         1: .line 365
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 4
         2: .line 366
            aload 0 /* this */
            bipush 67
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         3: .line 367
            goto 8
         4: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 65
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         5: .line 370
            goto 8
         6: .line 371
      StackMap locals:
      StackMap stack:
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 8
         7: .line 372
            aload 0 /* this */
            bipush 66
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         8: .line 375
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    9     1   adr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
    MethodParameters:
      Name  Flags
      adr   

  protected final void prefixq(org.graalvm.compiler.asm.amd64.AMD64Address);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
         0: .line 378
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 6
         1: .line 379
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 4
         2: .line 380
            aload 0 /* this */
            bipush 75
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         3: .line 381
            goto 10
         4: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 73
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         5: .line 384
            goto 10
         6: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 9
         7: .line 386
            aload 0 /* this */
            bipush 74
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         8: .line 387
            goto 10
         9: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 72
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        10: .line 391
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0   11     1   adr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
    MethodParameters:
      Name  Flags
      adr   

  protected void prefixb(org.graalvm.compiler.asm.amd64.AMD64Address, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        start local 2 // jdk.vm.ci.code.Register reg
         0: .line 394
            aload 0 /* this */
            aload 1 /* adr */
            aload 2 /* reg */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.prefix:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;Z)V
         1: .line 395
            return
        end local 2 // jdk.vm.ci.code.Register reg
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    2     1   adr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    2     2   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      adr   
      reg   

  protected void prefix(org.graalvm.compiler.asm.amd64.AMD64Address, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        start local 2 // jdk.vm.ci.code.Register reg
         0: .line 398
            aload 0 /* this */
            aload 1 /* adr */
            aload 2 /* reg */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.prefix:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;Z)V
         1: .line 399
            return
        end local 2 // jdk.vm.ci.code.Register reg
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    2     1   adr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    2     2   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      adr   
      reg   

  protected void prefix(org.graalvm.compiler.asm.amd64.AMD64Address, jdk.vm.ci.code.Register, boolean);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        start local 2 // jdk.vm.ci.code.Register reg
        start local 3 // boolean byteinst
         0: .line 402
            aload 2 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            if_icmpge 13
         1: .line 403
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 7
         2: .line 404
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 5
         3: .line 405
            aload 0 /* this */
            bipush 67
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         4: .line 406
            goto 23
         5: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 65
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         6: .line 409
            goto 23
         7: .line 410
      StackMap locals:
      StackMap stack:
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 10
         8: .line 411
            aload 0 /* this */
            bipush 66
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         9: .line 412
            goto 23
      StackMap locals:
      StackMap stack:
        10: iload 3 /* byteinst */
            ifeq 23
            aload 2 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            iconst_4
            if_icmplt 23
        11: .line 413
            aload 0 /* this */
            bipush 64
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        12: .line 416
            goto 23
        13: .line 417
      StackMap locals:
      StackMap stack:
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 19
        14: .line 418
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 17
        15: .line 419
            aload 0 /* this */
            bipush 71
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        16: .line 420
            goto 23
        17: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 69
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        18: .line 423
            goto 23
        19: .line 424
      StackMap locals:
      StackMap stack:
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 22
        20: .line 425
            aload 0 /* this */
            bipush 70
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        21: .line 426
            goto 23
        22: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 68
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        23: .line 431
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean byteinst
        end local 2 // jdk.vm.ci.code.Register reg
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0   24     1       adr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0   24     2       reg  Ljdk/vm/ci/code/Register;
            0   24     3  byteinst  Z
    MethodParameters:
          Name  Flags
      adr       
      reg       
      byteinst  

  protected void prefixq(org.graalvm.compiler.asm.amd64.AMD64Address, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        start local 2 // jdk.vm.ci.code.Register src
         0: .line 434
            aload 2 /* src */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            if_icmpge 12
         1: .line 435
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 7
         2: .line 436
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 5
         3: .line 437
            aload 0 /* this */
            bipush 75
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         4: .line 438
            goto 22
         5: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 73
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         6: .line 441
            goto 22
         7: .line 442
      StackMap locals:
      StackMap stack:
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 10
         8: .line 443
            aload 0 /* this */
            bipush 74
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         9: .line 444
            goto 22
        10: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 72
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        11: .line 448
            goto 22
        12: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 18
        13: .line 450
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 16
        14: .line 451
            aload 0 /* this */
            bipush 79
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        15: .line 452
            goto 22
        16: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 77
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        17: .line 455
            goto 22
        18: .line 456
      StackMap locals:
      StackMap stack:
            aload 1 /* adr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
            ifeq 21
        19: .line 457
            aload 0 /* this */
            bipush 78
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        20: .line 458
            goto 22
        21: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 76
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        22: .line 463
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.vm.ci.code.Register src
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0   23     1   adr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0   23     2   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      adr   
      src   

  protected static int getRXB(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.vm.ci.code.Register reg
        start local 1 // jdk.vm.ci.code.Register rm
         0: .line 471
            aload 0 /* reg */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            iand
      StackMap locals:
      StackMap stack: int
         2: iconst_1
            ishr
            istore 2 /* rxb */
        start local 2 // int rxb
         3: .line 472
            iload 2 /* rxb */
            aload 1 /* rm */
            ifnonnull 4
            iconst_0
            goto 5
      StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
      StackMap stack: int
         4: aload 1 /* rm */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            iand
      StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
      StackMap stack: int int
         5: iconst_3
            ishr
            ior
            istore 2 /* rxb */
         6: .line 473
            iload 2 /* rxb */
            ireturn
        end local 2 // int rxb
        end local 1 // jdk.vm.ci.code.Register rm
        end local 0 // jdk.vm.ci.code.Register reg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   reg  Ljdk/vm/ci/code/Register;
            0    7     1    rm  Ljdk/vm/ci/code/Register;
            3    7     2   rxb  I
    MethodParameters:
      Name  Flags
      reg   
      rm    

  protected static int getRXB(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.vm.ci.code.Register reg
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Address rm
         0: .line 484
            aload 0 /* reg */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            iand
      StackMap locals:
      StackMap stack: int
         2: iconst_1
            ishr
            istore 2 /* rxb */
        start local 2 // int rxb
         3: .line 485
            aload 1 /* rm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 486
            iload 2 /* rxb */
            aload 1 /* rm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            iand
            iconst_2
            ishr
            ior
            istore 2 /* rxb */
         5: .line 488
      StackMap locals: int
      StackMap stack:
            aload 1 /* rm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 489
            iload 2 /* rxb */
            aload 1 /* rm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            iand
            iconst_3
            ishr
            ior
            istore 2 /* rxb */
         7: .line 491
      StackMap locals:
      StackMap stack:
            iload 2 /* rxb */
            ireturn
        end local 2 // int rxb
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Address rm
        end local 0 // jdk.vm.ci.code.Register reg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   reg  Ljdk/vm/ci/code/Register;
            0    8     1    rm  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            3    8     2   rxb  I
    MethodParameters:
      Name  Flags
      reg   
      rm    

  protected final void emitModRM(int, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // int reg
        start local 2 // jdk.vm.ci.code.Register rm
         0: .line 500
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            iload 1 /* reg */
            bipush 7
            iand
            iload 1 /* reg */
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 192
            iload 1 /* reg */
            iconst_3
            ishl
            ior
            aload 2 /* rm */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 7
            iand
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         2: .line 502
            return
        end local 2 // jdk.vm.ci.code.Register rm
        end local 1 // int reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    3     1   reg  I
            0    3     2    rm  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   
      rm    

  protected final void emitModRM(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // jdk.vm.ci.code.Register rm
         0: .line 510
            aload 0 /* this */
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 7
            iand
            aload 2 /* rm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitModRM:(ILjdk/vm/ci/code/Register;)V
         1: .line 511
            return
        end local 2 // jdk.vm.ci.code.Register rm
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    2     1   reg  Ljdk/vm/ci/code/Register;
            0    2     2    rm  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   
      rm    

  protected final void emitOperandHelper(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, boolean, int);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;ZI)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        start local 3 // boolean force4Byte
        start local 4 // int additionalInstructionSize
         0: .line 521
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* reg */
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reg */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
            aload 2 /* addr */
            iload 3 /* force4Byte */
            iload 4 /* additionalInstructionSize */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitOperandHelper:(ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
         2: .line 523
            return
        end local 4 // int additionalInstructionSize
        end local 3 // boolean force4Byte
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    3     0                       this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    3     1                        reg  Ljdk/vm/ci/code/Register;
            0    3     2                       addr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    3     3                 force4Byte  Z
            0    3     4  additionalInstructionSize  I
    MethodParameters:
                           Name  Flags
      reg                        
      addr                       
      force4Byte                 
      additionalInstructionSize  

  protected final void emitOperandHelper(int, org.graalvm.compiler.asm.amd64.AMD64Address, int);
    descriptor: (ILorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // int reg
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        start local 3 // int additionalInstructionSize
         0: .line 526
            aload 0 /* this */
            iload 1 /* reg */
            aload 2 /* addr */
            iconst_0
            iload 3 /* additionalInstructionSize */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitOperandHelper:(ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
         1: .line 527
            return
        end local 3 // int additionalInstructionSize
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        end local 1 // int reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    2     1                        reg  I
            0    2     2                       addr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    2     3  additionalInstructionSize  I
    MethodParameters:
                           Name  Flags
      reg                        
      addr                       
      additionalInstructionSize  

  protected final void emitOperandHelper(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, int);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        start local 3 // int additionalInstructionSize
         0: .line 530
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* reg */
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reg */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
            aload 2 /* addr */
            iconst_0
            iload 3 /* additionalInstructionSize */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitOperandHelper:(ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
         2: .line 532
            return
        end local 3 // int additionalInstructionSize
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    3     0                       this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    3     1                        reg  Ljdk/vm/ci/code/Register;
            0    3     2                       addr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    3     3  additionalInstructionSize  I
    MethodParameters:
                           Name  Flags
      reg                        
      addr                       
      additionalInstructionSize  

  protected final void emitOperandHelper(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, int, int);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;II)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        start local 3 // int additionalInstructionSize
        start local 4 // int evexDisp8Scale
         0: .line 535
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* reg */
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reg */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
            aload 2 /* addr */
            iconst_0
            iload 3 /* additionalInstructionSize */
            iload 4 /* evexDisp8Scale */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitOperandHelper:(ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
         2: .line 537
            return
        end local 4 // int evexDisp8Scale
        end local 3 // int additionalInstructionSize
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    3     0                       this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    3     1                        reg  Ljdk/vm/ci/code/Register;
            0    3     2                       addr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    3     3  additionalInstructionSize  I
            0    3     4             evexDisp8Scale  I
    MethodParameters:
                           Name  Flags
      reg                        
      addr                       
      additionalInstructionSize  
      evexDisp8Scale             

  private void emitOperandHelper(int, org.graalvm.compiler.asm.amd64.AMD64Address, boolean, int, int);
    descriptor: (ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=15, args_size=6
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // int reg
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        start local 3 // boolean force4Byte
        start local 4 // int additionalInstructionSize
        start local 5 // int evexDisp8Scale
         0: .line 552
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            iload 1 /* reg */
            bipush 7
            iand
            iload 1 /* reg */
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 553
      StackMap locals:
      StackMap stack:
            iload 1 /* reg */
            iconst_3
            ishl
            istore 6 /* regenc */
        start local 6 // int regenc
         2: .line 555
            aload 2 /* addr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
            astore 7 /* base */
        start local 7 // jdk.vm.ci.code.Register base
         3: .line 556
            aload 2 /* addr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
            astore 8 /* index */
        start local 8 // jdk.vm.ci.code.Register index
         4: .line 558
            aload 2 /* addr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getScale:()Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            astore 9 /* scale */
        start local 9 // org.graalvm.compiler.asm.amd64.AMD64Address$Scale scale
         5: .line 559
            aload 2 /* addr */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getDisplacement:()I
            istore 10 /* disp */
        start local 10 // int disp
         6: .line 561
            aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.rip:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 13
         7: .line 563
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 8
            aload 8 /* index */
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            ldc "cannot use RIP relative addressing with index register"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 564
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int org.graalvm.compiler.asm.amd64.AMD64Address int int int int jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address$Scale int
      StackMap stack:
            aload 0 /* this */
            iconst_5
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
         9: .line 565
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.codePatchingAnnotationConsumer:Ljava/util/function/Consumer;
            ifnull 11
            aload 2 /* addr */
            getfield org.graalvm.compiler.asm.amd64.AMD64Address.instructionStartPosition:I
            iflt 11
        10: .line 566
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.codePatchingAnnotationConsumer:Ljava/util/function/Consumer;
            new org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandDataAnnotation
            dup
            aload 2 /* addr */
            getfield org.graalvm.compiler.asm.amd64.AMD64Address.instructionStartPosition:I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.position:()I
            iconst_4
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.position:()I
            iconst_4
            iadd
            iload 4 /* additionalInstructionSize */
            iadd
            invokespecial org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandDataAnnotation.<init>:(IIII)V
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        11: .line 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 10 /* disp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
        12: .line 569
            goto 96
      StackMap locals:
      StackMap stack:
        13: aload 7 /* base */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 86
        14: .line 570
            iload 3 /* force4Byte */
            istore 11 /* overriddenForce4Byte */
        start local 11 // boolean overriddenForce4Byte
        15: .line 571
            aload 7 /* base */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 16
            aload 7 /* base */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
            goto 17
      StackMap locals: int
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 12 /* baseenc */
        start local 12 // int baseenc
        18: .line 573
            aload 8 /* index */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 44
        19: .line 574
            aload 8 /* index */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
            iconst_3
            ishl
            istore 13 /* indexenc */
        start local 13 // int indexenc
        20: .line 576
            iload 10 /* disp */
            ifne 25
            aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 25
            aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.r13:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 25
        21: .line 579
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 22
            aload 8 /* index */
            getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 22
            new java.lang.AssertionError
            dup
            ldc "illegal addressing mode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        22: .line 580
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iconst_4
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        23: .line 581
            aload 0 /* this */
            aload 9 /* scale */
            getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
            bipush 6
            ishl
            iload 13 /* indexenc */
            ior
            iload 12 /* baseenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        24: .line 582
            goto 96
        25: .line 583
      StackMap locals:
      StackMap stack:
            iload 5 /* evexDisp8Scale */
            iconst_1
            if_icmple 33
            iload 11 /* overriddenForce4Byte */
            ifne 33
        26: .line 584
            iload 10 /* disp */
            iload 5 /* evexDisp8Scale */
            irem
            ifne 32
        27: .line 585
            iload 10 /* disp */
            iload 5 /* evexDisp8Scale */
            idiv
            istore 14 /* newDisp */
        start local 14 // int newDisp
        28: .line 586
            iload 14 /* newDisp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 33
        29: .line 587
            iload 14 /* newDisp */
            istore 10 /* disp */
        30: .line 588
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 33
            iload 10 /* disp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 31
            iload 11 /* overriddenForce4Byte */
            ifeq 33
      StackMap locals: int
      StackMap stack:
        31: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 14 // int newDisp
        32: .line 591
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* overriddenForce4Byte */
        33: .line 594
      StackMap locals:
      StackMap stack:
            iload 10 /* disp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 39
            iload 11 /* overriddenForce4Byte */
            ifne 39
        34: .line 597
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 35
            aload 8 /* index */
            getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 35
            new java.lang.AssertionError
            dup
            ldc "illegal addressing mode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        35: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 68
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        36: .line 599
            aload 0 /* this */
            aload 9 /* scale */
            getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
            bipush 6
            ishl
            iload 13 /* indexenc */
            ior
            iload 12 /* baseenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        37: .line 600
            aload 0 /* this */
            iload 10 /* disp */
            sipush 255
            iand
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        38: .line 601
            goto 96
        39: .line 604
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 40
            aload 8 /* index */
            getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 40
            new java.lang.AssertionError
            dup
            ldc "illegal addressing mode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        40: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 132
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        41: .line 606
            aload 0 /* this */
            aload 9 /* scale */
            getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
            bipush 6
            ishl
            iload 13 /* indexenc */
            ior
            iload 12 /* baseenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        42: .line 607
            aload 0 /* this */
            iload 10 /* disp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
        end local 13 // int indexenc
        43: .line 610
            goto 96
      StackMap locals:
      StackMap stack:
        44: aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 45
            aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.r12:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 66
        45: .line 612
      StackMap locals:
      StackMap stack:
            iload 10 /* disp */
            ifne 49
        46: .line 615
            aload 0 /* this */
            iconst_4
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        47: .line 616
            aload 0 /* this */
            bipush 36
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        48: .line 617
            goto 96
        49: .line 618
      StackMap locals:
      StackMap stack:
            iload 5 /* evexDisp8Scale */
            iconst_1
            if_icmple 57
            iload 11 /* overriddenForce4Byte */
            ifne 57
        50: .line 619
            iload 10 /* disp */
            iload 5 /* evexDisp8Scale */
            irem
            ifne 56
        51: .line 620
            iload 10 /* disp */
            iload 5 /* evexDisp8Scale */
            idiv
            istore 13 /* newDisp */
        start local 13 // int newDisp
        52: .line 621
            iload 13 /* newDisp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 57
        53: .line 622
            iload 13 /* newDisp */
            istore 10 /* disp */
        54: .line 623
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 57
            iload 10 /* disp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 55
            iload 11 /* overriddenForce4Byte */
            ifeq 57
      StackMap locals: int
      StackMap stack:
        55: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 13 // int newDisp
        56: .line 626
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* overriddenForce4Byte */
        57: .line 629
      StackMap locals:
      StackMap stack:
            iload 10 /* disp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 62
            iload 11 /* overriddenForce4Byte */
            ifne 62
        58: .line 632
            aload 0 /* this */
            bipush 68
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        59: .line 633
            aload 0 /* this */
            bipush 36
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        60: .line 634
            aload 0 /* this */
            iload 10 /* disp */
            sipush 255
            iand
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        61: .line 635
            goto 96
        62: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 132
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        63: .line 639
            aload 0 /* this */
            bipush 36
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        64: .line 640
            aload 0 /* this */
            iload 10 /* disp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
        65: .line 643
            goto 96
        66: .line 645
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 68
            aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 67
            aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.r12:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 68
      StackMap locals:
      StackMap stack:
        67: new java.lang.AssertionError
            dup
            ldc "illegal addressing mode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        68: .line 646
      StackMap locals:
      StackMap stack:
            iload 10 /* disp */
            ifne 71
            aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 71
            aload 7 /* base */
            getstatic jdk.vm.ci.amd64.AMD64.r13:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 71
        69: .line 649
            aload 0 /* this */
            iload 6 /* regenc */
            iload 12 /* baseenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        70: .line 650
            goto 96
        71: .line 651
      StackMap locals:
      StackMap stack:
            iload 5 /* evexDisp8Scale */
            iconst_1
            if_icmple 79
            iload 11 /* overriddenForce4Byte */
            ifne 79
        72: .line 652
            iload 10 /* disp */
            iload 5 /* evexDisp8Scale */
            irem
            ifne 78
        73: .line 653
            iload 10 /* disp */
            iload 5 /* evexDisp8Scale */
            idiv
            istore 13 /* newDisp */
        start local 13 // int newDisp
        74: .line 654
            iload 13 /* newDisp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 79
        75: .line 655
            iload 13 /* newDisp */
            istore 10 /* disp */
        76: .line 656
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 79
            iload 10 /* disp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 77
            iload 11 /* overriddenForce4Byte */
            ifeq 79
      StackMap locals: int
      StackMap stack:
        77: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 13 // int newDisp
        78: .line 659
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* overriddenForce4Byte */
        79: .line 662
      StackMap locals:
      StackMap stack:
            iload 10 /* disp */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 83
            iload 11 /* overriddenForce4Byte */
            ifne 83
        80: .line 665
            aload 0 /* this */
            bipush 64
            iload 6 /* regenc */
            ior
            iload 12 /* baseenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        81: .line 666
            aload 0 /* this */
            iload 10 /* disp */
            sipush 255
            iand
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        82: .line 667
            goto 96
        83: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 128
            iload 6 /* regenc */
            ior
            iload 12 /* baseenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        84: .line 671
            aload 0 /* this */
            iload 10 /* disp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
        end local 12 // int baseenc
        end local 11 // boolean overriddenForce4Byte
        85: .line 675
            goto 96
        86: .line 676
      StackMap locals:
      StackMap stack:
            aload 8 /* index */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 93
        87: .line 677
            aload 8 /* index */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
            iconst_3
            ishl
            istore 11 /* indexenc */
        start local 11 // int indexenc
        88: .line 680
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 89
            aload 8 /* index */
            getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 89
            new java.lang.AssertionError
            dup
            ldc "illegal addressing mode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        89: .line 681
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_4
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        90: .line 682
            aload 0 /* this */
            aload 9 /* scale */
            getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
            bipush 6
            ishl
            iload 11 /* indexenc */
            ior
            iconst_5
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        91: .line 683
            aload 0 /* this */
            iload 10 /* disp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
        end local 11 // int indexenc
        92: .line 684
            goto 96
        93: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            iload 6 /* regenc */
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        94: .line 688
            aload 0 /* this */
            bipush 37
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        95: .line 689
            aload 0 /* this */
            iload 10 /* disp */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
        96: .line 692
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int disp
        end local 9 // org.graalvm.compiler.asm.amd64.AMD64Address$Scale scale
        end local 8 // jdk.vm.ci.code.Register index
        end local 7 // jdk.vm.ci.code.Register base
        end local 6 // int regenc
        end local 5 // int evexDisp8Scale
        end local 4 // int additionalInstructionSize
        end local 3 // boolean force4Byte
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Address addr
        end local 1 // int reg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   97     0                       this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0   97     1                        reg  I
            0   97     2                       addr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0   97     3                 force4Byte  Z
            0   97     4  additionalInstructionSize  I
            0   97     5             evexDisp8Scale  I
            2   97     6                     regenc  I
            3   97     7                       base  Ljdk/vm/ci/code/Register;
            4   97     8                      index  Ljdk/vm/ci/code/Register;
            5   97     9                      scale  Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
            6   97    10                       disp  I
           15   85    11       overriddenForce4Byte  Z
           18   85    12                    baseenc  I
           20   43    13                   indexenc  I
           28   32    14                    newDisp  I
           52   56    13                    newDisp  I
           74   78    13                    newDisp  I
           88   92    11                   indexenc  I
    MethodParameters:
                           Name  Flags
      reg                        
      addr                       
      force4Byte                 
      additionalInstructionSize  
      evexDisp8Scale             

  protected final void simdPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, int, int, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;IIZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register xreg
        start local 2 // jdk.vm.ci.code.Register nds
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 5 // int overriddenSizePrefix
        start local 6 // int opcodeEscapePrefix
        start local 7 // boolean isRexW
         0: .line 809
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
            aload 1 /* xreg */
            aload 2 /* nds */
            aload 3 /* adr */
            iload 5 /* overriddenSizePrefix */
            ifeq 1
            iload 5 /* overriddenSizePrefix */
            goto 2
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address
         1: aload 4 /* size */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.sizePrefix:I
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address int
         2: iload 6 /* opcodeEscapePrefix */
            iload 7 /* isRexW */
            invokeinterface org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder.simdPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;IIZ)V
         3: .line 810
            return
        end local 7 // boolean isRexW
        end local 6 // int opcodeEscapePrefix
        end local 5 // int overriddenSizePrefix
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        end local 2 // jdk.vm.ci.code.Register nds
        end local 1 // jdk.vm.ci.code.Register xreg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    4     1                  xreg  Ljdk/vm/ci/code/Register;
            0    4     2                   nds  Ljdk/vm/ci/code/Register;
            0    4     3                   adr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    4     4                  size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    4     5  overriddenSizePrefix  I
            0    4     6    opcodeEscapePrefix  I
            0    4     7                isRexW  Z
    MethodParameters:
                      Name  Flags
      xreg                  
      nds                   
      adr                   
      size                  
      overriddenSizePrefix  
      opcodeEscapePrefix    
      isRexW                

  protected final void simdPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, int, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;IZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register xreg
        start local 2 // jdk.vm.ci.code.Register nds
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 5 // int opcodeEscapePrefix
        start local 6 // boolean isRexW
         0: .line 813
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
            aload 1 /* xreg */
            aload 2 /* nds */
            aload 3 /* adr */
            aload 4 /* size */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.sizePrefix:I
            iload 5 /* opcodeEscapePrefix */
            iload 6 /* isRexW */
            invokeinterface org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder.simdPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;IIZ)V
         1: .line 814
            return
        end local 6 // boolean isRexW
        end local 5 // int opcodeEscapePrefix
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64Address adr
        end local 2 // jdk.vm.ci.code.Register nds
        end local 1 // jdk.vm.ci.code.Register xreg
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    2     1                xreg  Ljdk/vm/ci/code/Register;
            0    2     2                 nds  Ljdk/vm/ci/code/Register;
            0    2     3                 adr  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    2     4                size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    2     5  opcodeEscapePrefix  I
            0    2     6              isRexW  Z
    MethodParameters:
                    Name  Flags
      xreg                
      nds                 
      adr                 
      size                
      opcodeEscapePrefix  
      isRexW              

  protected final void simdPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, int, int, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;IIZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register nds
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 5 // int overriddenSizePrefix
        start local 6 // int opcodeEscapePrefix
        start local 7 // boolean isRexW
         0: .line 817
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
            aload 1 /* dst */
            aload 2 /* nds */
            aload 3 /* src */
            iload 5 /* overriddenSizePrefix */
            ifeq 1
            iload 5 /* overriddenSizePrefix */
            goto 2
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
         1: aload 4 /* size */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.sizePrefix:I
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
         2: iload 6 /* opcodeEscapePrefix */
            iload 7 /* isRexW */
            invokeinterface org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder.simdPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IIZ)V
         3: .line 818
            return
        end local 7 // boolean isRexW
        end local 6 // int opcodeEscapePrefix
        end local 5 // int overriddenSizePrefix
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register nds
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    4     1                   dst  Ljdk/vm/ci/code/Register;
            0    4     2                   nds  Ljdk/vm/ci/code/Register;
            0    4     3                   src  Ljdk/vm/ci/code/Register;
            0    4     4                  size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    4     5  overriddenSizePrefix  I
            0    4     6    opcodeEscapePrefix  I
            0    4     7                isRexW  Z
    MethodParameters:
                      Name  Flags
      dst                   
      nds                   
      src                   
      size                  
      overriddenSizePrefix  
      opcodeEscapePrefix    
      isRexW                

  protected final void simdPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, int, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;IZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register nds
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 5 // int opcodeEscapePrefix
        start local 6 // boolean isRexW
         0: .line 821
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
            aload 1 /* dst */
            aload 2 /* nds */
            aload 3 /* src */
            aload 4 /* size */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.sizePrefix:I
            iload 5 /* opcodeEscapePrefix */
            iload 6 /* isRexW */
            invokeinterface org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder.simdPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IIZ)V
         1: .line 822
            return
        end local 6 // boolean isRexW
        end local 5 // int opcodeEscapePrefix
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register nds
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    2     1                 dst  Ljdk/vm/ci/code/Register;
            0    2     2                 nds  Ljdk/vm/ci/code/Register;
            0    2     3                 src  Ljdk/vm/ci/code/Register;
            0    2     4                size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    2     5  opcodeEscapePrefix  I
            0    2     6              isRexW  Z
    MethodParameters:
                    Name  Flags
      dst                 
      nds                 
      src                 
      size                
      opcodeEscapePrefix  
      isRexW              

  protected final void emitVEX(int, int, int, int, int, int, boolean);
    descriptor: (IIIIIIZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=12, args_size=8
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // int l
        start local 2 // int pp
        start local 3 // int mmmmm
        start local 4 // int w
        start local 5 // int rxb
        start local 6 // int vvvv
        start local 7 // boolean checkAVX
         0: .line 889
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            iload 7 /* checkAVX */
            ifeq 1
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.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;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "emitting VEX prefix on a CPU without AVX support"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 891
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 2
            iload 1 /* l */
            ifeq 2
            iload 1 /* l */
            iconst_1
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            ldc "invalid value for VEX.L"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 892
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 3
            iload 2 /* pp */
            ifeq 3
            iload 2 /* pp */
            iconst_1
            if_icmpeq 3
            iload 2 /* pp */
            iconst_2
            if_icmpeq 3
            iload 2 /* pp */
            iconst_3
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            ldc "invalid value for VEX.pp"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 893
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 4
            iload 3 /* mmmmm */
            iconst_1
            if_icmpeq 4
            iload 3 /* mmmmm */
            iconst_2
            if_icmpeq 4
            iload 3 /* mmmmm */
            iconst_3
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            ldc "invalid value for VEX.m-mmmm"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 894
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 5
            iload 4 /* w */
            ifeq 5
            iload 4 /* w */
            iconst_1
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            ldc "invalid value for VEX.W"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 896
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 6
            iload 5 /* rxb */
            bipush 7
            iand
            iload 5 /* rxb */
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            ldc "invalid value for VEX.RXB"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 897
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 7
            iload 6 /* vvvv */
            bipush 15
            iand
            iload 6 /* vvvv */
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            ldc "invalid value for VEX.vvvv"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 899
      StackMap locals:
      StackMap stack:
            iload 5 /* rxb */
            bipush 7
            ixor
            istore 8 /* rxb1s */
        start local 8 // int rxb1s
         8: .line 900
            iload 6 /* vvvv */
            bipush 15
            ixor
            istore 9 /* vvvv1s */
        start local 9 // int vvvv1s
         9: .line 901
            iload 5 /* rxb */
            iconst_3
            iand
            ifne 18
            iload 4 /* w */
            ifne 18
            iload 3 /* mmmmm */
            iconst_1
            if_icmpne 18
        10: .line 903
            iconst_0
            istore 10 /* byte2 */
        start local 10 // int byte2
        11: .line 904
            iload 10 /* byte2 */
            iload 8 /* rxb1s */
            iconst_4
            iand
            iconst_5
            ishl
            ior
            istore 10 /* byte2 */
        12: .line 905
            iload 10 /* byte2 */
            iload 9 /* vvvv1s */
            iconst_3
            ishl
            ior
            istore 10 /* byte2 */
        13: .line 906
            iload 10 /* byte2 */
            iload 1 /* l */
            iconst_2
            ishl
            ior
            istore 10 /* byte2 */
        14: .line 907
            iload 10 /* byte2 */
            iload 2 /* pp */
            ior
            istore 10 /* byte2 */
        15: .line 909
            aload 0 /* this */
            sipush 197
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        16: .line 910
            aload 0 /* this */
            iload 10 /* byte2 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        end local 10 // int byte2
        17: .line 911
            goto 29
        18: .line 913
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 10 /* byte2 */
        start local 10 // int byte2
        19: .line 914
            iload 8 /* rxb1s */
            bipush 7
            iand
            iconst_5
            ishl
            istore 10 /* byte2 */
        20: .line 915
            iload 10 /* byte2 */
            iload 3 /* mmmmm */
            ior
            istore 10 /* byte2 */
        21: .line 917
            iconst_0
            istore 11 /* byte3 */
        start local 11 // int byte3
        22: .line 918
            iload 11 /* byte3 */
            iload 4 /* w */
            bipush 7
            ishl
            ior
            istore 11 /* byte3 */
        23: .line 919
            iload 11 /* byte3 */
            iload 9 /* vvvv1s */
            iconst_3
            ishl
            ior
            istore 11 /* byte3 */
        24: .line 920
            iload 11 /* byte3 */
            iload 1 /* l */
            iconst_2
            ishl
            ior
            istore 11 /* byte3 */
        25: .line 921
            iload 11 /* byte3 */
            iload 2 /* pp */
            ior
            istore 11 /* byte3 */
        26: .line 923
            aload 0 /* this */
            sipush 196
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        27: .line 924
            aload 0 /* this */
            iload 10 /* byte2 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        28: .line 925
            aload 0 /* this */
            iload 11 /* byte3 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        end local 11 // int byte3
        end local 10 // int byte2
        29: .line 927
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int vvvv1s
        end local 8 // int rxb1s
        end local 7 // boolean checkAVX
        end local 6 // int vvvv
        end local 5 // int rxb
        end local 4 // int w
        end local 3 // int mmmmm
        end local 2 // int pp
        end local 1 // int l
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   30     0      this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0   30     1         l  I
            0   30     2        pp  I
            0   30     3     mmmmm  I
            0   30     4         w  I
            0   30     5       rxb  I
            0   30     6      vvvv  I
            0   30     7  checkAVX  Z
            8   30     8     rxb1s  I
            9   30     9    vvvv1s  I
           11   17    10     byte2  I
           19   29    10     byte2  I
           22   29    11     byte3  I
    MethodParameters:
          Name  Flags
      l         
      pp        
      mmmmm     
      w         
      rxb       
      vvvv      
      checkAVX  

  public static int getLFlag(org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
         0: .line 930
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize:()[I
            aload 0 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
            iaload
            tableswitch { // 3 - 5
                    3: 1
                    4: 2
                    5: 3
              default: 4
          }
         1: .line 932
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 934
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 936
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         4: .line 938
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  size  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
    MethodParameters:
      Name  Flags
      size  

  public static boolean isAVX512Register(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.code.Register reg
         0: .line 943
            aload 0 /* reg */
            ifnull 1
            aload 0 /* reg */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 1
            getstatic jdk.vm.ci.amd64.AMD64.XMM:Ljdk/vm/ci/code/Register$RegisterCategory;
            aload 0 /* reg */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 15
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.code.Register reg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  public final boolean vexPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int, int, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIIZ)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=11, locals=10, args_size=10
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register nds
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        start local 5 // int pp
        start local 6 // int mmmmm
        start local 7 // int w
        start local 8 // int wEvex
        start local 9 // boolean checkAVX
         0: .line 947
            aload 1 /* dst */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.isAVX512Register:(Ljdk/vm/ci/code/Register;)Z
            ifne 1
            aload 2 /* nds */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.isAVX512Register:(Ljdk/vm/ci/code/Register;)Z
            ifne 1
            aload 3 /* src */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.isAVX512Register:(Ljdk/vm/ci/code/Register;)Z
            ifne 1
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ZMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            if_acmpne 3
         1: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            aload 2 /* nds */
            aload 3 /* src */
            aload 4 /* size */
            iload 5 /* pp */
            iload 6 /* mmmmm */
            iload 8 /* wEvex */
            iconst_0
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.evexPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIII)V
         2: .line 949
            iconst_1
            ireturn
         3: .line 951
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* size */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getLFlag:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
            iload 5 /* pp */
            iload 6 /* mmmmm */
            iload 7 /* w */
            aload 1 /* dst */
            aload 3 /* src */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getRXB:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
            aload 2 /* nds */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 4
            aload 2 /* nds */
            invokevirtual jdk.vm.ci.code.Register.encoding:()I
            goto 5
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int
         4: iconst_0
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int
         5: iload 9 /* checkAVX */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitVEX:(IIIIIIZ)V
         6: .line 952
            iconst_0
            ireturn
        end local 9 // boolean checkAVX
        end local 8 // int wEvex
        end local 7 // int w
        end local 6 // int mmmmm
        end local 5 // int pp
        end local 4 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register nds
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    7     1       dst  Ljdk/vm/ci/code/Register;
            0    7     2       nds  Ljdk/vm/ci/code/Register;
            0    7     3       src  Ljdk/vm/ci/code/Register;
            0    7     4      size  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    7     5        pp  I
            0    7     6     mmmmm  I
            0    7     7         w  I
            0    7     8     wEvex  I
            0    7     9  checkAVX  Z
    MethodParameters:
          Name  Flags
      dst       
      nds       
      src       
      size      
      pp        
      mmmmm     
      w         
      wEvex     
      checkAVX  

  public final boolean vexPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int, int, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIIZ)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=11, locals=10, args_size=10
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register nds
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64Address src
        start local 4 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        start local 5 // int pp
        start local 6 // int mmmmm
        start local 7 // int w
        start local 8 // int wEvex
        start local 9 // boolean checkAVX
         0: .line 956
            aload 1 /* dst */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.isAVX512Register:(Ljdk/vm/ci/code/Register;)Z
            ifne 1
            aload 2 /* nds */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.isAVX512Register:(Ljdk/vm/ci/code/Register;)Z
            ifne 1
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ZMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            if_acmpne 3
         1: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            aload 2 /* nds */
            aload 3 /* src */
            aload 4 /* size */
            iload 5 /* pp */
            iload 6 /* mmmmm */
            iload 8 /* wEvex */
            iconst_0
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.evexPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIII)V
         2: .line 958
            iconst_1
            ireturn
         3: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* size */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getLFlag:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
            iload 5 /* pp */
            iload 6 /* mmmmm */
            iload 7 /* w */
            aload 1 /* dst */
            aload 3 /* src */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getRXB:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)I
            aload 2 /* nds */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 4
            aload 2 /* nds */
            invokevirtual jdk.vm.ci.code.Register.encoding:()I
            goto 5
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int
         4: iconst_0
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int
         5: iload 9 /* checkAVX */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitVEX:(IIIIIIZ)V
         6: .line 961
            iconst_0
            ireturn
        end local 9 // boolean checkAVX
        end local 8 // int wEvex
        end local 7 // int w
        end local 6 // int mmmmm
        end local 5 // int pp
        end local 4 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64Address src
        end local 2 // jdk.vm.ci.code.Register nds
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    7     1       dst  Ljdk/vm/ci/code/Register;
            0    7     2       nds  Ljdk/vm/ci/code/Register;
            0    7     3       src  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    7     4      size  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    7     5        pp  I
            0    7     6     mmmmm  I
            0    7     7         w  I
            0    7     8     wEvex  I
            0    7     9  checkAVX  Z
    MethodParameters:
          Name  Flags
      dst       
      nds       
      src       
      size      
      pp        
      mmmmm     
      w         
      wEvex     
      checkAVX  

  private void emitEVEX(int, int, int, int, int, int, int, int, int, int);
    descriptor: (IIIIIIIIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=14, args_size=11
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // int l
        start local 2 // int pp
        start local 3 // int mm
        start local 4 // int w
        start local 5 // int rxb
        start local 6 // int reg
        start local 7 // int vvvvv
        start local 8 // int z
        start local 9 // int b
        start local 10 // int aaa
         0: .line 1111
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.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;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512F:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "emitting EVEX prefix on a CPU without AVX512 support"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1113
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 2
            iload 1 /* l */
            ifeq 2
            iload 1 /* l */
            iconst_1
            if_icmpeq 2
            iload 1 /* l */
            iconst_2
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.L'L"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1114
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 3
            iload 2 /* pp */
            ifeq 3
            iload 2 /* pp */
            iconst_1
            if_icmpeq 3
            iload 2 /* pp */
            iconst_2
            if_icmpeq 3
            iload 2 /* pp */
            iconst_3
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.pp"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 1115
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 4
            iload 3 /* mm */
            iconst_1
            if_icmpeq 4
            iload 3 /* mm */
            iconst_2
            if_icmpeq 4
            iload 3 /* mm */
            iconst_3
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.mm"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 1116
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 5
            iload 4 /* w */
            ifeq 5
            iload 4 /* w */
            iconst_1
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.W"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 1118
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 6
            iload 5 /* rxb */
            bipush 7
            iand
            iload 5 /* rxb */
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.RXB"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 1119
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 7
            iload 6 /* reg */
            bipush 31
            iand
            iload 6 /* reg */
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.R'"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1120
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 8
            iload 7 /* vvvvv */
            bipush 31
            iand
            iload 7 /* vvvvv */
            if_icmpeq 8
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.V'vvvv"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 1122
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 9
            iload 8 /* z */
            ifeq 9
            iload 8 /* z */
            iconst_1
            if_icmpeq 9
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.z"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 1123
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 10
            iload 9 /* b */
            ifeq 10
            iload 9 /* b */
            iconst_1
            if_icmpeq 10
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.b"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 1124
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 11
            iload 10 /* aaa */
            bipush 7
            iand
            iload 10 /* aaa */
            if_icmpeq 11
            new java.lang.AssertionError
            dup
            ldc "invalid value for EVEX.aaa"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 1126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 98
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        12: .line 1127
            iconst_0
            istore 11 /* p1 */
        start local 11 // int p1
        13: .line 1128
            iload 11 /* p1 */
            iload 5 /* rxb */
            bipush 7
            ixor
            bipush 7
            iand
            iconst_5
            ishl
            ior
            istore 11 /* p1 */
        14: .line 1129
            iload 11 /* p1 */
            iload 6 /* reg */
            bipush 16
            if_icmpge 15
            bipush 16
            goto 16
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int int
      StackMap stack: int
        15: iconst_0
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int int
      StackMap stack: int int
        16: ior
            istore 11 /* p1 */
        17: .line 1130
            iload 11 /* p1 */
            iload 3 /* mm */
            ior
            istore 11 /* p1 */
        18: .line 1131
            aload 0 /* this */
            iload 11 /* p1 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        19: .line 1133
            iconst_0
            istore 12 /* p2 */
        start local 12 // int p2
        20: .line 1134
            iload 12 /* p2 */
            iload 4 /* w */
            bipush 7
            ishl
            ior
            istore 12 /* p2 */
        21: .line 1135
            iload 12 /* p2 */
            iload 7 /* vvvvv */
            bipush 15
            ixor
            bipush 15
            iand
            iconst_3
            ishl
            ior
            istore 12 /* p2 */
        22: .line 1136
            iload 12 /* p2 */
            iconst_4
            ior
            istore 12 /* p2 */
        23: .line 1137
            iload 12 /* p2 */
            iload 2 /* pp */
            ior
            istore 12 /* p2 */
        24: .line 1138
            aload 0 /* this */
            iload 12 /* p2 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        25: .line 1140
            iconst_0
            istore 13 /* p3 */
        start local 13 // int p3
        26: .line 1141
            iload 13 /* p3 */
            iload 8 /* z */
            bipush 7
            ishl
            ior
            istore 13 /* p3 */
        27: .line 1142
            iload 13 /* p3 */
            iload 1 /* l */
            iconst_5
            ishl
            ior
            istore 13 /* p3 */
        28: .line 1143
            iload 13 /* p3 */
            iload 9 /* b */
            iconst_4
            ishl
            ior
            istore 13 /* p3 */
        29: .line 1144
            iload 13 /* p3 */
            iload 7 /* vvvvv */
            bipush 16
            if_icmpge 30
            bipush 8
            goto 31
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int int int int
      StackMap stack: int
        30: iconst_0
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int int int int
      StackMap stack: int int
        31: ior
            istore 13 /* p3 */
        32: .line 1145
            iload 13 /* p3 */
            iload 10 /* aaa */
            ior
            istore 13 /* p3 */
        33: .line 1146
            aload 0 /* this */
            iload 13 /* p3 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
        34: .line 1147
            return
        end local 13 // int p3
        end local 12 // int p2
        end local 11 // int p1
        end local 10 // int aaa
        end local 9 // int b
        end local 8 // int z
        end local 7 // int vvvvv
        end local 6 // int reg
        end local 5 // int rxb
        end local 4 // int w
        end local 3 // int mm
        end local 2 // int pp
        end local 1 // int l
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   35     0   this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0   35     1      l  I
            0   35     2     pp  I
            0   35     3     mm  I
            0   35     4      w  I
            0   35     5    rxb  I
            0   35     6    reg  I
            0   35     7  vvvvv  I
            0   35     8      z  I
            0   35     9      b  I
            0   35    10    aaa  I
           13   35    11     p1  I
           20   35    12     p2  I
           26   35    13     p3  I
    MethodParameters:
       Name  Flags
      l      
      pp     
      mm     
      w      
      rxb    
      reg    
      vvvvv  
      z      
      b      
      aaa    

  private static int getRXBForEVEX(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.vm.ci.code.Register reg
        start local 1 // jdk.vm.ci.code.Register rm
         0: .line 1155
            aload 0 /* reg */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            iand
      StackMap locals:
      StackMap stack: int
         2: iconst_1
            ishr
            istore 2 /* rxb */
        start local 2 // int rxb
         3: .line 1156
            iload 2 /* rxb */
            aload 1 /* rm */
            ifnonnull 4
            iconst_0
            goto 5
      StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
      StackMap stack: int
         4: aload 1 /* rm */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 24
            iand
      StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
      StackMap stack: int int
         5: iconst_3
            ishr
            ior
            istore 2 /* rxb */
         6: .line 1157
            iload 2 /* rxb */
            ireturn
        end local 2 // int rxb
        end local 1 // jdk.vm.ci.code.Register rm
        end local 0 // jdk.vm.ci.code.Register reg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   reg  Ljdk/vm/ci/code/Register;
            0    7     1    rm  Ljdk/vm/ci/code/Register;
            3    7     2   rxb  I
    MethodParameters:
      Name  Flags
      reg   
      rm    

  protected final void evexPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int, int, int);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIII)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=11, locals=11, args_size=11
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register mask
        start local 3 // jdk.vm.ci.code.Register nds
        start local 4 // jdk.vm.ci.code.Register src
        start local 5 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        start local 6 // int pp
        start local 7 // int mm
        start local 8 // int w
        start local 9 // int z
        start local 10 // int b
         0: .line 1164
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            aload 2 /* mask */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 1
            getstatic jdk.vm.ci.amd64.AMD64.MASK:Ljdk/vm/ci/code/Register$RegisterCategory;
            aload 2 /* mask */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.inRC:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/code/Register;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* size */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getLFlag:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
            iload 6 /* pp */
            iload 7 /* mm */
            iload 8 /* w */
            aload 1 /* dst */
            aload 4 /* src */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getRXBForEVEX:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
            aload 1 /* dst */
            getfield jdk.vm.ci.code.Register.encoding:I
            aload 3 /* nds */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 2
            aload 3 /* nds */
            invokevirtual jdk.vm.ci.code.Register.encoding:()I
            goto 3
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int
         2: iconst_0
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int
         3: iload 9 /* z */
            iload 10 /* b */
            aload 2 /* mask */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 4
            aload 2 /* mask */
            getfield jdk.vm.ci.code.Register.encoding:I
            goto 5
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int
         4: iconst_0
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int
         5: invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitEVEX:(IIIIIIIIII)V
         6: .line 1166
            return
        end local 10 // int b
        end local 9 // int z
        end local 8 // int w
        end local 7 // int mm
        end local 6 // int pp
        end local 5 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        end local 4 // jdk.vm.ci.code.Register src
        end local 3 // jdk.vm.ci.code.Register nds
        end local 2 // jdk.vm.ci.code.Register mask
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    7     1   dst  Ljdk/vm/ci/code/Register;
            0    7     2  mask  Ljdk/vm/ci/code/Register;
            0    7     3   nds  Ljdk/vm/ci/code/Register;
            0    7     4   src  Ljdk/vm/ci/code/Register;
            0    7     5  size  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    7     6    pp  I
            0    7     7    mm  I
            0    7     8     w  I
            0    7     9     z  I
            0    7    10     b  I
    MethodParameters:
      Name  Flags
      dst   
      mask  
      nds   
      src   
      size  
      pp    
      mm    
      w     
      z     
      b     

  protected final void evexPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int, int, int);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIII)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=11, locals=11, args_size=11
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register mask
        start local 3 // jdk.vm.ci.code.Register nds
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64Address src
        start local 5 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        start local 6 // int pp
        start local 7 // int mm
        start local 8 // int w
        start local 9 // int z
        start local 10 // int b
         0: .line 1175
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
            ifne 1
            aload 2 /* mask */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 1
            getstatic jdk.vm.ci.amd64.AMD64.MASK:Ljdk/vm/ci/code/Register$RegisterCategory;
            aload 2 /* mask */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.inRC:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/code/Register;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* size */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getLFlag:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
            iload 6 /* pp */
            iload 7 /* mm */
            iload 8 /* w */
            aload 1 /* dst */
            aload 4 /* src */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getRXB:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)I
            aload 1 /* dst */
            getfield jdk.vm.ci.code.Register.encoding:I
            aload 3 /* nds */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 2
            aload 3 /* nds */
            invokevirtual jdk.vm.ci.code.Register.encoding:()I
            goto 3
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int
         2: iconst_0
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int
         3: iload 9 /* z */
            iload 10 /* b */
            aload 2 /* mask */
            invokevirtual jdk.vm.ci.code.Register.isValid:()Z
            ifeq 4
            aload 2 /* mask */
            getfield jdk.vm.ci.code.Register.encoding:I
            goto 5
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int
         4: iconst_0
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int
         5: invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitEVEX:(IIIIIIIIII)V
         6: .line 1177
            return
        end local 10 // int b
        end local 9 // int z
        end local 8 // int w
        end local 7 // int mm
        end local 6 // int pp
        end local 5 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64Address src
        end local 3 // jdk.vm.ci.code.Register nds
        end local 2 // jdk.vm.ci.code.Register mask
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
            0    7     1   dst  Ljdk/vm/ci/code/Register;
            0    7     2  mask  Ljdk/vm/ci/code/Register;
            0    7     3   nds  Ljdk/vm/ci/code/Register;
            0    7     4   src  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    7     5  size  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    7     6    pp  I
            0    7     7    mm  I
            0    7     8     w  I
            0    7     9     z  I
            0    7    10     b  I
    MethodParameters:
      Name  Flags
      dst   
      mask  
      nds   
      src   
      size  
      pp    
      mm    
      w     
      z     
      b     

  static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 69
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.values:()[Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.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 org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.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 org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.YMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ZMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize:[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
}
SourceFile: "AMD64BaseAssembler.java"
NestMembers:
  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$EVEXPrefixConfig  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$EVEXTuple  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandDataAnnotation  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize$1  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize$2  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize$3  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize$4  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$Prefix  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SSEEncoderImpl  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXEncoderImpl  org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXPrefixConfig
InnerClasses:
  public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
  public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register
  public final Scale = org.graalvm.compiler.asm.amd64.AMD64Address$Scale of org.graalvm.compiler.asm.amd64.AMD64Address
  protected final EVEXPrefixConfig = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$EVEXPrefixConfig of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  protected final EVEXTuple = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$EVEXTuple of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  public OperandDataAnnotation = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandDataAnnotation of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  public OperandSize = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  private Prefix = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$Prefix of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  private abstract SIMDEncoder = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  private SSEEncoderImpl = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SSEEncoderImpl of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  private VEXEncoderImpl = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXEncoderImpl of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  public final VEXPrefixConfig = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXPrefixConfig of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  public final AVXSize = org.graalvm.compiler.asm.amd64.AVXKind$AVXSize of org.graalvm.compiler.asm.amd64.AVXKind