multiplies by powers of two

Henry Cejtin henry@sourcelight.com
Fri, 13 Jul 2001 16:00:14 -0500


Isn't it an advantage to spill it as early as possible?  I'm thinking of 2
distinct reasons: one is that the register is then marked as free so you could
use it.  (This probably is bogus because if you had any use you would have
done so.)  The other is the write buffers.  The memory subsystem has a few
(I don't remember how many, but it is a small number, perhaps 2) of buffers
which let the CPU get ahead of writes completing.  If you do the write early
then the data goes to the write buffer waiting for a chance to get to memory.
(I think, for instance, that I-cache fetches take precedence, but I don't know
about data reads.)
I don't know how any of this interacts with the cache, which is clearly the
common case.