< prev index next >
src/share/vm/c1/c1_LIR.cpp
Print this page
rev 9434 : 8138952: C1: Distinguish between PPC32 and PPC64
Reviewed-by: twisti
*** 53,63 ****
return FrameMap::nr2xmmreg(xmm_regnrLo());
}
#endif // X86
! #if defined(SPARC) || defined(PPC)
FloatRegister LIR_OprDesc::as_float_reg() const {
return FrameMap::nr2floatreg(fpu_regnr());
}
--- 53,63 ----
return FrameMap::nr2xmmreg(xmm_regnrLo());
}
#endif // X86
! #if defined(SPARC) || defined(PPC32)
FloatRegister LIR_OprDesc::as_float_reg() const {
return FrameMap::nr2floatreg(fpu_regnr());
}
*** 65,75 ****
return FrameMap::nr2floatreg(fpu_regnrHi());
}
#endif
! #if defined(ARM) || defined (AARCH64)
FloatRegister LIR_OprDesc::as_float_reg() const {
return as_FloatRegister(fpu_regnr());
}
--- 65,75 ----
return FrameMap::nr2floatreg(fpu_regnrHi());
}
#endif
! #if defined(ARM) || defined(AARCH64) || defined(PPC64)
FloatRegister LIR_OprDesc::as_float_reg() const {
return as_FloatRegister(fpu_regnr());
}
*** 205,225 ****
case T_LONG:
assert((kindfield == cpu_register || kindfield == stack_value) &&
size_field() == double_size, "must match");
break;
case T_FLOAT:
! // FP return values can be also in CPU registers on ARM and PPC (softfp ABI)
assert((kindfield == fpu_register || kindfield == stack_value
ARM_ONLY(|| kindfield == cpu_register)
! PPC_ONLY(|| kindfield == cpu_register) ) &&
size_field() == single_size, "must match");
break;
case T_DOUBLE:
! // FP return values can be also in CPU registers on ARM and PPC (softfp ABI)
assert((kindfield == fpu_register || kindfield == stack_value
ARM_ONLY(|| kindfield == cpu_register)
! PPC_ONLY(|| kindfield == cpu_register) ) &&
size_field() == double_size, "must match");
break;
case T_BOOLEAN:
case T_CHAR:
case T_BYTE:
--- 205,225 ----
case T_LONG:
assert((kindfield == cpu_register || kindfield == stack_value) &&
size_field() == double_size, "must match");
break;
case T_FLOAT:
! // FP return values can be also in CPU registers on ARM and PPC32 (softfp ABI)
assert((kindfield == fpu_register || kindfield == stack_value
ARM_ONLY(|| kindfield == cpu_register)
! PPC32_ONLY(|| kindfield == cpu_register) ) &&
size_field() == single_size, "must match");
break;
case T_DOUBLE:
! // FP return values can be also in CPU registers on ARM and PPC32 (softfp ABI)
assert((kindfield == fpu_register || kindfield == stack_value
ARM_ONLY(|| kindfield == cpu_register)
! PPC32_ONLY(|| kindfield == cpu_register) ) &&
size_field() == double_size, "must match");
break;
case T_BOOLEAN:
case T_CHAR:
case T_BYTE:
*** 556,566 ****
LIR_OpConvert* opConvert = (LIR_OpConvert*)op;
assert(opConvert->_info == NULL, "must be");
if (opConvert->_opr->is_valid()) do_input(opConvert->_opr);
if (opConvert->_result->is_valid()) do_output(opConvert->_result);
! #ifdef PPC
if (opConvert->_tmp1->is_valid()) do_temp(opConvert->_tmp1);
if (opConvert->_tmp2->is_valid()) do_temp(opConvert->_tmp2);
#endif
do_stub(opConvert->_stub);
--- 556,566 ----
LIR_OpConvert* opConvert = (LIR_OpConvert*)op;
assert(opConvert->_info == NULL, "must be");
if (opConvert->_opr->is_valid()) do_input(opConvert->_opr);
if (opConvert->_result->is_valid()) do_output(opConvert->_result);
! #ifdef PPC32
if (opConvert->_tmp1->is_valid()) do_temp(opConvert->_tmp1);
if (opConvert->_tmp2->is_valid()) do_temp(opConvert->_tmp2);
#endif
do_stub(opConvert->_stub);
*** 1951,1961 ****
// LIR_OpConvert
void LIR_OpConvert::print_instr(outputStream* out) const {
print_bytecode(out, bytecode());
in_opr()->print(out); out->print(" ");
result_opr()->print(out); out->print(" ");
! #ifdef PPC
if(tmp1()->is_valid()) {
tmp1()->print(out); out->print(" ");
tmp2()->print(out); out->print(" ");
}
#endif
--- 1951,1961 ----
// LIR_OpConvert
void LIR_OpConvert::print_instr(outputStream* out) const {
print_bytecode(out, bytecode());
in_opr()->print(out); out->print(" ");
result_opr()->print(out); out->print(" ");
! #ifdef PPC32
if(tmp1()->is_valid()) {
tmp1()->print(out); out->print(" ");
tmp2()->print(out); out->print(" ");
}
#endif
< prev index next >