On 16/01/14 14:43, Alex Velenko wrote: > On 14/01/14 15:51, pins...@gmail.com wrote: >> >> >>> On Jan 14, 2014, at 7:19 AM, Alex Velenko <alex.vele...@arm.com> wrote: >>> >>> Hi, >>> >>> This patch turns off the vec_perm patterns for aarch64_be, this should >>> resolve >>> the issue highlighted here >>> http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00321.html >>> With this patch applied, the test case provided in that link compiles >>> without an ICE. >>> >>> However, the Big-Endian port is still in development. This patch exposes >>> another known but unrelated issue with Big-Endian Large-Int modes. >>> >>> The patch has been tested on aarch64-none-elf and aarch64_be-none-elf >>> resulting in five >>> further regression due to the broken implementation of Big-Endian Large-Int >>> modes. >>> >>> Kind regards, >>> Alex Velenko >>> >>> gcc/ >>> >>> 2014-01-14 Alex Velenko <alex.vele...@arm.com> >>> >>> * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check. >>> * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Add comment. >>> >>> gcc/testsuite/ >>> >>> 2014-01-14 Alex Velenko <alex.vele...@arm.com> >>> >>> * lib/target-supports.exp >>> (check_effective_target_vect_perm): Exclude aarch64_be. >>> (check_effective_target_vect_perm_byte): Likewise. >>> (check_effective_target_vect_perm_short): Likewise. >> >> I think you want to use a function to check if the target is effectively >> big-endian instead. Internally at Cavium, our elf compiler has big-endian >> multi-lib. >> >> Thanks, >> Andrew >> >>> >>> <vec-perm.patch> >> > > Hi, > Here is a vec-perm patch with changes proposed previously. > Little and Big-Endian tested with no additional issues appearing. > > Kind regards, > Alex > > gcc/ > > 2014-01-16 Alex Velenko <alex.vele...@arm.com> > > * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check. > * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Add comment. > > gcc/testsuite/ > > 2014-01-16 Alex Velenko <alex.vele...@arm.com> > > * lib/target-supports.exp > (check_effective_target_vect_perm): Exclude aarch64_be. > (check_effective_target_vect_perm_byte): Likewise. > (check_effective_target_vect_perm_short): Likewise. >
The patch is missing the hunk for aarch64.c.