Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-04-22 Thread Tejas Belagod
Alan Lawrence wrote: Sorry to be pedantic again, but 'wierd' should be spelt 'weird'. Otherwise, looks good to me and much neater than before. (Seems you'd rather keep the re-enabling, here and in the testsuite, for another patch?) Hi, Yes, the re-enabling is another patch. Thanks for the

Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-04-22 Thread Marcus Shawcroft
On 22 April 2014 14:40, Tejas Belagod tbela...@arm.com wrote: Alan Lawrence wrote: Sorry to be pedantic again, but 'wierd' should be spelt 'weird'. Otherwise, looks good to me and much neater than before. (Seems you'd rather keep the re-enabling, here and in the testsuite, for another

Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-04-04 Thread Alan Lawrence
Sorry to be pedantic again, but 'wierd' should be spelt 'weird'. Otherwise, looks good to me and much neater than before. (Seems you'd rather keep the re-enabling, here and in the testsuite, for another patch?) --Alan Tejas Belagod wrote: Richard Henderson wrote: On 02/21/2014 08:30 AM, Tejas

Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-04-02 Thread Tejas Belagod
Richard Henderson wrote: On 02/21/2014 08:30 AM, Tejas Belagod wrote: + /* If two vectors, we end up with a wierd mixed-endian mode on NEON. */ + if (BYTES_BIG_ENDIAN) + { + if (!d-one_vector_p d-perm[i] nunits) + { + /* Extract the offset. */ +

Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-03-25 Thread Tejas Belagod
Alan Lawrence wrote: Further to that - all looks good after one-liner http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01142.html has gone in. (Without that, enabling the code in Tejas' patch causes a regression in gcc.dg/torture/vshuf-v4hi.c as loading a vector constant goes wrong). Thanks

Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-03-25 Thread Tejas Belagod
Richard Henderson wrote: On 02/21/2014 08:30 AM, Tejas Belagod wrote: + /* If two vectors, we end up with a wierd mixed-endian mode on NEON. */ + if (BYTES_BIG_ENDIAN) + { + if (!d-one_vector_p d-perm[i] nunits) + { + /* Extract the offset. */ +

Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-03-24 Thread Alan Lawrence
Further to that - all looks good after one-liner http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01142.html has gone in. (Without that, enabling the code in Tejas' patch causes a regression in gcc.dg/torture/vshuf-v4hi.c as loading a vector constant goes wrong). I'll send a patch to enable this

Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-03-24 Thread Richard Henderson
On 02/21/2014 08:30 AM, Tejas Belagod wrote: + /* If two vectors, we end up with a wierd mixed-endian mode on NEON. */ + if (BYTES_BIG_ENDIAN) + { + if (!d-one_vector_p d-perm[i] nunits) + { + /* Extract the offset. */ + elt = d-perm[i]

Re: [Patch, AArch64] Fix shuffle for big-endian.

2014-03-12 Thread Alan Lawrence
I've been doing some local testing using this patch as a basis for some of my own work on NEON intrinsics, and it seems good to me. A couple of points: (1) Re. the comment that If two vectors, we end up with a wierd mixed-endian mode on NEON: firstly wierd should be spelt weird; secondly, if I

[Patch, AArch64] Fix shuffle for big-endian.

2014-02-21 Thread Tejas Belagod
Hi, When a shuffle of more than one input happens, on NEON we end up with a 'mixed-endian' format in the register list which TBL operates on. We don't make this correction in RTL and therefore the shuffle operation gets it incorrect. Here is a patch that fixes-up the index table in the