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]

how to implement pipeline errata?


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.

Thanx again for your help
Spundun


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