comparison src/share/vm/c1/c1_LIRAssembler.cpp @ 6084:6759698e3140

7133857: exp() and pow() should use the x87 ISA on x86 Summary: use x87 instructions to implement exp() and pow() in interpreter/c1/c2. Reviewed-by: kvn, never, twisti
author roland
date Tue, 15 May 2012 10:10:23 +0200
parents 701a83c86f28
children 957c266d8bc5 7a302948f5a4
comparison
equal deleted inserted replaced
6057:8f972594effc 6084:6759698e3140
716 case lir_shr: 716 case lir_shr:
717 case lir_ushr: 717 case lir_ushr:
718 if (op->in_opr2()->is_constant()) { 718 if (op->in_opr2()->is_constant()) {
719 shift_op(op->code(), op->in_opr1(), op->in_opr2()->as_constant_ptr()->as_jint(), op->result_opr()); 719 shift_op(op->code(), op->in_opr1(), op->in_opr2()->as_constant_ptr()->as_jint(), op->result_opr());
720 } else { 720 } else {
721 shift_op(op->code(), op->in_opr1(), op->in_opr2(), op->result_opr(), op->tmp_opr()); 721 shift_op(op->code(), op->in_opr1(), op->in_opr2(), op->result_opr(), op->tmp1_opr());
722 } 722 }
723 break; 723 break;
724 724
725 case lir_add: 725 case lir_add:
726 case lir_sub: 726 case lir_sub:
744 case lir_sin: 744 case lir_sin:
745 case lir_tan: 745 case lir_tan:
746 case lir_cos: 746 case lir_cos:
747 case lir_log: 747 case lir_log:
748 case lir_log10: 748 case lir_log10:
749 case lir_exp:
750 case lir_pow:
749 intrinsic_op(op->code(), op->in_opr1(), op->in_opr2(), op->result_opr(), op); 751 intrinsic_op(op->code(), op->in_opr1(), op->in_opr2(), op->result_opr(), op);
750 break; 752 break;
751 753
752 case lir_logic_and: 754 case lir_logic_and:
753 case lir_logic_or: 755 case lir_logic_or: