Hello,
I am using M5's inorder model (in ALPHA_SE mode).
I found out that the InOrderCPU::createBackEndSked only makes schedules
for the MultDivUnit IF the instruction is an Integer
multiplication/division. It doesn't do this for floating point mul/divs.
Is there a special purpose for this?
Changing it to allow for fp mul/div only involves changing the following
lines:
in cpu/inorder/cpu.cc in the function InOrderCPU::createBackEndSked:
---else if (inst->opClass() == IntMultOp || inst->opClass() == IntDivOp) {
X.needs(MDU, MultDivUnit::StartMultDiv);
+++else if (inst->opClass() == IntMultOp || inst->opClass() == IntDivOp
|| inst->opClass() == FloatDivOp|| inst->opClass() == FloatMultOp ) {
X.needs(MDU, MultDivUnit::StartMultDiv);
and similar lines in cpu/inorder/resources/mult_div_unit.cc (in
functions MultDivUnit::getSlot, MultDivUnit::execute and
MultDivUnit::exeMulDiv).
Kind regards,
Max
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users