diff mbox

[00/44] Merge changes from Graphite branch to trunk

Message ID 20100930224429.GA359@bromo.med.uc.edu
State New
Headers show

Commit Message

Jack Howarth Sept. 30, 2010, 10:44 p.m. UTC
On Thu, Sep 30, 2010 at 05:18:03PM -0500, Sebastian Pop wrote:
> On Thu, Sep 30, 2010 at 17:04, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
> >    What are the prospects for getting PR40979 fixed?
> 
> > PR40979: induct benchmark 60% slower when compiled with -fgraphite-identity
> 
> Is this still a problem?  Could you try to measure the perf with trunk?
> 
> Thanks,
> Sebastian

Sebastian,

gfortran -ffast-math -funroll-loops -msse3 -O3 induct.f90 -o induct
time ./induct
20.290u 0.029s 0:20.37 99.7%	0+0k 0+1io 0pf+0w

gfortran -ffast-math -funroll-loops -msse3 -O3 -fno-graphite-identity induct.f90 -o induct
time ./induct
12.761u 0.025s 0:12.78 100.0%	0+0k 0+0io 0pf+0w

for current gcc trunk built with...


        Jack

Comments

Sebastian Pop Sept. 30, 2010, 10:58 p.m. UTC | #1
On Thu, Sep 30, 2010 at 17:44, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
> On Thu, Sep 30, 2010 at 05:18:03PM -0500, Sebastian Pop wrote:
>> On Thu, Sep 30, 2010 at 17:04, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
>> >    What are the prospects for getting PR40979 fixed?
>>
>> > PR40979: induct benchmark 60% slower when compiled with -fgraphite-identity
>>
>> Is this still a problem?  Could you try to measure the perf with trunk?
>>
>> Thanks,
>> Sebastian
>
> Sebastian,
>
> gfortran -ffast-math -funroll-loops -msse3 -O3 induct.f90 -o induct
> time ./induct
> 20.290u 0.029s 0:20.37 99.7%    0+0k 0+1io 0pf+0w
>
> gfortran -ffast-math -funroll-loops -msse3 -O3 -fno-graphite-identity induct.f90 -o induct
> time ./induct
> 12.761u 0.025s 0:12.78 100.0%   0+0k 0+0io 0pf+0w
>

grep "LOOP VECTORIZED" foo | wc
      8      32     320
grep "LOOP VECTORIZED" foo.graphite | wc
      4      16     160

Looks like we still have 4 loops not vectorized with -fgraphite-identity.
Thanks Jack for pointing this to me.

Sebastian
diff mbox

Patch

Index: gcc/opts.c
===================================================================
--- gcc/opts.c	(revision 164815)
+++ gcc/opts.c	(working copy)
@@ -804,6 +804,9 @@ 
 
   /* -O2 optimizations.  */
   opt2 = (optimize >= 2);
+#ifdef HAVE_cloog
+  flag_graphite_identity = opt2;
+#endif
   flag_inline_small_functions = opt2;
   flag_indirect_inlining = opt2;
   flag_partial_inlining = opt2;