Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-14 Thread Christophe Lyon via Gcc-patches
On Mon, 14 Jun 2021 at 18:01, Richard Sandiford wrote: > > Christophe Lyon writes: > > On Fri, 11 Jun 2021 at 18:25, Richard Sandiford > > wrote: > >> > >> Christophe Lyon writes: > >> > Thanks for the feedback. How about v2 attached? > >> > Do you want me to merge neon_vec_unpack and > >> > mv

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-14 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > On Fri, 11 Jun 2021 at 18:25, Richard Sandiford > wrote: >> >> Christophe Lyon writes: >> > Thanks for the feedback. How about v2 attached? >> > Do you want me to merge neon_vec_unpack and >> > mve_vec_unpack and only have different assembly? >> > if (TARGET_HAVE_MVE)

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-14 Thread Christophe Lyon via Gcc-patches
On Fri, 11 Jun 2021 at 18:25, Richard Sandiford wrote: > > Christophe Lyon writes: > > Thanks for the feedback. How about v2 attached? > > Do you want me to merge neon_vec_unpack and > > mve_vec_unpack and only have different assembly? > > if (TARGET_HAVE_MVE) > > return "vmovlb.%# %q0, %q1";

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-11 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > Thanks for the feedback. How about v2 attached? > Do you want me to merge neon_vec_unpack and > mve_vec_unpack and only have different assembly? > if (TARGET_HAVE_MVE) > return "vmovlb.%# %q0, %q1"; > else > return "vmovlb.%# %q0, %q1"; I think it'd be better to kee

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-11 Thread Christophe Lyon via Gcc-patches
On Fri, 11 Jun 2021 at 12:20, Richard Sandiford wrote: > > Christophe Lyon writes: > > In the meantime, I tried to make some progress, and looked at how > > things work on aarch64. > > > > This led me to define (in mve.md): > > > > (define_insn "@mve_vec_pack_trunc_lo_" > > [(set (match_operand:

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-11 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > In the meantime, I tried to make some progress, and looked at how > things work on aarch64. > > This led me to define (in mve.md): > > (define_insn "@mve_vec_pack_trunc_lo_" > [(set (match_operand: 0 "register_operand" "=w") >(truncate: (match_operand:MVE_5 1 "re

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-11 Thread Christophe Lyon via Gcc-patches
On Fri, 11 Jun 2021 at 11:38, Richard Sandiford wrote: > > Christophe Lyon writes: > > On Tue, 8 Jun 2021 at 14:10, Richard Sandiford > > wrote: > >> > >> Christophe Lyon writes: > >> > This patch adds vec_unpack_hi_, vec_unpack_lo_, > >> > vec_pack_trunc_ patterns for MVE. > >> > > >> > It doe

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-11 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > On Tue, 8 Jun 2021 at 14:10, Richard Sandiford > wrote: >> >> Christophe Lyon writes: >> > This patch adds vec_unpack_hi_, vec_unpack_lo_, >> > vec_pack_trunc_ patterns for MVE. >> > >> > It does so by moving the unpack patterns from neon.md to >> > vec-common.md, while

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-10 Thread Christophe Lyon via Gcc-patches
On Thu, 10 Jun 2021 at 11:50, Christophe Lyon wrote: > > On Tue, 8 Jun 2021 at 14:10, Richard Sandiford > wrote: > > > > Christophe Lyon writes: > > > This patch adds vec_unpack_hi_, vec_unpack_lo_, > > > vec_pack_trunc_ patterns for MVE. > > > > > > It does so by moving the unpack patterns from

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-10 Thread Christophe Lyon via Gcc-patches
On Tue, 8 Jun 2021 at 14:10, Richard Sandiford wrote: > > Christophe Lyon writes: > > This patch adds vec_unpack_hi_, vec_unpack_lo_, > > vec_pack_trunc_ patterns for MVE. > > > > It does so by moving the unpack patterns from neon.md to > > vec-common.md, while adding them support for MVE. The pa

Re: [PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-08 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > This patch adds vec_unpack_hi_, vec_unpack_lo_, > vec_pack_trunc_ patterns for MVE. > > It does so by moving the unpack patterns from neon.md to > vec-common.md, while adding them support for MVE. The pack expander is > derived from the Neon one (which in turn is renamed

[PATCH 2/2] arm: Auto-vectorization for MVE: add pack/unpack patterns

2021-06-07 Thread Christophe Lyon via Gcc-patches
This patch adds vec_unpack_hi_, vec_unpack_lo_, vec_pack_trunc_ patterns for MVE. It does so by moving the unpack patterns from neon.md to vec-common.md, while adding them support for MVE. The pack expander is derived from the Neon one (which in turn is renamed into neon_quad_vec_pack_trunc_). Th