On 06/22/10 13:18, Hans-Peter Nilsson wrote:
On Mon, 21 Jun 2010, Boris Boesler wrote:
  The four instructions before the jump are placed into the
delay slots, such that the delay slots are completely filled;
but there is still the pipeline hazard, which can't be resolved
by inserting NOPs now, because there are no free slots.
GCC ports with more than one delay-slot are SOL; there be bugs.
(No port in the official repository has more than one
delay-slot, so if reorg.c ever was bug-free in that regard,
there's little chance to spot any regression.  It might even
be sanity-preserving to erroring out (or emitting a warning) in
genwhatever for such a define_delay.)
Agreed. You probably know more about the pitfalls of dealing with multiple delay slots in GCC than anyone.

What's worse is there is an ever-decreasing focus on targets with delay slots. I think these days most developers largely ignore the delay slot code and just hope it doesn't break.

Jeff

Reply via email to