Re: [Qemu-devel] [RFC PATCH v1 2/2] utils: Add prefetch for Thunderx platform

2016-08-12 Thread Vijay Kilari
On Sat, Aug 6, 2016 at 3:47 PM, Richard Henderson wrote: > On 08/02/2016 03:50 PM, vijay.kil...@gmail.com wrote: >> >> +#define VEC_PREFETCH(base, index) \ >> +asm volatile ("prfm pldl1strm, [%x[a]]\n" : : >> [a]"r"(&base[(index)])) > > > Is this not __builtin_prefetch(base + index) ? > >

Re: [Qemu-devel] [RFC PATCH v1 2/2] utils: Add prefetch for Thunderx platform

2016-08-12 Thread Richard Henderson
On 08/12/2016 12:32 PM, Vijay Kilari wrote: On Sat, Aug 6, 2016 at 3:47 PM, Richard Henderson wrote: On 08/02/2016 03:50 PM, vijay.kil...@gmail.com wrote: +#define VEC_PREFETCH(base, index) \ +asm volatile ("prfm pldl1strm, [%x[a]]\n" : : [a]"r"(&base[(index)])) Is this not __built

Re: [Qemu-devel] [RFC PATCH v1 2/2] utils: Add prefetch for Thunderx platform

2016-08-06 Thread Richard Henderson
On 08/02/2016 03:50 PM, vijay.kil...@gmail.com wrote: +#define VEC_PREFETCH(base, index) \ +asm volatile ("prfm pldl1strm, [%x[a]]\n" : : [a]"r"(&base[(index)])) Is this not __builtin_prefetch(base + index) ? I.e. you can defined this generically for all targets. +#if defined (__aarc