This is the mail archive of the
mailing list for the GCC project.
RE: [patch] Improve loop array prefetch for IA-64
- From: Canqun Yang <canqun at yahoo dot com dot cn>
- To: "Davis, Mark" <mark dot davis at intel dot com>, gcc at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Sat, 3 Jun 2006 08:18:57 +0800 (CST)
- Subject: RE: [patch] Improve loop array prefetch for IA-64
--- "Davis, Mark" <firstname.lastname@example.org>:
> Nice job getting this ready for the current version of gcc!
> Question: does gcc now know the difference between prefetching to cache L1 via "lfetch", as
> opposed to prefetching only to level L2 via "lfetch.nt1"? For floating point data, the latter
> is the only interesting case because float loads only access the L2. Thus using "lfetch" for
> floating point arrays will unnecessarily wipe out the contents of L1. (gcc 3.2.3 only seems to
> generate "lfetch", which is why I ask...)
Yes, GCC does. I have tried this on the old prefetch implementation at RTL level and the new one
at TREE level, but no significant performance difference for SPECfp2000 and NAS benchmarks.
Nevertheless, it worth taking more time to inspect it.
> -----Original Message-----
> From: Canqun Yang [mailto:email@example.com]
> Sent: Friday, June 02, 2006 5:14 AM
> To: firstname.lastname@example.org; email@example.com
> Subject: [patch] Improve loop array prefetch for IA-64
> Hi, all
> This patch results a performance increase of 4% for SPECfp2000 and 13% for NAS benchmark suite
> Itanium-2 system, respectively. More performance increase is hopeful by further tuning the
> parameters and improving the prefetch algorithm at tree level.
> Canqun Yang