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] Improve prefetch emitting


Hello,

> > 	* tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve
> > 	comments.
> > 	(issue_prefetch_ref): Move assignment to write_p out of loop.
> > 	(determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and
> > 	SIMULTANEOUS_PREFETCHES into account.
> > 	(loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor.
> > 	* lambda-code.c (lcm): Export.
> > 	* tree-flow.h (lcm): Declare.
> >
> > 	* gcc.dg/tree-ssa/prefetch-3.c: New test.
> 
> This is OK for mainline.
> 
> At the risk of repeating myself, do you have any performance figures
> for these changes?

stream benchmark at -O2 -march=k8 -fprefetch-loop-arrays:

before:

Function      Rate (MB/s)   Avg time     Min time     Max time
Copy:        2289.7797       0.0140       0.0140       0.0140
Scale:       2239.7992       0.0143       0.0143       0.0145
Add:         2466.3611       0.0195       0.0195       0.0195
Triad:       2414.4801       0.0199       0.0199       0.0199

after:

Function      Rate (MB/s)   Avg time     Min time     Max time
Copy:        2363.3626       0.0136       0.0135       0.0136
Scale:       2311.6675       0.0139       0.0138       0.0139
Add:         2541.0399       0.0189       0.0189       0.0189
Triad:       2512.6877       0.0191       0.0191       0.0192
 
Zdenek


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