I don't think I can respond to every point in this discussion, but here are
my general thoughts:

- Though they look superficially similar, the SPARC/MIPS single/double FP
accesses shouldn't necessarily be handled the same way as x86
partial-register writes.  They're both awkward and ugly, but there are
different degrees of abomination at play here.

- From Gabe's description, I think the "hack" he put in for SPARC is
actually the right way to solve the FP register issue.  To the extent
possible, the source and destination register indices should be sufficient
to manage instruction dependences without any extraneous calculation, and
his solution of treating the double-register accesses as two registers meets
this criterion, while Korey's width attribute does not.

- A modern out-of-order CPU implementation is not very likely to allocate
single- and double-precision FP regs differently, IMO.  It might be
interesting to read up on the MIPS R10K (there was a good IEEE Micro article
on it many years ago) to see how they treat this.  It might require some
hacking in the CPU model for these ISAs to know that an instruction with two
dest regs really just needs one destination reg.  Then again if there are no
FP instructions that actually have two destinations then you don't even need
to check, just always allocate one and ignore the number of entries in the
destRegIdx array.

Steve
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to