src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCNodeMatchRules.java
changeset 48861 47f19ff9903c
parent 47216 71c04702a3d5
child 50330 2cbc42a5764b
equal deleted inserted replaced
48860:5bce1b7e7800 48861:47f19ff9903c
    27 import static jdk.vm.ci.sparc.SPARCKind.HWORD;
    27 import static jdk.vm.ci.sparc.SPARCKind.HWORD;
    28 import static jdk.vm.ci.sparc.SPARCKind.WORD;
    28 import static jdk.vm.ci.sparc.SPARCKind.WORD;
    29 import static jdk.vm.ci.sparc.SPARCKind.XWORD;
    29 import static jdk.vm.ci.sparc.SPARCKind.XWORD;
    30 
    30 
    31 import org.graalvm.compiler.core.common.LIRKind;
    31 import org.graalvm.compiler.core.common.LIRKind;
       
    32 import org.graalvm.compiler.core.common.calc.CanonicalCondition;
    32 import org.graalvm.compiler.core.common.calc.Condition;
    33 import org.graalvm.compiler.core.common.calc.Condition;
    33 import org.graalvm.compiler.core.gen.NodeMatchRules;
    34 import org.graalvm.compiler.core.gen.NodeMatchRules;
    34 import org.graalvm.compiler.core.match.ComplexMatchResult;
    35 import org.graalvm.compiler.core.match.ComplexMatchResult;
    35 import org.graalvm.compiler.core.match.MatchRule;
    36 import org.graalvm.compiler.core.match.MatchRule;
    36 import org.graalvm.compiler.debug.GraalError;
    37 import org.graalvm.compiler.debug.GraalError;
   145     @MatchRule("(If (PointerEquals=compare value LogicCompareAndSwap=cas))")
   146     @MatchRule("(If (PointerEquals=compare value LogicCompareAndSwap=cas))")
   146     @MatchRule("(If (FloatEquals=compare value LogicCompareAndSwap=cas))")
   147     @MatchRule("(If (FloatEquals=compare value LogicCompareAndSwap=cas))")
   147     @MatchRule("(If (IntegerEquals=compare value LogicCompareAndSwap=cas))")
   148     @MatchRule("(If (IntegerEquals=compare value LogicCompareAndSwap=cas))")
   148     public ComplexMatchResult ifCompareLogicCas(IfNode root, CompareNode compare, ValueNode value, LogicCompareAndSwapNode cas) {
   149     public ComplexMatchResult ifCompareLogicCas(IfNode root, CompareNode compare, ValueNode value, LogicCompareAndSwapNode cas) {
   149         JavaConstant constant = value.asJavaConstant();
   150         JavaConstant constant = value.asJavaConstant();
   150         assert compare.condition() == Condition.EQ;
   151         assert compare.condition() == CanonicalCondition.EQ;
   151         if (constant != null && cas.usages().count() == 1) {
   152         if (constant != null && cas.usages().count() == 1) {
   152             long constantValue = constant.asLong();
   153             long constantValue = constant.asLong();
   153             boolean successIsTrue;
   154             boolean successIsTrue;
   154             if (constantValue == 0) {
   155             if (constantValue == 0) {
   155                 successIsTrue = false;
   156                 successIsTrue = false;