< prev index next >
src/share/vm/c1/c1_LIRGenerator.cpp
Print this page
rev 12113 : 8166561: [s390] Adaptions needed for s390 port in C1 and C2.
*** 604,614 ****
arithmetic_op(code, result, left, right, is_strictfp, tmp);
}
void LIRGenerator::shift_op(Bytecodes::Code code, LIR_Opr result_op, LIR_Opr value, LIR_Opr count, LIR_Opr tmp) {
! if (TwoOperandLIRForm && value != result_op) {
assert(count != result_op, "malformed");
__ move(value, result_op);
value = result_op;
}
--- 604,617 ----
arithmetic_op(code, result, left, right, is_strictfp, tmp);
}
void LIRGenerator::shift_op(Bytecodes::Code code, LIR_Opr result_op, LIR_Opr value, LIR_Opr count, LIR_Opr tmp) {
!
! if (TwoOperandLIRForm && value != result_op
! // Only 32bit right shifts require two operand form on S390.
! S390_ONLY(&& (code == Bytecodes::_ishr || code == Bytecodes::_iushr))) {
assert(count != result_op, "malformed");
__ move(value, result_op);
value = result_op;
}
< prev index next >