On Tue, Jan 7, 2014 at 4:05 PM, Marcus Shawcroft <marcus.shawcr...@arm.com> wrote: > > On 7 Jan 2014, at 23:10, Andrew Pinski <pins...@gmail.com> wrote: > >> On Tue, Dec 4, 2012 at 2:31 AM, James Greenhalgh >> <james.greenha...@arm.com> wrote: >>> >>> Hi, >>> >>> This patch adds support for Vector Shuffle style operations >>> through support for TARGET_VECTORIZE_VEC_PERM_CONST_OK and >>> the vec_perm and vec_perm_const standard patterns. >>> >>> In this patch we add the framework and support for the >>> generic tbl instruction. This can be used to handle any >>> vector permute operation, but we can do a better job for >>> some special cases. The second patch of this series does >>> that better job for the ZIP, UZP and TRN instructions. >>> >>> Is this OK to commit? >> >> This breaks big-endian aarch64 in a very bad way. vec_perm<mode> is >> enabled for big-endian but aarch64_expand_vec_perm will ICE right >> away. Can you please test big-endian also next time? >> Here is the shortest testcase which fails at -O3: >> >> void fill_window(unsigned short *p, unsigned wsize) >> { >> unsigned n, m; >> do { >> m = *--p; >> *p = (unsigned short)(m >= wsize ? m-wsize : 0); >> } while (--n); >> } >> >> This comes from zlib and it blocks my building of the trunk. >> >> Thanks, >> Andrew Pinski >> > > Andrew, We know that there are numerous issues with aarch64 BE advsimd > support in GCC. The aarch64_be support is very much a work in progress. > Tejas sorted out a number of fundamentals with a series of patches in > November, notably in PCS conformance. There is more to come. However, > aarch64_be-* support in gcc 4.9 is not going to match the level of quality > for the aarch64-* port.
Yes but should not introduce an ICE while GCC is in stage3. This was working before due not having a vec_perm before. I am going to request this to be reverted soon if it is not fixed (the GCC rules are clear here). Thanks, Andrew Pinski PS sorry if you received this message twice, I had to remove your company stupid message. > > Cheers > /Marcus