public abstract class org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp extends org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp
  super_class: org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
{
  protected jdk.vm.ci.meta.Value output;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Def()

  protected jdk.vm.ci.meta.Value input0;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Use()

  protected jdk.vm.ci.meta.Value input1;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Use()

  protected jdk.vm.ci.meta.Value[] temps;
    descriptor: [Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp()

  public void <init>(org.graalvm.compiler.lir.LIRInstructionClass<? extends org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp>, jdk.vm.ci.code.Register[]);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstructionClass;[Ljdk/vm/ci/code/Register;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp this
        start local 1 // org.graalvm.compiler.lir.LIRInstructionClass type
        start local 2 // jdk.vm.ci.code.Register[] registers
         0: .line 55
            aload 0 /* this */
            aload 1 /* type */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
         1: .line 57
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            putfield org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp.input0:Ljdk/vm/ci/meta/Value;
         2: .line 58
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64.xmm1:Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            putfield org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp.input1:Ljdk/vm/ci/meta/Value;
         3: .line 59
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            putfield org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp.output:Ljdk/vm/ci/meta/Value;
         4: .line 61
            aload 0 /* this */
            aload 2 /* registers */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64HotSpotHelper.registersToValues:([Ljdk/vm/ci/code/Register;)[Ljdk/vm/ci/meta/Value;
            putfield org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp.temps:[Ljdk/vm/ci/meta/Value;
         5: .line 62
            return
        end local 2 // jdk.vm.ci.code.Register[] registers
        end local 1 // org.graalvm.compiler.lir.LIRInstructionClass type
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicBinaryOp;
            0    6     1       type  Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicBinaryOp;>;
            0    6     2  registers  [Ljdk/vm/ci/code/Register;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicBinaryOp;>;[Ljdk/vm/ci/code/Register;)V
    MethodParameters:
           Name  Flags
      type       
      registers  

  public final org.graalvm.compiler.lir.Variable emitLIRWrapper(org.graalvm.compiler.lir.gen.LIRGenerator, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGenerator;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp this
        start local 1 // org.graalvm.compiler.lir.gen.LIRGenerator gen
        start local 2 // jdk.vm.ci.meta.Value x
        start local 3 // jdk.vm.ci.meta.Value y
         0: .line 65
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* x */
            aastore
            dup
            iconst_1
            aload 3 /* y */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* kind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 66
            getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
            aload 4 /* kind */
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 5 /* xmm0Value */
        start local 5 // jdk.vm.ci.code.RegisterValue xmm0Value
         2: .line 67
            aload 1 /* gen */
            aload 5 /* xmm0Value */
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         3: .line 68
            getstatic jdk.vm.ci.amd64.AMD64.xmm1:Ljdk/vm/ci/code/Register;
            aload 4 /* kind */
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 6 /* xmm1Value */
        start local 6 // jdk.vm.ci.code.RegisterValue xmm1Value
         4: .line 69
            aload 1 /* gen */
            aload 6 /* xmm1Value */
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         5: .line 70
            aload 1 /* gen */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 71
            aload 1 /* gen */
            aload 4 /* kind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 7 /* result */
        start local 7 // org.graalvm.compiler.lir.Variable result
         7: .line 72
            aload 1 /* gen */
            aload 7 /* result */
            aload 5 /* xmm0Value */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         8: .line 73
            aload 7 /* result */
            areturn
        end local 7 // org.graalvm.compiler.lir.Variable result
        end local 6 // jdk.vm.ci.code.RegisterValue xmm1Value
        end local 5 // jdk.vm.ci.code.RegisterValue xmm0Value
        end local 4 // org.graalvm.compiler.core.common.LIRKind kind
        end local 3 // jdk.vm.ci.meta.Value y
        end local 2 // jdk.vm.ci.meta.Value x
        end local 1 // org.graalvm.compiler.lir.gen.LIRGenerator gen
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicBinaryOp;
            0    9     1        gen  Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            0    9     2          x  Ljdk/vm/ci/meta/Value;
            0    9     3          y  Ljdk/vm/ci/meta/Value;
            1    9     4       kind  Lorg/graalvm/compiler/core/common/LIRKind;
            2    9     5  xmm0Value  Ljdk/vm/ci/code/RegisterValue;
            4    9     6  xmm1Value  Ljdk/vm/ci/code/RegisterValue;
            7    9     7     result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
      Name  Flags
      gen   
      x     
      y     
}
SourceFile: "AMD64MathIntrinsicBinaryOp.java"
InnerClasses:
  public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
  public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
  public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction