This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Atom: Scheduler improvements for better imul placement
On Thu, Apr 12, 2012 at 12:20 PM, Igor Zamyatin <firstname.lastname@example.org> wrote:
> On Wed, Apr 11, 2012 at 6:10 PM, Richard Guenther
> <email@example.com> wrote:
>> On Wed, Apr 11, 2012 at 3:38 PM, Andi Kleen <firstname.lastname@example.org> wrote:
>>> Igor Zamyatin <email@example.com> writes:
>>>> Hi All!
>>>> It is known that imul placement is rather critical for Atom processors
>>>> and changes try to improve imul scheduling for Atom.
>>>> This gives +5% performance on several tests from new OA 2.0 testsuite
>>>> from EEMBC.
>>>> Tested for i386 and x86-64, ok for trunk?
>>> Did you measure how much this slows down the compiler when compiling
>>> for Atom? The new pass looks rather slow.
>> Also please explain why adjusting the automaton for Atom is not a way to
>> attack this issue.
> If I understand the question correctly - it's a dynamic check and it's
> not clear how to describe this adjusting statically in machine
>From reading the code (the comments are not clear to me) you seem to
produce two adjacent IMUL instructions from within the ready list - but
first check that there is only a single one. So I fail to see how it can work.
Can atom execute two IMUL in parallel? Or what exactly is the pipeline
You miss a testcase that would show the effect of your patch.
>>> firstname.lastname@example.org -- Speaking for myself only