Re: [PATCH][AArch64] Vectorise bswap[16,32,64]

2014-04-24 Thread Marcus Shawcroft
On 16 April 2014 09:12, Kyrill Tkachov wrote: > On 15/04/14 18:45, Eric Christopher wrote: >> >> Testcase weirdness? >> >>for (i < 0; i < N; ++i) >> { >>arr[i] = i; >>expect[i] = __builtin_bswap64 (i); >>if (y) /* Avoid vectorisation. */ >> abort (); >> } >>

Re: [PATCH][AArch64] Vectorise bswap[16,32,64]

2014-04-16 Thread Kyrill Tkachov
On 15/04/14 18:45, Eric Christopher wrote: Testcase weirdness? for (i < 0; i < N; ++i) { arr[i] = i; expect[i] = __builtin_bswap64 (i); if (y) /* Avoid vectorisation. */ abort (); } i < 0 :) duplicated in all 3 testcases btw. Oops, here it is fixed. Thanks

Re: [PATCH][AArch64] Vectorise bswap[16,32,64]

2014-04-15 Thread Eric Christopher
Testcase weirdness? for (i < 0; i < N; ++i) { arr[i] = i; expect[i] = __builtin_bswap64 (i); if (y) /* Avoid vectorisation. */ abort (); } i < 0 :) duplicated in all 3 testcases btw. -eric On Tue, Apr 15, 2014 at 4:25 AM, Kyrill Tkachov wrote: > Hi all, > > This

[PATCH][AArch64] Vectorise bswap[16,32,64]

2014-04-15 Thread Kyrill Tkachov
Hi all, This patch enables aarch64 to vectorise bswap[16,32,64] operations by using the AdvancedSIMD forms of the rev[16,32,64] instructions. The TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION hook is extended to return the vectorised forms of __builtin_bswap* where possible and vector bswap pa