On 03/15/12 13:09, Jakub Jelinek wrote:
> Hi!
> 
> As noted in the PR, we can vectorize e.g. V4DFmode
> __builtin_shuffle (, {1, 2, 3, 0}) in 3 insns, some intra-lane
> permutation, followed by swapping of the lanes (vperm2f128) and
> finally vblend{pd,ps} that merges in the registers with non-swapped
> and swapped lanes.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, tested
> additionally with
> GCC_TEST_RUN_EXPENSIVE=1 make check-gcc 
> RUNTESTFLAGS='--target_board=unix\{-m32/-mavx,-m64/-mavx\} 
> dg-torture.exp=vshuf*'
> Ok for trunk?
> 
> 2012-03-15  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR target/52568
>       * config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New
>       function.
>       (ix86_expand_vec_perm_const_1): Use it.
> 
>       * gcc.dg/torture/vshuf-4.inc: Add two new tests.
>       * gcc.dg/torture/vshuf-8.inc: Likewise.
>       * gcc.dg/torture/vshuf-16.inc: Likewise.
>       * gcc.dg/torture/vshuf-32.inc: Likewise.


Ok.


r~

Reply via email to