Re: Don't vectorise zero-step rmw operations (PR 84485)

2018-03-05 Thread Richard Biener
On Fri, Mar 2, 2018 at 3:12 PM, Richard Sandiford wrote: > Richard Biener writes: >> On Thu, Mar 1, 2018 at 12:38 PM, Richard Sandiford >> wrote: >>> Richard Biener writes:

Re: Don't vectorise zero-step rmw operations (PR 84485)

2018-03-02 Thread Richard Sandiford
Richard Biener writes: > On Thu, Mar 1, 2018 at 12:38 PM, Richard Sandiford > wrote: >> Richard Biener writes: >>> On Wed, Feb 28, 2018 at 3:20 PM, Richard Sandiford >>> wrote:

Re: Don't vectorise zero-step rmw operations (PR 84485)

2018-03-01 Thread Richard Biener
On Thu, Mar 1, 2018 at 12:38 PM, Richard Sandiford wrote: > Richard Biener writes: >> On Wed, Feb 28, 2018 at 3:20 PM, Richard Sandiford >> wrote: >>> GCC 6 and 7 would vectorise: >>> >>> void >>> f

Re: Don't vectorise zero-step rmw operations (PR 84485)

2018-03-01 Thread Richard Sandiford
Richard Biener writes: > On Wed, Feb 28, 2018 at 3:20 PM, Richard Sandiford > wrote: >> GCC 6 and 7 would vectorise: >> >> void >> f (unsigned long incx, unsigned long incy, >>float *restrict dx, float *restrict dy) >> { >> unsigned

Re: Don't vectorise zero-step rmw operations (PR 84485)

2018-03-01 Thread Richard Biener
On Wed, Feb 28, 2018 at 3:20 PM, Richard Sandiford wrote: > GCC 6 and 7 would vectorise: > > void > f (unsigned long incx, unsigned long incy, >float *restrict dx, float *restrict dy) > { > unsigned long ix = 0, iy = 0; > for (unsigned long i = 0; i < 512;

Re: Don't vectorise zero-step rmw operations (PR 84485)

2018-02-28 Thread Richard Sandiford
Jakub Jelinek writes: > On Wed, Feb 28, 2018 at 02:20:27PM +, Richard Sandiford wrote: >> GCC 6 and 7 would vectorise: >> >> void >> f (unsigned long incx, unsigned long incy, >>float *restrict dx, float *restrict dy) >> { >> unsigned long ix = 0, iy = 0; >> for

Re: Don't vectorise zero-step rmw operations (PR 84485)

2018-02-28 Thread Jakub Jelinek
On Wed, Feb 28, 2018 at 02:20:27PM +, Richard Sandiford wrote: > GCC 6 and 7 would vectorise: > > void > f (unsigned long incx, unsigned long incy, >float *restrict dx, float *restrict dy) > { > unsigned long ix = 0, iy = 0; > for (unsigned long i = 0; i < 512; ++i) > { >

Don't vectorise zero-step rmw operations (PR 84485)

2018-02-28 Thread Richard Sandiford
GCC 6 and 7 would vectorise: void f (unsigned long incx, unsigned long incy, float *restrict dx, float *restrict dy) { unsigned long ix = 0, iy = 0; for (unsigned long i = 0; i < 512; ++i) { dy[iy] += dx[ix]; ix += incx; iy += incy; } } without first proving that