------- Comment #14 from changpeng dot fang at amd dot com 2010-06-07 18:27 ------- Here is the current status of my investigation:
(1) 465.tonto regression (~9%): The regressions mainly comes from loops which have array references with both constant (prefetch_mod = 8) and non-constant (prefetch_mod=1) steps. The loops are unrolled 8 times, and 8 non-constant step prefetches are inserted into the unrolled loops. The ideal way to solve the problem is to compute the prefetch count considering the effect of unrolling, i.e. we should count 8 non-constant step prefetches in stead of 1. (2) 416.gamess regression (~5%): The regression is from non-constant-step prefetching for outer loops. I am proposing not to do non-constant step prefetching for outer loops to solve the problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44297