< prev index next >

src/hotspot/share/c1/c1_LIRAssembler.cpp

Print this page
*** 687,14 ***
      case lir_cmp_fd2i:
      case lir_ucmp_fd2i:
        comp_fl2i(op->code(), op->in_opr1(), op->in_opr2(), op->result_opr(), op);
        break;
  
-     case lir_cmove:
-       cmove(op->condition(), op->in_opr1(), op->in_opr2(), op->result_opr(), op->type());
-       break;
- 
      case lir_shl:
      case lir_shr:
      case lir_ushr:
        if (op->in_opr2()->is_constant()) {
          shift_op(op->code(), op->in_opr1(), op->in_opr2()->as_constant_ptr()->as_jint(), op->result_opr());
--- 687,10 ---

*** 752,10 ***
--- 748,25 ---
        Unimplemented();
        break;
    }
  }
  
+ void LIR_Assembler::emit_op4(LIR_Op4* op) {
+   switch(op->code()) {
+     case lir_cmove:
+ #ifdef RISCV
+       cmove(op->condition(), op->in_opr1(), op->in_opr2(), op->in_opr3(), op->in_opr4(), op->result_opr(), op->type());
+ #else
+       cmove(op->condition(), op->in_opr1(), op->in_opr2(), op->result_opr(), op->type());
+ #endif
+       break;
+ 
+     default:
+       Unimplemented();
+       break;
+   }
+ }
  
  void LIR_Assembler::build_frame() {
    _masm->build_frame(initial_frame_size_in_bytes(), bang_size_in_bytes());
  }
  
< prev index next >