2.95, x86: severe performance problems with short arithmetic

Richard Henderson rth@cygnus.com
Tue Aug 31 23:20:00 GMT 1999


On Tue, Aug 10, 1999 at 03:43:53PM -0400, John Wehle wrote:
>   1) A 16 bit write to a register immediately followed by a 32 bit read
>      of the register.  This will cause a stall.  Converting the 16 bit
>      write to a 32 bit write avoids the stall, however this may cause a
>      stall with an earlier instruction (if I recall correctly).

No, writes don't stall -- only reads.

>   2) A 16 bit write to a register followed by several other instructions
>      which don't reference the register followed by a 32 bit read of the
>      register.  This will not stall.

Incorrect.  The 16-bit write instruction has to _retire_ before
the 32-bit read can _issue_.  With reorder buffers the size that
they are, this is 20 odd cycles, worst case.



r~



More information about the Gcc mailing list