OK

/Marcus

On 4 December 2012 10:31, 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?
>
> Thanks,
> James Greenhalgh
>
> ---
> gcc/
>
> 2012-12-04  James Greenhalgh  <james.greenha...@arm.com>
>
>         * config/aarch64/aarch64-protos.h
>         (aarch64_split_combinev16qi): New.
>         (aarch64_expand_vec_perm): Likewise.
>         (aarch64_expand_vec_perm_const): Likewise.
>         * config/aarch64/aarch64-simd.md (vec_perm_const<mode>): New.
>         (vec_perm<mode>): Likewise.
>         (aarch64_tbl1<mode>): Likewise.
>         (aarch64_tbl2v16qi): Likewise.
>         (aarch64_combinev16qi): New.
>         * config/aarch64/aarch64.c
>         (aarch64_vectorize_vec_perm_const_ok): New.
>         (aarch64_split_combinev16qi): Likewise.
>         (MAX_VECT_LEN): Define.
>         (expand_vec_perm_d): New.
>         (aarch64_expand_vec_perm_1): Likewise.
>         (aarch64_expand_vec_perm): Likewise.
>         (aarch64_evpc_tbl): Likewise.
>         (aarch64_expand_vec_perm_const_1): Likewise.
>         (aarch64_expand_vec_perm_const): Likewise.
>         (aarch64_vectorize_vec_perm_const_ok): Likewise.
>         (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Likewise.
>         * config/aarch64/iterators.md
>         (unspec): Add UNSPEC_TBL, UNSPEC_CONCAT.
>         (V_cmp_result): Add mapping for V2DF.
>
> gcc/testsuite/
>
> 2012-12-04  James Greenhalgh  <james.greenha...@arm.com>
>
>         * lib/target-supports.exp
>         (check_effective_target_vect_perm): Allow aarch64*-*-*.
>         (check_effective_target_vect_perm_byte): Likewise.
>         (check_effective_target_vect_perm_short): Likewise.
>         (check_effective_target_vect_char_mult): Likewise.
>         (check_effective_target_vect_extract_even_odd): Likewise.
>         (check_effective_target_vect_interleave): Likewise.

Reply via email to