[OLPC-devel] Re: compiler optimizations for the geode

Jordan Crouse jordan.crouse at amd.com
Wed Aug 16 12:30:28 EDT 2006


> Jim Gettys wrote me that Geode 
> would only issue FP instructions every other cycle.  Is it true?  I can 
> not find it in the documentation.  If it is true I need to change DFA 
> description and run benchmarks again.  Currently my Geode description 
> simulates possibility of issuing one insn per cycle (int or fp).

This is correct.  Two FP instructions cannot be issued on subsequent
cycles.

> I found that there are a few functional units for execution (fp, int, 
> load/store).  I've just need to make sure that Geode can issue at most 
> one insn per cycle.  Is this true?

Yes.

> Last thing not clear to me is int multiply and division.  Will these 
> insns block execution all other int insns until the division or multiply 
> is finished?  That is what I simulate for now.  Is execution of all 
> other int/fp insns pipelined or their execution blocks execution of 
> other insns in the corresponidng functional unit (fp, int)?

I believe that is correct - instructions will block in each corresponding
functional unit.

The Geode pipeline is very simple.  We're not superscalar in any way, shape
or form.

> If you are interesting there are two problems with gcc insn scheduler 
> for now.  Insn scheduling before the register allocation is off for 
> x86.  There is a bug which results in compiler crash when the 1st insn 
> scheduling is on and it is not fixed yet.   But there is even bigger 
> problem.  The current gcc insn scheduler can not estimate register 
> pressure.  Therefore code generated with the 1st insn scheduling is 
> usually worse for x86 (because of numerous register spills).  If the two 
> problems are solved, the generated code would be better.  But I don't 
> know when it will be fixed.

Is there anything we can to do help fix it?

-- 
Jordan Crouse
Senior Linux Engineer
Advanced Micro Devices, Inc.
<www.amd.com/embeddedprocessors>





More information about the Devel mailing list