While I am working on prefetching-incurred performance degradation on 168.wupwise, I find that complex arrays are always over-prefetched. Prefetches are generated for both the real part and imagine part.
subroutine s311 (i,j,n,m,beta,a,b) c c reductions c sum reduction c integer n, i, j, beta, m complex a(n,n), b(n,n) do 1 j = 1,n do 10 i = 1,m a(i,j) = a(i,j) + beta * b(i,j) 10 continue 1 continue return end For this example, two prefetches are generated for a, and two prefetches for b. -- Summary: over-prefetched for arrays of complex number Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: changpeng dot fang at amd dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44955