This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: how to implement pipeline errata?


On Thu, Mar 20, 2003 at 04:20:40PM -0800, Spundun Bhatt wrote:
> Hi gcc
> I am looking to implement a workaround in gcc backend to avoid an
> instruction sequence which produces erroneous output due to an error in
> pipeline forwarding.
> Namely if I have an arithmatic instruciont 
> 'arith Rd, R1,R2'
> then I can not use instruction
> 'ST Rd,R3,offset' in the next to instruction slots.
> 
> >From what I read, peep-hole,splits and function unit definitions seem to
> work for optimizations and only try to avoid these occurances rather
> than force to avoid the sequence at any cost, which is what I want.
> I thought about define_delay as an alternative but that looks so
> complecated because of the huge number of arithmatic instructions.. I
> will have to "semi-handcode" nops at all the places...
> 
> I am sure all architectures have gone through similar erroneous chips,
> so I was hoping gcc might have some provision for it.

I recommend doing this sort of thing in the assembler instead - the
impact is pretty small.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]