This is the mail archive of the 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: Support for architectures without hardware interlocks

Hi David,

I've worked on a gcc target that was porting an architecture without
hardware interlock support. Basically, you need to emit nop operations
to avoid possible hw conflicts. At the moment, this was done by
patching the gcc scheduler to do so, Another issue to keep is to check
for hardware conflicts across basic-block boundaries. And not the
last, is to prohibit/avoid any instruction stream modification after
scheduler (e.g., peephole optimizations etc.).


On Fri, Oct 31, 2014 at 8:03 PM, David Kang <> wrote:
>  Hello,
>  I'm working on porting gcc to an architecture without hardware interlock support for floating point unit. I read that instruction latency time can be expressed in machine description file of gcc. I set the latency time of the instructions and built gcc.
> I expected that gcc would put the two dependent instructions apart automatically
> at least as many as the latency time of the first instruction.
> However, my gcc doesn't do that.
> I'm using a little old 4.7.3.
> I also expected that gcc may fill the gap with no-op when it cannot find
> other useful instructions to fill the gap.
> But, I don't see that, either.
>  Does gcc support an architecture without hardware interlock automatically?
> Could anyone help me to understand how I can enforce the latency requirements
> of two dependent instructions in gcc?
>  I saw that GCC didn't support architectures without hardware interlocks in the gcc mailing list
> which is dated in 2007. (
> Is it still true?
>  Thanks,
>  David.
> --
> ----------------------
> Dr. Dong-In "David" Kang
> Computer Scientist

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