On 05/12/2012 12:36 PM, Richard Guenther wrote:
On Sat, May 12, 2012 at 9:53 AM, Toon Moene<t...@moene.org> wrote:
On 05/11/2012 01:59 PM, Richard Guenther wrote:
This fixes the dependency of vectorization of strided loads on
gather support. For that to work we need to lift the restriction
in data-ref analysis that requries a constant DR_STEP. Fortunately
fallout is small.
Would this also vectorize strided loops when the architecture doesn't have a
gather instruction ?
gather is different from strided loops. Gather is a[b[i]] while strided loops
are for (i=0;; i+=stride) ...= a[i] with stride being non-constant.
Your testcase requires gather support.
Yep, apparently I didn't read your explanation correctly.
On the other hand, I'm wondering if - in the absence of a gather
*instruction* - one could do a gather-by-hand, i.e., load 8 32-bit
floating point values in a (temporary) consecutive buffer, then load it
into a vector register ...
--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
Progress of GNU Fortran: http://gcc.gnu.org/wiki/GFortran#news