[PATCH, ARM] Constant vector permute for the Neon vext insn
Richard Earnshaw
rearnsha@arm.com
Fri Aug 24 08:40:00 GMT 2012
On 24/08/12 08:45, Christophe Lyon wrote:
> Hi,
>
> The patch below enables GCC for ARM to implement relevant constant
> vector permutations using the Neon vext instruction, by extending the
> support currently in place for vrev, vzip, vunzip and vtrn.
>
> For the cases where vext and vrev would lead to the same result, I
> have chosen to keep using vrev to avoid updating the testsuite when
> both are equivalent (1 cycle) or when vrev is faster (1 cycle when
> operating on Qn vs 2 cycles for vext).
>
> Tested with qemu-arm on arm-none-linux-gnueabi.
>
> Christophe.
>
> 2012-08-23 Christophe Lyon <christophe.lyon@linaro.org>
>
> gcc/
> * config/arm/arm.c (arm_evpc_neon_vext): New
> function.
> (arm_expand_vec_perm_const_1): Add call to
> arm_evpc_neon_vext.
>
> gcc/testsuite/
> * gcc.target/arm/neon-vext.c: New tests.=
>
Has this been tested for big-endian?
R.
More information about the Gcc-patches
mailing list