< prev index next >

src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

Print this page

        

*** 1343,1352 **** --- 1343,1364 ---- op->in_opr2(), op->in_opr3(), op->result_opr(), op->info()); break; + case lir_fmad: + __ vfmadd231sd(op->in_opr3()->as_xmm_double_reg(), + op->in_opr1()->as_xmm_double_reg(), + op->in_opr2()->as_xmm_double_reg()); + __ movdqu(op->result_opr()->as_xmm_double_reg(), op->in_opr3()->as_xmm_double_reg()); + break; + case lir_fmaf: + __ vfmadd231ss(op->in_opr3()->as_xmm_float_reg(), + op->in_opr1()->as_xmm_float_reg(), + op->in_opr2()->as_xmm_float_reg()); + __ movdqu(op->result_opr()->as_xmm_float_reg(), op->in_opr3()->as_xmm_float_reg()); + break; default: ShouldNotReachHere(); break; } } void LIR_Assembler::emit_opBranch(LIR_OpBranch* op) {
< prev index next >