> 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> _______________________________________________ Devel mailing list [email protected] http://mailman.laptop.org/mailman/listinfo/devel
