Normally, the hw that does an integer div or mul is very different the hw executes the fp version. Float mult/div should probably be handled by a different unit.
Ali Sent from my ARM powered device On May 27, 2011, at 7:09 AM, Maximilien Breughe <maximilien.breu...@elis.ugent.be> wrote: > 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 > gem5-users@m5sim.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > _______________________________________________ gem5-users mailing list gem5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users