Patchwork 0005-Switch-Core-2-to-new-tuning

login
register
mail settings
Submitter H.J. Lu
Date Dec. 2, 2010, 3:42 p.m.
Message ID <AANLkTimkEjFp0FcywoCrzf+i--4HF5FA7B--_NfD8-6U@mail.gmail.com>
Download mbox | patch
Permalink /patch/73982/
State New
Headers show

Comments

H.J. Lu - Dec. 2, 2010, 3:42 p.m.
On Wed, Dec 1, 2010 at 1:50 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Wed, Dec 1, 2010 at 10:37 AM, Maxim Kuvyrkov <maxim@codesourcery.com> wrote:
>> On Dec 1, 2010, at 3:00 AM, Jack Howarth wrote:
>>
>>> On Tue, Nov 30, 2010 at 01:51:41PM +0100, Uros Bizjak wrote:
>>>> On Tue, Nov 30, 2010 at 1:39 PM, Maxim Kuvyrkov <maxim@codesourcery.com> wrote:
>>>>> This patch switches Core 2 to "new" tuning that Core i7 uses.
>>>>>
>>>>> The "new" tuning very much resembles tuning for generic32 and generic64 CPUs.  Generic tuning appears to provide best performance results on Core 2/i7 hardware.
>>>>>
>>>>> OK for trunk?
>>>>
>>>> Can you please summarize SPEC2k, SPEC2k6 and Polyhedron results for
>>>> patched and unpatched gcc?
>>>>
>>>> Thanks,
>>>> Uros.
>>>
>>> Uros,
>>>   On x86-apple-darwin10, benchmarking the Polyhedron 2005 suite using a dual 2.8 GHz
>>> Xeon 2008 MacPro, I get the following results with -mtune=generic and -mtune=core2
>>> at -m64 and -m32. These are for r167305 with both 0005-Switch-Core-2-to-new-tuning
>>> and 0006-Core-2-i7-DFA applied.
>>> ...
>>> It is interesting that at -m32, -mtune=core2 shows a net
>>> improvement whereas at -m64 that option is a wash compared
>>> to -mtune=generic.
>>
>> That's what I expected.  Jack, thanks for testing the patches on Polyhedron benchmarks.
>
> Thanks to H.J. and Jack for the results. These results are no worse
> than existing "generic" scheduling. Since this patch is mainly tuning
> (with a new DFA, of course), it is OK for mainline even in stage 3.
>
> We are all looking forward for H.J.'s experimental stuff ;)
>

Here is the first one.  OK for trunk?

Thanks.
Maxim Kuvyrkov - Dec. 2, 2010, 3:50 p.m.
On Dec 2, 2010, at 6:42 PM, H.J. Lu wrote:
> 
> Here is the first one.  OK for trunk?
> 
> Thanks.
> 
> 
> -- 
> H.J.
> --
> 2010-12-02  H.J. Lu  <hongjiu.lu@intel.com>
> 
> 	* config/i386/i386.c (ix86_option_override_internal): Properly
> 	schedule 32bit Core 2 and Core i7.

H.J.,

Removal of the scheduling override is included in the 0006-Core-2-i7-DFA patch I posted and, now, checked in.

Thanks,

--
Maxim Kuvyrkov
CodeSourcery
+1-650-331-3385 x724
Jack Howarth - Dec. 2, 2010, 5:46 p.m.
On Thu, Dec 02, 2010 at 06:50:45PM +0300, Maxim Kuvyrkov wrote:
> On Dec 2, 2010, at 6:42 PM, H.J. Lu wrote:
> > 
> > Here is the first one.  OK for trunk?
> > 
> > Thanks.
> > 
> > 
> > -- 
> > H.J.
> > --
> > 2010-12-02  H.J. Lu  <hongjiu.lu@intel.com>
> > 
> > 	* config/i386/i386.c (ix86_option_override_internal): Properly
> > 	schedule 32bit Core 2 and Core i7.
> 
> H.J.,
> 
> Removal of the scheduling override is included in the 0006-Core-2-i7-DFA patch I posted and, now, checked in.
> 
> Thanks,
> 
> --
> Maxim Kuvyrkov
> CodeSourcery
> +1-650-331-3385 x724

Maxim,
   Any comments on the md file changes proposed by Iain Sandoe in his i386 darwin mtune=core2 patch?

http://gcc.gnu.org/ml/gcc-patches/2010-08/msg01024.html

I did a quick test on x86_64 linux and Iain's md changes didn't introduce any regressions.
          Jack
ps Mike Stump has already pre-approved the darwin specific parts so we are set to switch i386
darwin from mtune=generic to mtune=core2 once the md changes are approved.
H.J. Lu - Dec. 2, 2010, 6:05 p.m.
On Thu, Dec 2, 2010 at 7:50 AM, Maxim Kuvyrkov <maxim@codesourcery.com> wrote:
> On Dec 2, 2010, at 6:42 PM, H.J. Lu wrote:
>>
>> Here is the first one.  OK for trunk?
>>
>> Thanks.
>>
>>
>> --
>> H.J.
>> --
>> 2010-12-02  H.J. Lu  <hongjiu.lu@intel.com>
>>
>>       * config/i386/i386.c (ix86_option_override_internal): Properly
>>       schedule 32bit Core 2 and Core i7.
>
> H.J.,
>
> Removal of the scheduling override is included in the 0006-Core-2-i7-DFA patch I posted and, now, checked in.
>
> Thanks,
>

A regression:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46768
Maxim Kuvyrkov - Dec. 2, 2010, 7:34 p.m.
On Dec 2, 2010, at 8:46 PM, Jack Howarth wrote:
> Maxim,
>   Any comments on the md file changes proposed by Iain Sandoe in his i386 darwin mtune=core2 patch?
> 
> http://gcc.gnu.org/ml/gcc-patches/2010-08/msg01024.html

Jack,

I don't have any comments on the patch.  Uros or Richard should be much better judges on i386.md than I am.

Regards,

--
Maxim Kuvyrkov
CodeSourcery
+1-650-331-3385 x724
Uros Bizjak - Dec. 2, 2010, 10:50 p.m.
On Thu, Dec 2, 2010 at 8:34 PM, Maxim Kuvyrkov <maxim@codesourcery.com> wrote:
> On Dec 2, 2010, at 8:46 PM, Jack Howarth wrote:
>> Maxim,
>>   Any comments on the md file changes proposed by Iain Sandoe in his i386 darwin mtune=core2 patch?
>>
>> http://gcc.gnu.org/ml/gcc-patches/2010-08/msg01024.html
>
> Jack,
>
> I don't have any comments on the patch.  Uros or Richard should be much better judges on i386.md than I am.

The patch is already approved by rth. Are there any open questions
w.r.t. the patch?

Uros.
Jack Howarth - Dec. 2, 2010, 11:25 p.m.
On Thu, Dec 02, 2010 at 11:50:54PM +0100, Uros Bizjak wrote:
> On Thu, Dec 2, 2010 at 8:34 PM, Maxim Kuvyrkov <maxim@codesourcery.com> wrote:
> > On Dec 2, 2010, at 8:46 PM, Jack Howarth wrote:
> >> Maxim,
> >>   Any comments on the md file changes proposed by Iain Sandoe in his i386 darwin mtune=core2 patch?
> >>
> >> http://gcc.gnu.org/ml/gcc-patches/2010-08/msg01024.html
> >
> > Jack,
> >
> > I don't have any comments on the patch.  Uros or Richard should be much better judges on i386.md than I am.
> 
> The patch is already approved by rth. Are there any open questions
> w.r.t. the patch?
> 
> Uros.

Uros,
   I guess Iain forgot that the md changes had been effectively approved already
by Richard. Sorry about the noise.
       Jack
Maxim Kuvyrkov - Dec. 3, 2010, 11:14 a.m.
On Dec 2, 2010, at 9:05 PM, H.J. Lu wrote:
> 
> A regression:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46768

Sorry for the breakage.  I believe H.J. fixed this one for Linux.

--
Maxim Kuvyrkov
CodeSourcery
+1-650-331-3385 x724

Patch

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 97477a0..7e76521 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -3495,12 +3495,12 @@  ix86_option_override_internal (bool main_args_p)
 
 	      case PROCESSOR_CORE2_64:
 		ix86_tune = PROCESSOR_CORE2_32;
-		ix86_schedule = CPU_PENTIUMPRO;
+		ix86_schedule = CPU_CORE2;
 		break;
 
 	      case PROCESSOR_COREI7_64:
 		ix86_tune = PROCESSOR_COREI7_32;
-		ix86_schedule = CPU_PENTIUMPRO;
+		ix86_schedule = CPU_COREI7;
 		break;
 
 	      default: