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

Reply via email to