Patchwork [x86-Atom] Enabling look-ahead scheduling feature for Atom processors

login
register
mail settings
Submitter Igor Zamyatin
Date Aug. 24, 2012, 7:22 a.m.
Message ID <CAKdSQZ=Zi_HDR8iBsSs_kgtJ+rpKCtFe=yAhbqt7VWXOSFroBg@mail.gmail.com>
Download mbox | patch
Permalink /patch/179772/
State New
Headers show

Comments

Igor Zamyatin - Aug. 24, 2012, 7:22 a.m.
Hi!

Following change enables look ahead feature in the code scheduler for
Atom processors. This gives quite reasonable gain for some benchmarks
for mobile market.

Overall compile time increase for SPEC2000 is about 1%.

Regtested for x86_64 and also bootstrapped with "--with-arch=core2
--with-cpu=atom"
Ok for trunk?

Thanks,
Igor

Changelog:

2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
	case for Atom processor.
Uros Bizjak - Aug. 24, 2012, 7:35 a.m.
On Fri, Aug 24, 2012 at 9:22 AM, Igor Zamyatin <izamyatin@gmail.com> wrote:

> Following change enables look ahead feature in the code scheduler for
> Atom processors. This gives quite reasonable gain for some benchmarks
> for mobile market.
>
> Overall compile time increase for SPEC2000 is about 1%.
>
> Regtested for x86_64 and also bootstrapped with "--with-arch=core2
> --with-cpu=atom"
>
> 2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
>
>         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
>         case for Atom processor.

OK.

Thanks,
Uros.
Kirill Yukhin - Aug. 24, 2012, 3:37 p.m.
> OK.
>
Checked in
http://gcc.gnu.org/ml/gcc-cvs/2012-08/msg00626.html

Thanks, K

Patch

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 976bbb4..331e29a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -24103,6 +24103,7 @@  ia32_multipass_dfa_lookahead (void)
     case PROCESSOR_CORE2_64:
     case PROCESSOR_COREI7_32:
     case PROCESSOR_COREI7_64:
+    case PROCESSOR_ATOM:
       /* Generally, we want haifa-sched:max_issue() to look ahead as far
         as many instructions can be executed on a cycle, i.e.,
         issue_rate.  I wonder why tuning for many CPUs does not do this.  */