< prev index next >

src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp

Print this page
*** 2004,11 ***
    } else {
      Unimplemented();
    }
  }
  
! void LIR_Assembler::cmove(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2, LIR_Opr result, BasicType type) {
    Assembler::Condition acond, ncond;
    switch (condition) {
      case lir_cond_equal:        acond = Assembler::equal;        ncond = Assembler::notEqual;     break;
      case lir_cond_notEqual:     acond = Assembler::notEqual;     ncond = Assembler::equal;        break;
      case lir_cond_less:         acond = Assembler::less;         ncond = Assembler::greaterEqual; break;
--- 2004,14 ---
    } else {
      Unimplemented();
    }
  }
  
! 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 x86");
+ 
    Assembler::Condition acond, ncond;
    switch (condition) {
      case lir_cond_equal:        acond = Assembler::equal;        ncond = Assembler::notEqual;     break;
      case lir_cond_notEqual:     acond = Assembler::notEqual;     ncond = Assembler::equal;        break;
      case lir_cond_less:         acond = Assembler::less;         ncond = Assembler::greaterEqual; break;
< prev index next >