This is the mail archive of the gcc-patches@gcc.gnu.org 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 <izamyatin@gmail.com> wrote:
> On Wed, Apr 11, 2012 at 6:10 PM, Richard Guenther
> <richard.guenther@gmail.com> wrote:
>> On Wed, Apr 11, 2012 at 3:38 PM, Andi Kleen <andi@firstfloor.org> wrote:
>>> Igor Zamyatin <izamyatin@gmail.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
> 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
behavior?

You miss a testcase that would show the effect of your patch.

Richard.

>>
>> Richard.
>>
>>> -Andi
>>>
>>> --
>>> ak@linux.intel.com -- Speaking for myself only


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