public class org.graalvm.compiler.core.amd64.AMD64NodeMatchRules extends org.graalvm.compiler.core.gen.NodeMatchRules
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules
  super_class: org.graalvm.compiler.core.gen.NodeMatchRules
{
  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert;
    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 99
            ldc Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            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.core.amd64.AMD64NodeMatchRules.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.lir.gen.LIRGeneratorTool);
    descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.lir.gen.LIRGeneratorTool gen
         0: .line 102
            aload 0 /* this */
            aload 1 /* gen */
            invokespecial org.graalvm.compiler.core.gen.NodeMatchRules.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
         1: .line 103
            return
        end local 1 // org.graalvm.compiler.lir.gen.LIRGeneratorTool gen
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    2     1   gen  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
    MethodParameters:
      Name  Flags
      gen   

  protected org.graalvm.compiler.lir.LIRFrameState getState(org.graalvm.compiler.nodes.memory.MemoryAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.memory.MemoryAccess access
         0: .line 106
            aload 1 /* access */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode
            ifeq 2
         1: .line 107
            aload 0 /* this */
            aload 1 /* access */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.state:(Lorg/graalvm/compiler/nodes/DeoptimizingNode;)Lorg/graalvm/compiler/lir/LIRFrameState;
            areturn
         2: .line 109
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.nodes.memory.MemoryAccess access
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     1  access  Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
    MethodParameters:
        Name  Flags
      access  

  protected jdk.vm.ci.amd64.AMD64Kind getMemoryKind(org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Ljdk/vm/ci/amd64/AMD64Kind;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 113
            aload 0 /* this */
            aload 1 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLirKind:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            areturn
        end local 1 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    MethodParameters:
        Name  Flags
      access  

  protected org.graalvm.compiler.core.common.LIRKind getLirKind(org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/common/LIRKind;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 117
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            aload 1 /* access */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokeinterface org.graalvm.compiler.nodes.memory.LIRLowerableAccess.getAccessStamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
            areturn
        end local 1 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    MethodParameters:
        Name  Flags
      access  

  protected org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize getMemorySize(org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 121
            invokestatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 0 /* this */
            aload 1 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemoryKind:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 1
                    2: 2
                    3: 3
                    4: 4
                    5: 5
                    6: 6
              default: 7
          }
         1: .line 123
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         2: .line 125
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         3: .line 127
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         4: .line 129
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         5: .line 131
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         6: .line 133
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            areturn
         7: .line 135
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unsupported memory access type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemoryKind:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    8     1  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    MethodParameters:
        Name  Flags
      access  

  protected org.graalvm.compiler.core.match.ComplexMatchResult emitCompareBranchMemory(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=10, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.IfNode ifNode
        start local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 140
            aload 2 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.asCondition:()Lorg/graalvm/compiler/core/common/calc/Condition;
            astore 5 /* cond */
        start local 5 // org.graalvm.compiler.core.common.calc.Condition cond
         1: .line 141
            aload 0 /* this */
            aload 4 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemoryKind:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Ljdk/vm/ci/amd64/AMD64Kind;
            astore 6 /* kind */
        start local 6 // jdk.vm.ci.amd64.AMD64Kind kind
         2: .line 142
            iconst_0
            istore 7 /* matchedAsConstant */
        start local 7 // boolean matchedAsConstant
         3: .line 144
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 16
         4: .line 145
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 8 /* constant */
        start local 8 // jdk.vm.ci.meta.JavaConstant constant
         5: .line 146
            aload 8 /* constant */
            ifnull 11
         6: .line 147
            aload 6 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 8
            aload 8 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifne 8
            aload 8 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifne 8
         7: .line 149
            aconst_null
            areturn
         8: .line 152
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.LIRLowerableAccess org.graalvm.compiler.core.common.calc.Condition jdk.vm.ci.amd64.AMD64Kind int jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 6 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 9
            aload 8 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifne 9
            aload 8 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 7 /* matchedAsConstant */
        11: .line 154
      StackMap locals:
      StackMap stack:
            aload 6 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 13
        12: .line 156
            iconst_1
            istore 7 /* matchedAsConstant */
        13: .line 158
      StackMap locals:
      StackMap stack:
            aload 6 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifeq 16
        14: .line 159
            aload 1 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Skipping constant compares for float kinds"
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        15: .line 160
            aconst_null
            areturn
        end local 8 // jdk.vm.ci.meta.JavaConstant constant
        16: .line 163
      StackMap locals:
      StackMap stack:
            iload 7 /* matchedAsConstant */
            istore 8 /* matchedAsConstantFinal */
        start local 8 // boolean matchedAsConstantFinal
        17: .line 169
            aload 2 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* access */
            if_acmpne 18
            aload 5 /* cond */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            goto 19
      StackMap locals: int
      StackMap stack:
        18: aload 5 /* cond */
      StackMap locals:
      StackMap stack: org.graalvm.compiler.core.common.calc.Condition
        19: astore 9 /* finalCondition */
        start local 9 // org.graalvm.compiler.core.common.calc.Condition finalCondition
        20: .line 170
            new org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1
            dup
            aload 0 /* this */
            aload 1 /* ifNode */
            aload 2 /* compare */
            aload 3 /* value */
            iload 8 /* matchedAsConstantFinal */
            aload 4 /* access */
            aload 6 /* kind */
            aload 9 /* finalCondition */
            invokespecial org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.<init>:(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/core/common/calc/Condition;)V
            areturn
        end local 9 // org.graalvm.compiler.core.common.calc.Condition finalCondition
        end local 8 // boolean matchedAsConstantFinal
        end local 7 // boolean matchedAsConstant
        end local 6 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 5 // org.graalvm.compiler.core.common.calc.Condition cond
        end local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 1 // org.graalvm.compiler.nodes.IfNode ifNode
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0                    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0   21     1                  ifNode  Lorg/graalvm/compiler/nodes/IfNode;
            0   21     2                 compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0   21     3                   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   21     4                  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1   21     5                    cond  Lorg/graalvm/compiler/core/common/calc/Condition;
            2   21     6                    kind  Ljdk/vm/ci/amd64/AMD64Kind;
            3   21     7       matchedAsConstant  Z
            5   16     8                constant  Ljdk/vm/ci/meta/JavaConstant;
           17   21     8  matchedAsConstantFinal  Z
           20   21     9          finalCondition  Lorg/graalvm/compiler/core/common/calc/Condition;
    MethodParameters:
         Name  Flags
      ifNode   
      compare  
      value    
      access   

  private org.graalvm.compiler.core.match.ComplexMatchResult emitIntegerTestBranchMemory(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.IfNode x
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
        start local 3 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 191
            aload 0 /* this */
            aload 1 /* x */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
            astore 4 /* trueLabel */
        start local 4 // org.graalvm.compiler.lir.LabelRef trueLabel
         1: .line 192
            aload 0 /* this */
            aload 1 /* x */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
            astore 5 /* falseLabel */
        start local 5 // org.graalvm.compiler.lir.LabelRef falseLabel
         2: .line 193
            aload 1 /* x */
            aload 1 /* x */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.nodes.IfNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
            dstore 6 /* trueLabelProbability */
        start local 6 // double trueLabelProbability
         3: .line 194
            aload 0 /* this */
            aload 3 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemoryKind:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Ljdk/vm/ci/amd64/AMD64Kind;
            astore 8 /* kind */
        start local 8 // jdk.vm.ci.amd64.AMD64Kind kind
         4: .line 195
            aload 8 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 5
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            goto 6
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.LIRLowerableAccess org.graalvm.compiler.lir.LabelRef org.graalvm.compiler.lir.LabelRef double jdk.vm.ci.amd64.AMD64Kind
      StackMap stack:
         5: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
         6: astore 9 /* size */
        start local 9 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         7: .line 196
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifeq 12
         8: .line 197
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 10 /* constant */
        start local 10 // jdk.vm.ci.meta.JavaConstant constant
         9: .line 198
            aload 8 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 11
            aload 10 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifne 11
        10: .line 200
            aconst_null
            areturn
        11: .line 202
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* this */
            aload 3 /* access */
            aload 9 /* size */
            aload 10 /* constant */
            aload 4 /* trueLabel */
            aload 5 /* falseLabel */
            dload 6 /* trueLabelProbability */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$0(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;DLorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 10 // jdk.vm.ci.meta.JavaConstant constant
        12: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* access */
            aload 9 /* size */
            aload 2 /* value */
            aload 4 /* trueLabel */
            aload 5 /* falseLabel */
            dload 6 /* trueLabelProbability */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$1(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;DLorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 9 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 8 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 6 // double trueLabelProbability
        end local 5 // org.graalvm.compiler.lir.LabelRef falseLabel
        end local 4 // org.graalvm.compiler.lir.LabelRef trueLabel
        end local 3 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.nodes.IfNode x
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                  this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0   13     1                     x  Lorg/graalvm/compiler/nodes/IfNode;
            0   13     2                 value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   13     3                access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1   13     4             trueLabel  Lorg/graalvm/compiler/lir/LabelRef;
            2   13     5            falseLabel  Lorg/graalvm/compiler/lir/LabelRef;
            3   13     6  trueLabelProbability  D
            4   13     8                  kind  Ljdk/vm/ci/amd64/AMD64Kind;
            7   13     9                  size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            9   12    10              constant  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
        Name  Flags
      x       
      value   
      access  

  protected org.graalvm.compiler.core.match.ComplexMatchResult emitConvertMemoryOp(jdk.vm.ci.meta.PlatformKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.nodes.memory.AddressableMemoryAccess, jdk.vm.ci.meta.ValueKind<?>);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // org.graalvm.compiler.nodes.memory.AddressableMemoryAccess access
        start local 5 // jdk.vm.ci.meta.ValueKind addressKind
         0: .line 217
            aload 0 /* this */
            aload 4 /* access */
            aload 5 /* addressKind */
            aload 1 /* kind */
            aload 2 /* op */
            aload 3 /* size */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$2(Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 5 // jdk.vm.ci.meta.ValueKind addressKind
        end local 4 // org.graalvm.compiler.nodes.memory.AddressableMemoryAccess access
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 1 // jdk.vm.ci.meta.PlatformKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1         kind  Ljdk/vm/ci/meta/PlatformKind;
            0    1     2           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    1     3         size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    1     4       access  Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;
            0    1     5  addressKind  Ljdk/vm/ci/meta/ValueKind<*>;
    Signature: (Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;Ljdk/vm/ci/meta/ValueKind<*>;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    MethodParameters:
             Name  Flags
      kind         
      op           
      size         
      access       
      addressKind  

  protected org.graalvm.compiler.core.match.ComplexMatchResult emitConvertMemoryOp(jdk.vm.ci.meta.PlatformKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.nodes.memory.AddressableMemoryAccess);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // org.graalvm.compiler.nodes.memory.AddressableMemoryAccess access
         0: .line 228
            aload 0 /* this */
            aload 1 /* kind */
            aload 2 /* op */
            aload 3 /* size */
            aload 4 /* access */
            aconst_null
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 4 // org.graalvm.compiler.nodes.memory.AddressableMemoryAccess access
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 1 // jdk.vm.ci.meta.PlatformKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1    kind  Ljdk/vm/ci/meta/PlatformKind;
            0    1     2      op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    1     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    1     4  access  Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;
    MethodParameters:
        Name  Flags
      kind    
      op      
      size    
      access  

  private org.graalvm.compiler.core.match.ComplexMatchResult emitSignExtendMemory(org.graalvm.compiler.nodes.memory.AddressableMemoryAccess, int, int, jdk.vm.ci.meta.ValueKind<?>);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;IILjdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.memory.AddressableMemoryAccess access
        start local 2 // int fromBits
        start local 3 // int toBits
        start local 4 // jdk.vm.ci.meta.ValueKind addressKind
         0: .line 232
            getstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$assertionsDisabled:Z
            ifne 2
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpgt 1
            iload 3 /* toBits */
            bipush 64
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 233
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* kind */
        start local 5 // jdk.vm.ci.amd64.AMD64Kind kind
         3: .line 236
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 5
         4: .line 237
            aconst_null
            areturn
         5: .line 238
      StackMap locals: jdk.vm.ci.amd64.AMD64Kind
      StackMap stack:
            iload 3 /* toBits */
            bipush 32
            if_icmple 17
         6: .line 239
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            astore 5 /* kind */
         7: .line 240
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 7 /* size */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         8: .line 242
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 9
                   16: 11
                   32: 13
              default: 15
          }
         9: .line 244
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.memory.AddressableMemoryAccess int int jdk.vm.ci.meta.ValueKind jdk.vm.ci.amd64.AMD64Kind top org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            astore 6 /* op */
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        10: .line 245
            goto 26
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        11: .line 247
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            astore 6 /* op */
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        12: .line 248
            goto 26
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        13: .line 250
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            astore 6 /* op */
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        14: .line 251
            goto 26
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        15: .line 253
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unsupported sign extension ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* fromBits */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* toBits */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        16: .line 255
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.memory.AddressableMemoryAccess int int jdk.vm.ci.meta.ValueKind jdk.vm.ci.amd64.AMD64Kind org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            goto 26
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        17: .line 256
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            astore 5 /* kind */
        18: .line 257
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 7 /* size */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        19: .line 259
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 20
                   16: 22
                   32: 24
              default: 25
          }
        20: .line 261
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.memory.AddressableMemoryAccess int int jdk.vm.ci.meta.ValueKind jdk.vm.ci.amd64.AMD64Kind top org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            astore 6 /* op */
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        21: .line 262
            goto 26
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        22: .line 264
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            astore 6 /* op */
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        23: .line 265
            goto 26
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        24: .line 267
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        25: .line 269
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unsupported sign extension ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* fromBits */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* toBits */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        26: .line 272
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.memory.AddressableMemoryAccess int int jdk.vm.ci.meta.ValueKind jdk.vm.ci.amd64.AMD64Kind org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            aload 5 /* kind */
            ifnull 28
            aload 6 /* op */
            ifnull 28
        27: .line 273
            aload 0 /* this */
            aload 5 /* kind */
            aload 6 /* op */
            aload 7 /* size */
            aload 1 /* access */
            aload 4 /* addressKind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        28: .line 275
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 5 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 4 // jdk.vm.ci.meta.ValueKind addressKind
        end local 3 // int toBits
        end local 2 // int fromBits
        end local 1 // org.graalvm.compiler.nodes.memory.AddressableMemoryAccess access
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0   29     1       access  Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;
            0   29     2     fromBits  I
            0   29     3       toBits  I
            0   29     4  addressKind  Ljdk/vm/ci/meta/ValueKind<*>;
            3   29     5         kind  Ljdk/vm/ci/amd64/AMD64Kind;
           10   11     6           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
           12   13     6           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
           14   15     6           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
           16   17     6           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
           21   22     6           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
           23   24     6           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
           26   29     6           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            8   17     7         size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           19   29     7         size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    Signature: (Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;IILjdk/vm/ci/meta/ValueKind<*>;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    MethodParameters:
             Name  Flags
      access       
      fromBits     
      toBits       
      addressKind  

  private jdk.vm.ci.meta.Value emitReinterpretMemory(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.nodes.memory.AddressableMemoryAccess);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.core.common.LIRKind to
        start local 2 // org.graalvm.compiler.nodes.memory.AddressableMemoryAccess access
         0: .line 279
            aload 0 /* this */
            aload 2 /* access */
            invokeinterface org.graalvm.compiler.nodes.memory.AddressableMemoryAccess.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            astore 3 /* address */
        start local 3 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
         1: .line 280
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
            astore 4 /* state */
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         2: .line 281
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 1 /* to */
            aload 3 /* address */
            aload 4 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitLoad:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 2 // org.graalvm.compiler.nodes.memory.AddressableMemoryAccess access
        end local 1 // org.graalvm.compiler.core.common.LIRKind to
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     1       to  Lorg/graalvm/compiler/core/common/LIRKind;
            0    3     2   access  Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;
            1    3     3  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            2    3     4    state  Lorg/graalvm/compiler/lir/LIRFrameState;
    MethodParameters:
        Name  Flags
      to      
      access  

  private boolean supports(jdk.vm.ci.amd64.AMD64$CPUFeature);
    descriptor: (Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // jdk.vm.ci.amd64.AMD64$CPUFeature feature
         0: .line 285
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1  feature  Ljdk/vm/ci/amd64/AMD64$CPUFeature;
    MethodParameters:
         Name  Flags
      feature  

  public org.graalvm.compiler.core.match.ComplexMatchResult logicalAndNot(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode a
        start local 2 // org.graalvm.compiler.nodes.ValueNode b
         0: .line 290
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.BMI1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifne 2
         1: .line 291
            aconst_null
            areturn
         2: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* a */
            aload 2 /* b */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$3(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode b
        end local 1 // org.graalvm.compiler.nodes.ValueNode a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     1     a  Lorg/graalvm/compiler/nodes/ValueNode;
            0    3     2     b  Lorg/graalvm/compiler/nodes/ValueNode;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(And (Not a) b)")
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.core.match.ComplexMatchResult lowestSetIsolatedBit(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode a
         0: .line 298
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.BMI1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifne 2
         1: .line 299
            aconst_null
            areturn
         2: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* a */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$4(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     1     a  Lorg/graalvm/compiler/nodes/ValueNode;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(And a (Negate a))")
    MethodParameters:
      Name  Flags
      a     

  public org.graalvm.compiler.core.match.ComplexMatchResult getMaskUpToLowestSetBit(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode a
        start local 2 // org.graalvm.compiler.nodes.ValueNode b
         0: .line 306
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.BMI1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifne 2
         1: .line 307
            aconst_null
            areturn
         2: .line 311
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifne 4
         3: .line 312
            aconst_null
            areturn
         4: .line 315
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 3 /* bCst */
        start local 3 // jdk.vm.ci.meta.JavaConstant bCst
         5: .line 317
            aload 3 /* bCst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 8
         6: .line 318
            aload 3 /* bCst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 4 /* bValue */
        start local 4 // long bValue
         7: .line 319
            goto 12
        end local 4 // long bValue
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
         8: aload 3 /* bCst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 11
         9: .line 320
            aload 3 /* bCst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 4 /* bValue */
        start local 4 // long bValue
        10: .line 321
            goto 12
        end local 4 // long bValue
        11: .line 322
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 4 // long bValue
        12: .line 325
      StackMap locals: long
      StackMap stack:
            lload 4 /* bValue */
            ldc -1
            lcmp
            ifne 14
        13: .line 326
            aload 0 /* this */
            aload 1 /* a */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$5(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        14: .line 328
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // long bValue
        end local 3 // jdk.vm.ci.meta.JavaConstant bCst
        end local 2 // org.graalvm.compiler.nodes.ValueNode b
        end local 1 // org.graalvm.compiler.nodes.ValueNode a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0   15     1       a  Lorg/graalvm/compiler/nodes/ValueNode;
            0   15     2       b  Lorg/graalvm/compiler/nodes/ValueNode;
            5   15     3    bCst  Ljdk/vm/ci/meta/JavaConstant;
            7    8     4  bValue  J
           10   11     4  bValue  J
           12   15     4  bValue  J
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(Xor a (Add a b))")
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.core.match.ComplexMatchResult resetLowestSetBit(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode a
        start local 2 // org.graalvm.compiler.nodes.ValueNode b
         0: .line 334
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.BMI1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifne 2
         1: .line 335
            aconst_null
            areturn
         2: .line 338
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifne 4
         3: .line 339
            aconst_null
            areturn
         4: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 3 /* bCst */
        start local 3 // jdk.vm.ci.meta.JavaConstant bCst
         5: .line 344
            aload 3 /* bCst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 8
         6: .line 345
            aload 3 /* bCst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 4 /* bValue */
        start local 4 // long bValue
         7: .line 346
            goto 12
        end local 4 // long bValue
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
         8: aload 3 /* bCst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 11
         9: .line 347
            aload 3 /* bCst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 4 /* bValue */
        start local 4 // long bValue
        10: .line 348
            goto 12
        end local 4 // long bValue
        11: .line 349
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 4 // long bValue
        12: .line 352
      StackMap locals: long
      StackMap stack:
            lload 4 /* bValue */
            ldc -1
            lcmp
            ifne 14
        13: .line 353
            aload 0 /* this */
            aload 1 /* a */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$6(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        14: .line 355
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // long bValue
        end local 3 // jdk.vm.ci.meta.JavaConstant bCst
        end local 2 // org.graalvm.compiler.nodes.ValueNode b
        end local 1 // org.graalvm.compiler.nodes.ValueNode a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0   15     1       a  Lorg/graalvm/compiler/nodes/ValueNode;
            0   15     2       b  Lorg/graalvm/compiler/nodes/ValueNode;
            5   15     3    bCst  Ljdk/vm/ci/meta/JavaConstant;
            7    8     4  bValue  J
           10   11     4  bValue  J
           12   15     4  bValue  J
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(And a (Add a b))")
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.core.match.ComplexMatchResult integerTestBranchMemory(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.IfNode root
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 363
            aload 0 /* this */
            aload 1 /* root */
            aload 3 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitIntegerTestBranchMemory:(Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.IfNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1    root  Lorg/graalvm/compiler/nodes/IfNode;
            0    1     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            0    1     3   value  Lorg/graalvm/compiler/nodes/ValueNode;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerTest Read=access value))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerTest FloatingRead=access value))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerTest VolatileRead=access value))")})
    MethodParameters:
        Name  Flags
      root    
      access  
      value   

  public org.graalvm.compiler.core.match.ComplexMatchResult ifCompareMemory(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.IfNode root
        start local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 388
            aload 0 /* this */
            aload 1 /* root */
            aload 2 /* compare */
            aload 3 /* value */
            aload 4 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitCompareBranchMemory:(Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 1 // org.graalvm.compiler.nodes.IfNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1     root  Lorg/graalvm/compiler/nodes/IfNode;
            0    1     2  compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0    1     3    value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     4   access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerEquals=compare value Read=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerLessThan=compare value Read=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerBelow=compare value Read=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerEquals=compare value FloatingRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerLessThan=compare value FloatingRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerBelow=compare value FloatingRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerEquals=compare value VolatileRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerLessThan=compare value VolatileRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerBelow=compare value VolatileRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (FloatEquals=compare value Read=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (FloatEquals=compare value FloatingRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (FloatEquals=compare value VolatileRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (FloatLessThan=compare value Read=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (FloatLessThan=compare value FloatingRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (FloatLessThan=compare value VolatileRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (PointerEquals=compare value Read=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (PointerEquals=compare value FloatingRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (PointerEquals=compare value VolatileRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (ObjectEquals=compare value Read=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (ObjectEquals=compare value FloatingRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (ObjectEquals=compare value VolatileRead=access))")})
    MethodParameters:
         Name  Flags
      root     
      compare  
      value    
      access   

  public org.graalvm.compiler.core.match.ComplexMatchResult ifCompareValueCas(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/ValueCompareAndSwapNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.IfNode root
        start local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode cas
         0: .line 396
            getstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$assertionsDisabled:Z
            ifne 1
            aload 2 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            getstatic org.graalvm.compiler.core.common.calc.CanonicalCondition.EQ:Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 397
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            aload 4 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.getExpectedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 3
            aload 4 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.hasExactlyOneUsage:()Z
            ifeq 3
         2: .line 398
            aload 0 /* this */
            aload 4 /* cas */
            aload 1 /* root */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/java/ValueCompareAndSwapNode;Lorg/graalvm/compiler/nodes/IfNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$7(Lorg/graalvm/compiler/nodes/java/ValueCompareAndSwapNode;Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
         3: .line 410
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode cas
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 1 // org.graalvm.compiler.nodes.IfNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    4     1     root  Lorg/graalvm/compiler/nodes/IfNode;
            0    4     2  compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0    4     3    value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     4      cas  Lorg/graalvm/compiler/nodes/java/ValueCompareAndSwapNode;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(If (ObjectEquals=compare value ValueCompareAndSwap=cas))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (PointerEquals=compare value ValueCompareAndSwap=cas))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (FloatEquals=compare value ValueCompareAndSwap=cas))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerEquals=compare value ValueCompareAndSwap=cas))")})
    MethodParameters:
         Name  Flags
      root     
      compare  
      value    
      cas      

  public org.graalvm.compiler.core.match.ComplexMatchResult ifCompareLogicCas(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/LogicCompareAndSwapNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.IfNode root
        start local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode cas
         0: .line 418
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 5 /* constant */
        start local 5 // jdk.vm.ci.meta.JavaConstant constant
         1: .line 419
            getstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$assertionsDisabled:Z
            ifne 2
            aload 2 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            getstatic org.graalvm.compiler.core.common.calc.CanonicalCondition.EQ:Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 420
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 5 /* constant */
            ifnull 12
            aload 4 /* cas */
            invokevirtual org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.hasExactlyOneUsage:()Z
            ifeq 12
         3: .line 421
            aload 5 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 6 /* constantValue */
        start local 6 // long constantValue
         4: .line 423
            lload 6 /* constantValue */
            lconst_0
            lcmp
            ifne 7
         5: .line 424
            iconst_0
            istore 8 /* successIsTrue */
        start local 8 // boolean successIsTrue
         6: .line 425
            goto 11
        end local 8 // boolean successIsTrue
      StackMap locals: long
      StackMap stack:
         7: lload 6 /* constantValue */
            lconst_1
            lcmp
            ifne 10
         8: .line 426
            iconst_1
            istore 8 /* successIsTrue */
        start local 8 // boolean successIsTrue
         9: .line 427
            goto 11
        end local 8 // boolean successIsTrue
        10: .line 428
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 8 // boolean successIsTrue
        11: .line 430
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* cas */
            aload 1 /* root */
            iload 8 /* successIsTrue */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/java/LogicCompareAndSwapNode;Lorg/graalvm/compiler/nodes/IfNode;Z)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$8(Lorg/graalvm/compiler/nodes/java/LogicCompareAndSwapNode;Lorg/graalvm/compiler/nodes/IfNode;ZLorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 8 // boolean successIsTrue
        end local 6 // long constantValue
        12: .line 443
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // jdk.vm.ci.meta.JavaConstant constant
        end local 4 // org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode cas
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 1 // org.graalvm.compiler.nodes.IfNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0   13     1           root  Lorg/graalvm/compiler/nodes/IfNode;
            0   13     2        compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0   13     3          value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   13     4            cas  Lorg/graalvm/compiler/nodes/java/LogicCompareAndSwapNode;
            1   13     5       constant  Ljdk/vm/ci/meta/JavaConstant;
            4   12     6  constantValue  J
            6    7     8  successIsTrue  Z
            9   10     8  successIsTrue  Z
           11   12     8  successIsTrue  Z
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(If (ObjectEquals=compare value LogicCompareAndSwap=cas))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (PointerEquals=compare value LogicCompareAndSwap=cas))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (FloatEquals=compare value LogicCompareAndSwap=cas))"), org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerEquals=compare value LogicCompareAndSwap=cas))")})
    MethodParameters:
         Name  Flags
      root     
      compare  
      value    
      cas      

  public org.graalvm.compiler.core.match.ComplexMatchResult ifLogicCas(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.IfNode root
        start local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 448
            aload 0 /* this */
            aload 1 /* root */
            aload 2 /* compare */
            aload 3 /* value */
            aload 4 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitCompareBranchMemory:(Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 1 // org.graalvm.compiler.nodes.IfNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1     root  Lorg/graalvm/compiler/nodes/IfNode;
            0    1     2  compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0    1     3    value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     4   access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(If (ObjectEquals=compare value FloatingRead=access))")
    MethodParameters:
         Name  Flags
      root     
      compare  
      value    
      access   

  public org.graalvm.compiler.core.match.ComplexMatchResult rotateLeftConstant(org.graalvm.compiler.nodes.calc.LeftShiftNode, org.graalvm.compiler.nodes.calc.UnsignedRightShiftNode);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;Lorg/graalvm/compiler/nodes/calc/UnsignedRightShiftNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.calc.LeftShiftNode lshift
        start local 2 // org.graalvm.compiler.nodes.calc.UnsignedRightShiftNode rshift
         0: .line 453
            aload 1 /* lshift */
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 3 /* lshiftConst */
        start local 3 // jdk.vm.ci.meta.JavaConstant lshiftConst
         1: .line 454
            aload 2 /* rshift */
            invokevirtual org.graalvm.compiler.nodes.calc.UnsignedRightShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 4 /* rshiftConst */
        start local 4 // jdk.vm.ci.meta.JavaConstant rshiftConst
         2: .line 455
            aload 1 /* lshift */
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getShiftAmountMask:()I
            aload 3 /* lshiftConst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            aload 4 /* rshiftConst */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iadd
            iand
            ifne 4
         3: .line 456
            aload 0 /* this */
            aload 1 /* lshift */
            aload 3 /* lshiftConst */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$9(Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
         4: .line 463
      StackMap locals: jdk.vm.ci.meta.JavaConstant jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aconst_null
            areturn
        end local 4 // jdk.vm.ci.meta.JavaConstant rshiftConst
        end local 3 // jdk.vm.ci.meta.JavaConstant lshiftConst
        end local 2 // org.graalvm.compiler.nodes.calc.UnsignedRightShiftNode rshift
        end local 1 // org.graalvm.compiler.nodes.calc.LeftShiftNode lshift
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    5     1       lshift  Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
            0    5     2       rshift  Lorg/graalvm/compiler/nodes/calc/UnsignedRightShiftNode;
            1    5     3  lshiftConst  Ljdk/vm/ci/meta/JavaConstant;
            2    5     4  rshiftConst  Ljdk/vm/ci/meta/JavaConstant;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(Or (LeftShift=lshift value Constant) (UnsignedRightShift=rshift value Constant))")
    MethodParameters:
        Name  Flags
      lshift  
      rshift  

  public org.graalvm.compiler.core.match.ComplexMatchResult rotateRightVariable(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.ConstantNode delta
        start local 3 // org.graalvm.compiler.nodes.ValueNode shiftAmount
         0: .line 468
            aload 2 /* delta */
            invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lconst_0
            lcmp
            ifeq 1
            aload 2 /* delta */
            invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            ldc 32
            lcmp
            ifne 2
         1: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            aload 3 /* shiftAmount */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$10(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
         2: .line 471
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode shiftAmount
        end local 2 // org.graalvm.compiler.nodes.ConstantNode delta
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     1        value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    3     2        delta  Lorg/graalvm/compiler/nodes/ConstantNode;
            0    3     3  shiftAmount  Lorg/graalvm/compiler/nodes/ValueNode;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(Or (LeftShift value (Sub Constant=delta shiftAmount)) (UnsignedRightShift value shiftAmount))")
    MethodParameters:
             Name  Flags
      value        
      delta        
      shiftAmount  

  public org.graalvm.compiler.core.match.ComplexMatchResult rotateLeftVariable(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.ValueNode shiftAmount
        start local 3 // org.graalvm.compiler.nodes.ConstantNode delta
         0: .line 476
            aload 3 /* delta */
            invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lconst_0
            lcmp
            ifeq 1
            aload 3 /* delta */
            invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            ldc 32
            lcmp
            ifne 2
         1: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            aload 2 /* shiftAmount */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$11(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
         2: .line 479
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.graalvm.compiler.nodes.ConstantNode delta
        end local 2 // org.graalvm.compiler.nodes.ValueNode shiftAmount
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     1        value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    3     2  shiftAmount  Lorg/graalvm/compiler/nodes/ValueNode;
            0    3     3        delta  Lorg/graalvm/compiler/nodes/ConstantNode;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(Or (LeftShift value shiftAmount) (UnsignedRightShift value (Sub Constant=delta shiftAmount)))")
    MethodParameters:
             Name  Flags
      value        
      shiftAmount  
      delta        

  private org.graalvm.compiler.core.match.ComplexMatchResult binaryRead(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 483
            aload 0 /* this */
            aload 1 /* op */
            aload 2 /* size */
            aload 3 /* value */
            aload 4 /* access */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$12(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1      op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    1     2    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    1     3   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     4  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    MethodParameters:
        Name  Flags
      op      
      size    
      value   
      access  

  private org.graalvm.compiler.core.match.ComplexMatchResult binaryRead(org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp op
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 488
            getstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$assertionsDisabled:Z
            ifne 1
            aload 2 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpeq 1
            aload 2 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* op */
            aload 2 /* size */
            aload 3 /* value */
            aload 4 /* access */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$13(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 4 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    2     1      op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            0    2     2    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    2     3   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     4  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    MethodParameters:
        Name  Flags
      op      
      size    
      value   
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult addMemory(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 497
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemorySize:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 3 /* size */
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         1: .line 498
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.isXmmType:()Z
            ifeq 7
         2: .line 499
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            ifeq 6
         3: .line 500
            aload 0 /* this */
            aload 3 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 4
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VADDSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            goto 5
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.LIRLowerableAccess org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules
         4: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VADDSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.LIRLowerableAccess org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp
         5: aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         6: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         7: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    8     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1    8     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add value Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Add value FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Add value VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      value   
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult subMemory(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 513
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemorySize:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 3 /* size */
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         1: .line 514
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.isXmmType:()Z
            ifeq 7
         2: .line 515
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            ifeq 6
         3: .line 516
            aload 0 /* this */
            aload 3 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 4
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VSUBSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            goto 5
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.LIRLowerableAccess org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules
         4: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VSUBSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.LIRLowerableAccess org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp
         5: aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         6: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         7: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    8     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1    8     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Sub value Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub value FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub value VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      value   
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult mulMemory(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 529
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemorySize:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 3 /* size */
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         1: .line 530
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.isXmmType:()Z
            ifeq 7
         2: .line 531
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            ifeq 6
         3: .line 532
            aload 0 /* this */
            aload 3 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 4
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VMULSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            goto 5
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.LIRLowerableAccess org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules
         4: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VMULSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.LIRLowerableAccess org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp
         5: aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         6: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         7: .line 537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.IMUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    8     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1    8     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Mul value Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Mul value FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Mul value VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      value   
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult andMemory(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 545
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemorySize:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 3 /* size */
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         1: .line 546
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.isXmmType:()Z
            ifeq 3
         2: .line 547
            aconst_null
            areturn
         3: .line 549
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    4     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1    4     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(And value Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(And value FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(And value VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      value   
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult orMemory(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 557
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemorySize:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 3 /* size */
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         1: .line 558
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.isXmmType:()Z
            ifeq 3
         2: .line 559
            aconst_null
            areturn
         3: .line 561
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    4     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1    4     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Or value Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Or value FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Or value VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      value   
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult xorMemory(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 569
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemorySize:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 3 /* size */
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         1: .line 570
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.isXmmType:()Z
            ifeq 3
         2: .line 571
            aconst_null
            areturn
         3: .line 573
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 3 /* size */
            aload 1 /* value */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.binaryRead:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    4     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1    4     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Xor value Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor value FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor value VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      value   
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult writeNarrow(org.graalvm.compiler.nodes.memory.WriteNode, org.graalvm.compiler.nodes.calc.NarrowNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/WriteNode;Lorg/graalvm/compiler/nodes/calc/NarrowNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.memory.WriteNode root
        start local 2 // org.graalvm.compiler.nodes.calc.NarrowNode narrow
         0: .line 579
            aload 0 /* this */
            aload 1 /* root */
            aload 2 /* narrow */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/memory/WriteNode;Lorg/graalvm/compiler/nodes/calc/NarrowNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$14(Lorg/graalvm/compiler/nodes/memory/WriteNode;Lorg/graalvm/compiler/nodes/calc/NarrowNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 2 // org.graalvm.compiler.nodes.calc.NarrowNode narrow
        end local 1 // org.graalvm.compiler.nodes.memory.WriteNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1    root  Lorg/graalvm/compiler/nodes/memory/WriteNode;
            0    1     2  narrow  Lorg/graalvm/compiler/nodes/calc/NarrowNode;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(Write object Narrow=narrow)")
    MethodParameters:
        Name  Flags
      root    
      narrow  

  public org.graalvm.compiler.core.match.ComplexMatchResult signExtend(org.graalvm.compiler.nodes.calc.SignExtendNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/SignExtendNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.calc.SignExtendNode root
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 590
            aload 0 /* this */
            aload 2 /* access */
            aload 1 /* root */
            invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getInputBits:()I
            aload 1 /* root */
            invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getResultBits:()I
            aconst_null
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitSignExtendMemory:(Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;IILjdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.calc.SignExtendNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1    root  Lorg/graalvm/compiler/nodes/calc/SignExtendNode;
            0    1     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(SignExtend Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(SignExtend FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(SignExtend VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      root    
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult zeroExtend(org.graalvm.compiler.nodes.calc.ZeroExtendNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.calc.ZeroExtendNode root
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 597
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getMemoryKind:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Ljdk/vm/ci/amd64/AMD64Kind;
            astore 3 /* memoryKind */
        start local 3 // jdk.vm.ci.amd64.AMD64Kind memoryKind
         1: .line 598
            aload 0 /* this */
            aload 3 /* memoryKind */
            aload 1 /* root */
            aload 2 /* access */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$15(Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 3 // jdk.vm.ci.amd64.AMD64Kind memoryKind
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.calc.ZeroExtendNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    2     1        root  Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
            0    2     2      access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1    2     3  memoryKind  Ljdk/vm/ci/amd64/AMD64Kind;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(ZeroExtend Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(ZeroExtend FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(ZeroExtend VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      root    
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult narrowRead(org.graalvm.compiler.nodes.calc.NarrowNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/NarrowNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.calc.NarrowNode root
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 605
            new org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2
            dup
            aload 0 /* this */
            aload 2 /* access */
            aload 1 /* root */
            invokespecial org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.<init>:(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/nodes/calc/NarrowNode;)V
            areturn
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.calc.NarrowNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1    root  Lorg/graalvm/compiler/nodes/calc/NarrowNode;
            0    1     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Narrow Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Narrow FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Narrow VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      root    
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult signExtendNarrowRead(org.graalvm.compiler.nodes.calc.SignExtendNode, org.graalvm.compiler.nodes.calc.NarrowNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/SignExtendNode;Lorg/graalvm/compiler/nodes/calc/NarrowNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.calc.SignExtendNode root
        start local 2 // org.graalvm.compiler.nodes.calc.NarrowNode narrow
        start local 3 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 623
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 2 /* narrow */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* kind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 624
            aload 0 /* this */
            aload 3 /* access */
            aload 2 /* narrow */
            invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getResultBits:()I
            aload 1 /* root */
            invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getResultBits:()I
            aload 4 /* kind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitSignExtendMemory:(Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;IILjdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        end local 4 // org.graalvm.compiler.core.common.LIRKind kind
        end local 3 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 2 // org.graalvm.compiler.nodes.calc.NarrowNode narrow
        end local 1 // org.graalvm.compiler.nodes.calc.SignExtendNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    2     1    root  Lorg/graalvm/compiler/nodes/calc/SignExtendNode;
            0    2     2  narrow  Lorg/graalvm/compiler/nodes/calc/NarrowNode;
            0    2     3  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
            1    2     4    kind  Lorg/graalvm/compiler/core/common/LIRKind;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(SignExtend (Narrow=narrow Read=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(SignExtend (Narrow=narrow FloatingRead=access))"), org.graalvm.compiler.core.match.MatchRule(value = "(SignExtend (Narrow=narrow VolatileRead=access))")})
    MethodParameters:
        Name  Flags
      root    
      narrow  
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult floatConvert(org.graalvm.compiler.nodes.calc.FloatConvertNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/FloatConvertNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.calc.FloatConvertNode root
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 631
            invokestatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert:()[I
            aload 1 /* root */
            invokevirtual org.graalvm.compiler.nodes.calc.FloatConvertNode.getFloatConvert:()Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iaload
            tableswitch { // 1 - 10
                    1: 5
                    2: 2
                    3: 6
                    4: 3
                    5: 8
                    6: 10
                    7: 1
                    8: 7
                    9: 9
                   10: 4
              default: 11
          }
         1: .line 633
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSD2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         2: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSD2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         3: .line 637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSD2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         4: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSS2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         5: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSS2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         6: .line 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSS2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         7: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         8: .line 647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
         9: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        10: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* access */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
            areturn
        11: .line 653
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.calc.FloatConvertNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0   12     1    root  Lorg/graalvm/compiler/nodes/calc/FloatConvertNode;
            0   12     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(FloatConvert Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(FloatConvert FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(FloatConvert VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      root    
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult reinterpret(org.graalvm.compiler.nodes.calc.ReinterpretNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.calc.ReinterpretNode root
        start local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
         0: .line 661
            aload 0 /* this */
            aload 1 /* root */
            aload 2 /* access */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$16(Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 2 // org.graalvm.compiler.nodes.memory.LIRLowerableAccess access
        end local 1 // org.graalvm.compiler.nodes.calc.ReinterpretNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1    root  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
            0    1     2  access  Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Reinterpret Read=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Reinterpret FloatingRead=access)"), org.graalvm.compiler.core.match.MatchRule(value = "(Reinterpret VolatileRead=access)")})
    MethodParameters:
        Name  Flags
      root    
      access  

  public org.graalvm.compiler.core.match.ComplexMatchResult writeReinterpret(org.graalvm.compiler.nodes.memory.WriteNode, org.graalvm.compiler.nodes.calc.ReinterpretNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/WriteNode;Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 1 // org.graalvm.compiler.nodes.memory.WriteNode root
        start local 2 // org.graalvm.compiler.nodes.calc.ReinterpretNode reinterpret
         0: .line 670
            aload 0 /* this */
            aload 2 /* reinterpret */
            aload 1 /* root */
            invokedynamic evaluate(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/nodes/memory/WriteNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
                  org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.lambda$17(Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/nodes/memory/WriteNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
                  (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 2 // org.graalvm.compiler.nodes.calc.ReinterpretNode reinterpret
        end local 1 // org.graalvm.compiler.nodes.memory.WriteNode root
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     1         root  Lorg/graalvm/compiler/nodes/memory/WriteNode;
            0    1     2  reinterpret  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.match.MatchRule(value = "(Write object Reinterpret=reinterpret)")
    MethodParameters:
             Name  Flags
      root         
      reinterpret  

  public org.graalvm.compiler.core.amd64.AMD64LIRGenerator getLIRGeneratorTool();
    descriptor: ()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
         0: .line 682
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            checkcast org.graalvm.compiler.core.amd64.AMD64LIRGenerator
            areturn
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;

  protected org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator getArithmeticLIRGenerator();
    descriptor: ()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
         0: .line 686
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getArithmetic:()Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;
            checkcast org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
            areturn
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;

  public org.graalvm.compiler.lir.gen.LIRGeneratorTool getLIRGeneratorTool();
    descriptor: ()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 99
            getstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.amd64.AMD64Kind.values:()[Ljdk/vm/ci/amd64/AMD64Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 6
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.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 jdk.vm.ci.amd64.AMD64Kind.MASK16:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 31
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.MASK32:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 32
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.MASK64:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 33
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.MASK8:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 30
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_4
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_5
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 12
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 17
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 14
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 15
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 16
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 13
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 18
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 23
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 20
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 21
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 22
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 19
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V32_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 7
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V32_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 8
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 24
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 29
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 26
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 27
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 28
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 25
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V64_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 9
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V64_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 11
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V64_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 10
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_2
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            dup
            putstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError

  static org.graalvm.compiler.lir.LabelRef access$2(org.graalvm.compiler.core.amd64.AMD64NodeMatchRules, org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static jdk.vm.ci.meta.Value access$3(org.graalvm.compiler.core.amd64.AMD64NodeMatchRules, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 99
            getstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.core.common.calc.FloatConvert.values:()[Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 7
            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.core.common.calc.FloatConvert.D2I:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.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.core.common.calc.FloatConvert.D2L:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 10
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2I:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2L:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_3
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.I2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.I2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_5
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.L2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.L2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 6
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            dup
            putstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError

  private jdk.vm.ci.meta.Value lambda$0(org.graalvm.compiler.nodes.memory.LIRLowerableAccess, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.JavaConstant, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;DLorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=12, locals=10, args_size=8
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 8 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 203
            aload 0 /* this */
            aload 1
            invokeinterface org.graalvm.compiler.nodes.memory.LIRLowerableAccess.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            astore 9 /* address */
        start local 9 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
         1: .line 204
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp
            dup
            aload 2
            aload 9 /* address */
            aload 3
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 4
            aload 5
            dload 6
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 205
            aconst_null
            areturn
        end local 9 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 8 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     8  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1    3     9  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;

  private jdk.vm.ci.meta.Value lambda$1(org.graalvm.compiler.nodes.memory.LIRLowerableAccess, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;DLorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=12, locals=10, args_size=8
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 8 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 209
            aload 0 /* this */
            aload 1
            invokeinterface org.graalvm.compiler.nodes.memory.LIRLowerableAccess.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            astore 9 /* address */
        start local 9 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
         1: .line 210
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
            dup
            aload 2
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            aload 0 /* this */
            aload 3
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 9 /* address */
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 4
            aload 5
            dload 6
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 211
            aconst_null
            areturn
        end local 9 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 8 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     8  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1    3     9  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;

  private jdk.vm.ci.meta.Value lambda$2(org.graalvm.compiler.nodes.memory.AddressableMemoryAccess, jdk.vm.ci.meta.ValueKind, jdk.vm.ci.meta.PlatformKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 6 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 218
            aload 0 /* this */
            aload 1
            invokeinterface org.graalvm.compiler.nodes.memory.AddressableMemoryAccess.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            astore 7 /* address */
        start local 7 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
         1: .line 219
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
            astore 8 /* state */
        start local 8 // org.graalvm.compiler.lir.LIRFrameState state
         2: .line 220
            aload 2
            ifnull 4
         3: .line 221
            aload 7 /* address */
            aload 2
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64AddressValue.withKind:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            astore 7 /* address */
         4: .line 223
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64AddressValue org.graalvm.compiler.lir.LIRFrameState
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 3
            aload 4
            aload 5
            aload 7 /* address */
            aload 8 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertMemoryOp:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 8 // org.graalvm.compiler.lir.LIRFrameState state
        end local 7 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 6 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    5     6  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1    5     7  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            2    5     8    state  Lorg/graalvm/compiler/lir/LIRFrameState;

  private jdk.vm.ci.meta.Value lambda$3(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 293
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitLogicalAndNot:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     3  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$4(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 2 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 301
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitLowestSetIsolatedBit:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 2 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     2  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$5(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 2 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 326
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitGetMaskUpToLowestSetBit:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 2 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     2  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$6(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 2 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 353
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitResetLowestSetBit:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 2 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     2  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$7(org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode, org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/java/ValueCompareAndSwapNode;Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=12, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 399
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLirKind:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* kind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 400
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
            astore 5 /* trueLabel */
        start local 5 // org.graalvm.compiler.lir.LabelRef trueLabel
         2: .line 401
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
            astore 6 /* falseLabel */
        start local 6 // org.graalvm.compiler.lir.LabelRef falseLabel
         3: .line 402
            aload 2
            aload 2
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.nodes.IfNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
            dstore 7 /* trueLabelProbability */
        start local 7 // double trueLabelProbability
         4: .line 403
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.getExpectedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            astore 9 /* expectedValue */
        start local 9 // jdk.vm.ci.meta.Value expectedValue
         5: .line 404
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.getNewValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            astore 10 /* newValue */
        start local 10 // jdk.vm.ci.meta.Value newValue
         6: .line 405
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            astore 11 /* address */
        start local 11 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
         7: .line 406
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 4 /* kind */
            aload 11 /* address */
            aload 9 /* expectedValue */
            aload 10 /* newValue */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompareAndSwapBranch:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
         8: .line 407
            aconst_null
            areturn
        end local 11 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 10 // jdk.vm.ci.meta.Value newValue
        end local 9 // jdk.vm.ci.meta.Value expectedValue
        end local 7 // double trueLabelProbability
        end local 6 // org.graalvm.compiler.lir.LabelRef falseLabel
        end local 5 // org.graalvm.compiler.lir.LabelRef trueLabel
        end local 4 // org.graalvm.compiler.core.common.LIRKind kind
        end local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                  this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    9     3               builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1    9     4                  kind  Lorg/graalvm/compiler/core/common/LIRKind;
            2    9     5             trueLabel  Lorg/graalvm/compiler/lir/LabelRef;
            3    9     6            falseLabel  Lorg/graalvm/compiler/lir/LabelRef;
            4    9     7  trueLabelProbability  D
            5    9     9         expectedValue  Ljdk/vm/ci/meta/Value;
            6    9    10              newValue  Ljdk/vm/ci/meta/Value;
            7    9    11               address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;

  private jdk.vm.ci.meta.Value lambda$8(org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode, org.graalvm.compiler.nodes.IfNode, boolean, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/java/LogicCompareAndSwapNode;Lorg/graalvm/compiler/nodes/IfNode;ZLorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=14, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 4 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 431
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLirKind:(Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* kind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 432
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
            astore 6 /* trueLabel */
        start local 6 // org.graalvm.compiler.lir.LabelRef trueLabel
         2: .line 433
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
            astore 7 /* falseLabel */
        start local 7 // org.graalvm.compiler.lir.LabelRef falseLabel
         3: .line 434
            aload 2
            aload 2
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.nodes.IfNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
            dstore 8 /* trueLabelProbability */
        start local 8 // double trueLabelProbability
         4: .line 435
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.getExpectedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            astore 10 /* expectedValue */
        start local 10 // jdk.vm.ci.meta.Value expectedValue
         5: .line 436
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.getNewValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            astore 11 /* newValue */
        start local 11 // jdk.vm.ci.meta.Value newValue
         6: .line 437
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            astore 12 /* address */
        start local 12 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
         7: .line 438
            iload 3
            ifeq 8
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            goto 9
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode org.graalvm.compiler.nodes.IfNode int org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.core.common.LIRKind org.graalvm.compiler.lir.LabelRef org.graalvm.compiler.lir.LabelRef double jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.lir.amd64.AMD64AddressValue
      StackMap stack:
         8: getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.core.common.calc.Condition
         9: astore 13 /* condition */
        start local 13 // org.graalvm.compiler.core.common.calc.Condition condition
        10: .line 439
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 5 /* kind */
            aload 12 /* address */
            aload 10 /* expectedValue */
            aload 11 /* newValue */
            aload 13 /* condition */
            aload 6 /* trueLabel */
            aload 7 /* falseLabel */
            dload 8 /* trueLabelProbability */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompareAndSwapBranch:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
        11: .line 440
            aconst_null
            areturn
        end local 13 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 12 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 11 // jdk.vm.ci.meta.Value newValue
        end local 10 // jdk.vm.ci.meta.Value expectedValue
        end local 8 // double trueLabelProbability
        end local 7 // org.graalvm.compiler.lir.LabelRef falseLabel
        end local 6 // org.graalvm.compiler.lir.LabelRef trueLabel
        end local 5 // org.graalvm.compiler.core.common.LIRKind kind
        end local 4 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0   12     4               builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1   12     5                  kind  Lorg/graalvm/compiler/core/common/LIRKind;
            2   12     6             trueLabel  Lorg/graalvm/compiler/lir/LabelRef;
            3   12     7            falseLabel  Lorg/graalvm/compiler/lir/LabelRef;
            4   12     8  trueLabelProbability  D
            5   12    10         expectedValue  Ljdk/vm/ci/meta/Value;
            6   12    11              newValue  Ljdk/vm/ci/meta/Value;
            7   12    12               address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
           10   12    13             condition  Lorg/graalvm/compiler/core/common/calc/Condition;

  private jdk.vm.ci.meta.Value lambda$9(org.graalvm.compiler.nodes.calc.LeftShiftNode, jdk.vm.ci.meta.JavaConstant, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 457
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            astore 4 /* a */
        start local 4 // jdk.vm.ci.meta.Value a
         1: .line 458
            aload 4 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 5 /* size */
        start local 5 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         2: .line 459
            getstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$assertionsDisabled:Z
            ifne 3
            aload 5 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpeq 3
            aload 5 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 460
      StackMap locals: jdk.vm.ci.meta.Value org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            aload 5 /* size */
            aload 4 /* a */
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShiftConst:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 5 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 4 // jdk.vm.ci.meta.Value a
        end local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    4     3  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1    4     4        a  Ljdk/vm/ci/meta/Value;
            2    4     5     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;

  private jdk.vm.ci.meta.Value lambda$10(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 469
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitRor:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     3  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$11(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 477
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitRol:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     3  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$12(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 5 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 483
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 1
            aload 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 0 /* this */
            aload 3
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 4
            invokeinterface org.graalvm.compiler.nodes.memory.LIRLowerableAccess.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
         1: .line 484
            aload 0 /* this */
            aload 4
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
         2: .line 483
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryMemory:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
         3: .line 484
            areturn
        end local 5 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    4     5  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$13(org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 5 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 489
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 1
            aload 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 0 /* this */
            aload 3
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 4
            invokeinterface org.graalvm.compiler.nodes.memory.LIRLowerableAccess.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
         1: .line 490
            aload 0 /* this */
            aload 4
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
         2: .line 489
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryMemory:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
         3: .line 490
            areturn
        end local 5 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    4     5  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$14(org.graalvm.compiler.nodes.memory.WriteNode, org.graalvm.compiler.nodes.calc.NarrowNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/WriteNode;Lorg/graalvm/compiler/nodes/calc/NarrowNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 580
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 1
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* writeKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind writeKind
         1: .line 581
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 4 /* writeKind */
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.state:(Lorg/graalvm/compiler/nodes/DeoptimizingNode;)Lorg/graalvm/compiler/lir/LIRFrameState;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitStore:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
         2: .line 582
            aconst_null
            areturn
        end local 4 // org.graalvm.compiler.core.common.LIRKind writeKind
        end local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    3     3    builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1    3     4  writeKind  Lorg/graalvm/compiler/core/common/LIRKind;

  private jdk.vm.ci.meta.Value lambda$15(jdk.vm.ci.amd64.AMD64Kind, org.graalvm.compiler.nodes.calc.ZeroExtendNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 4 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 598
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 1
            aload 2
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getResultBits:()I
            aload 0 /* this */
            aload 3
            invokeinterface org.graalvm.compiler.nodes.memory.LIRLowerableAccess.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            aload 0 /* this */
            aload 3
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitZeroExtendMemory:(Ljdk/vm/ci/amd64/AMD64Kind;ILorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 4 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    1     4  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;

  private jdk.vm.ci.meta.Value lambda$16(org.graalvm.compiler.nodes.calc.ReinterpretNode, org.graalvm.compiler.nodes.memory.LIRLowerableAccess, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 662
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 1
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* kind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 663
            aload 0 /* this */
            aload 4 /* kind */
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitReinterpretMemory:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/nodes/memory/AddressableMemoryAccess;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 4 // org.graalvm.compiler.core.common.LIRKind kind
        end local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    2     3  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1    2     4     kind  Lorg/graalvm/compiler/core/common/LIRKind;

  private jdk.vm.ci.meta.Value lambda$17(org.graalvm.compiler.nodes.calc.ReinterpretNode, org.graalvm.compiler.nodes.memory.WriteNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/nodes/memory/WriteNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
        start local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
         0: .line 671
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 1
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* kind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 672
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 5 /* value */
        start local 5 // jdk.vm.ci.meta.AllocatableValue value
         2: .line 674
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            astore 6 /* address */
        start local 6 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
         3: .line 675
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            aload 4 /* kind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            aload 6 /* address */
            aload 5 /* value */
            aload 0 /* this */
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitStore:(Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
         4: .line 676
            aconst_null
            areturn
        end local 6 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 5 // jdk.vm.ci.meta.AllocatableValue value
        end local 4 // org.graalvm.compiler.core.common.LIRKind kind
        end local 3 // org.graalvm.compiler.core.gen.NodeLIRBuilder builder
        end local 0 // org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
            0    5     3  builder  Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
            1    5     4     kind  Lorg/graalvm/compiler/core/common/LIRKind;
            2    5     5    value  Ljdk/vm/ci/meta/AllocatableValue;
            3    5     6  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
}
SourceFile: "AMD64NodeMatchRules.java"
NestMembers:
  org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1  org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
  public final AMD64BinaryArithmetic = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public AMD64RMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final AMD64Shift = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public SSEOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public VexRVMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public OperandSize = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1
  org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2
  public TestBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public TestConstBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow