public class org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp extends org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp
  super_class: org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction
{
  public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp> TYPE;
    descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/lir/aarch64/AArch64Compare$FloatCompareOp;>;

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

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

  private final org.graalvm.compiler.core.common.calc.Condition condition;
    descriptor: Lorg/graalvm/compiler/core/common/calc/Condition;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  public void <init>(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp this
        start local 1 // jdk.vm.ci.meta.Value x
        start local 2 // jdk.vm.ci.meta.Value y
        start local 3 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 4 // boolean unorderedIsTrue
         0: .line 114
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            invokespecial org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
         1: .line 115
            getstatic org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.$assertionsDisabled:Z
            ifne 2
            aload 2 /* y */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
            aload 2 /* y */
            aload 3 /* condition */
            iload 4 /* unorderedIsTrue */
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.isFloatCmpConstant:(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Z)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 116
      StackMap locals: org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.core.common.calc.Condition int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* x */
            putfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
         3: .line 117
            aload 0 /* this */
            aload 2 /* y */
            putfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.y:Ljdk/vm/ci/meta/Value;
         4: .line 118
            aload 0 /* this */
            aload 3 /* condition */
            putfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.condition:Lorg/graalvm/compiler/core/common/calc/Condition;
         5: .line 119
            aload 0 /* this */
            iload 4 /* unorderedIsTrue */
            putfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.unorderedIsTrue:Z
         6: .line 120
            return
        end local 4 // boolean unorderedIsTrue
        end local 3 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 2 // jdk.vm.ci.meta.Value y
        end local 1 // jdk.vm.ci.meta.Value x
        end local 0 // org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/graalvm/compiler/lir/aarch64/AArch64Compare$FloatCompareOp;
            0    7     1                x  Ljdk/vm/ci/meta/Value;
            0    7     2                y  Ljdk/vm/ci/meta/Value;
            0    7     3        condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0    7     4  unorderedIsTrue  Z
    MethodParameters:
                 Name  Flags
      x                
      y                
      condition        
      unorderedIsTrue  

  public static boolean isFloatCmpConstant(jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.vm.ci.meta.Value val
        start local 1 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 2 // boolean unorderedIsTrue
         0: .line 128
            aload 1 /* condition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpne 1
            iload 2 /* unorderedIsTrue */
            ifne 3
      StackMap locals:
      StackMap stack:
         1: aload 1 /* condition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpne 2
            iload 2 /* unorderedIsTrue */
            ifeq 3
         2: .line 129
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
            aload 0 /* val */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // boolean unorderedIsTrue
        end local 1 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 0 // jdk.vm.ci.meta.Value val
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0              val  Ljdk/vm/ci/meta/Value;
            0    5     1        condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0    5     2  unorderedIsTrue  Z
    MethodParameters:
                 Name  Flags
      val              
      condition        
      unorderedIsTrue  

  public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp this
        start local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
         0: .line 136
            getstatic org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            bipush 8
            imul
            istore 3 /* size */
        start local 3 // int size
         2: .line 138
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.y:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 12
         3: .line 139
            aload 2 /* masm */
            iload 3 /* size */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.y:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fcmp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         4: .line 147
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.condition:Lorg/graalvm/compiler/core/common/calc/Condition;
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpne 8
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.unorderedIsTrue:Z
            ifeq 8
         5: .line 152
            iconst_4
            istore 4 /* nzcv */
        start local 4 // int nzcv
         6: .line 153
            aload 2 /* masm */
            iload 3 /* size */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.y:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            iload 4 /* nzcv */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.VC:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fccmp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
        end local 4 // int nzcv
         7: .line 154
            goto 13
      StackMap locals: int
      StackMap stack:
         8: aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.condition:Lorg/graalvm/compiler/core/common/calc/Condition;
            getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpne 13
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.unorderedIsTrue:Z
            ifne 13
         9: .line 159
            iconst_4
            istore 4 /* nzcv */
        start local 4 // int nzcv
        10: .line 160
            aload 2 /* masm */
            iload 3 /* size */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.y:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            iload 4 /* nzcv */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.VC:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fccmp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
        end local 4 // int nzcv
        11: .line 162
            goto 13
        12: .line 164
      StackMap locals:
      StackMap stack:
            aload 2 /* masm */
            iload 3 /* size */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fcmpZero:(ILjdk/vm/ci/code/Register;)V
        13: .line 166
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int size
        end local 2 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 0 // org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/graalvm/compiler/lir/aarch64/AArch64Compare$FloatCompareOp;
            0   14     1   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0   14     2  masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            2   14     3  size  I
            6    7     4  nzcv  I
           10   11     4  nzcv  I
    MethodParameters:
      Name  Flags
      crb   
      masm  

  public void verify();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp this
         0: .line 170
            getstatic org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.y:Ljdk/vm/ci/meta/Value;
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "a: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.x:Ljdk/vm/ci/meta/Value;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " b: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp.y:Ljdk/vm/ci/meta/Value;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 171
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/aarch64/AArch64Compare$FloatCompareOp;
}
SourceFile: "AArch64Compare.java"
NestHost: org.graalvm.compiler.lir.aarch64.AArch64Compare
InnerClasses:
  public final ConditionFlag = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
  public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction
  public FloatCompareOp = org.graalvm.compiler.lir.aarch64.AArch64Compare$FloatCompareOp of org.graalvm.compiler.lir.aarch64.AArch64Compare