< prev index next >

src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp

Print this page
*** 1438,11 ***
    }
    __ bind(done);
  }
  
  // result = condition ? opr1 : opr2
! void LIR_Assembler::cmove(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2, LIR_Opr result, BasicType type) {
    Assembler::branch_condition acond = Assembler::bcondEqual, ncond = Assembler::bcondNotEqual;
    switch (condition) {
      case lir_cond_equal:        acond = Assembler::bcondEqual;    ncond = Assembler::bcondNotEqual; break;
      case lir_cond_notEqual:     acond = Assembler::bcondNotEqual; ncond = Assembler::bcondEqual;    break;
      case lir_cond_less:         acond = Assembler::bcondLow;      ncond = Assembler::bcondNotLow;   break;
--- 1438,14 ---
    }
    __ bind(done);
  }
  
  // result = condition ? opr1 : opr2
! void LIR_Assembler::cmove(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2, LIR_Opr result, BasicType type,
+                           LIR_Opr cmp_opr1, LIR_Opr cmp_opr2) {
+   assert(cmp_opr1 == LIR_OprFact::illegalOpr && cmp_opr2 == LIR_OprFact::illegalOpr, "unnecessary cmp oprs on s390");
+ 
    Assembler::branch_condition acond = Assembler::bcondEqual, ncond = Assembler::bcondNotEqual;
    switch (condition) {
      case lir_cond_equal:        acond = Assembler::bcondEqual;    ncond = Assembler::bcondNotEqual; break;
      case lir_cond_notEqual:     acond = Assembler::bcondNotEqual; ncond = Assembler::bcondEqual;    break;
      case lir_cond_less:         acond = Assembler::bcondLow;      ncond = Assembler::bcondNotLow;   break;
< prev index next >