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: [PATCH] Atom: Scheduler improvements for better imul placement

On Thu, Apr 12, 2012 at 12:20 PM, Igor Zamyatin <> wrote:
> On Wed, Apr 11, 2012 at 6:10 PM, Richard Guenther
> <> wrote:
>> On Wed, Apr 11, 2012 at 3:38 PM, Andi Kleen <> wrote:
>>> Igor Zamyatin <> 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
> description

>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.


>> Richard.
>>> -Andi
>>> --
>>> -- Speaking for myself only

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