[Bug tree-optimization/45021] Redundant prefetches for some loops (vectorizer produced ones too)

2010-07-28 Thread changpeng dot fang at amd dot com
--- Comment #4 from changpeng dot fang at amd dot com 2010-07-28 18:22 --- Andrew's example is exactly what the prefetch sees for the test case (in the bug description). Unfortunately, the prefetch pass could not recognize that vect_pa.6_24 and vect_pa.20_38 are exactly the same

[Bug tree-optimization/45021] Redundant prefetches for some loops (vectorizer produced ones too)

2010-07-28 Thread changpeng dot fang at amd dot com
--- Comment #5 from changpeng dot fang at amd dot com 2010-07-28 18:28 --- Thing is a little complicate if we change the code to: a[i] = a[i+1] + beta * b[i]; The prefetch pass want to group a[i] and a[i+1], i.e. they have the same base address with an offset of 4 bytes. --

[Bug tree-optimization/45021] Redundant prefetches for some loops (vectorizer produced ones too)

2010-07-24 Thread pinskia at gcc dot gnu dot org
--- Comment #2 from pinskia at gcc dot gnu dot org 2010-07-24 20:32 --- (In reply to comment #1) The direct reason is that prefetching could not differentiate the base addresses of the vectorized load and store (of a[i]): *vect_pa.6_24 *vect_pa.19_37 Here is a testcase which shows

[Bug tree-optimization/45021] Redundant prefetches for some loops (vectorizer produced ones too)

2010-07-24 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #3 from rakdver at kam dot mff dot cuni dot cz 2010-07-24 20:41 --- Subject: Re: Redundant prefetches for some loops (vectorizer produced ones too) The direct reason is that prefetching could not differentiate the base addresses of the vectorized load and