[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