On 04/08/14 14:32, Alan Lawrence wrote:
> At the moment, for two-element vectors, __builtin_shuffle (vector, (mask) {C, 
> C}) for identical constants C outputs a zip (with both argument vectors the 
> same) rather than a dup. Dup is more obvious and easier to read, so prefer it.
> 
> For big-endian, aarch64_evpc_dup always aborts; however tests demonstrate it 
> works ok, so enable it.
> 
> Finally, add a testcase (of execution results, this gives confidence that 
> evpc_dup is ok for bigendian - yes, a different element index is output than 
> for 
> little-endian). Note existing tests for zip are not affected, they always 
> have 
> the two arguments different.
> 
> gcc/ChangeLog:
>       * config/aarch64/aarch64.c (aarch64_evpc_dup): Enable for bigendian.
>       (aarch64_expand_vec_perm_const): Check for dup before zip.
> 
> gcc/testsuite/ChangeLog:
>       * gcc.target/aarch64/vdup_n_2.c: New test.
> 
> 

OK.

R.


Reply via email to