On Tue, Oct 11, 2022 at 1:03 PM Andrew Stubbs <a...@codesourcery.com> wrote:
>
> This patch series adds additional vector sizes for the amdgcn backend.
>
> The hardware supports any arbitrary vector length up to 64-lanes via
> masking, but GCC cannot (yet) make full use of them due to middle-end
> limitations.  Adding smaller "virtual" vector sizes increases the
> complexity of the backend a little, but opens up optimization
> opportunities for the current middle-end implementation somewhat. In
> particular, it enables many more cases of SLP optimization.
>
> The patchset gives aproximately 100 addtional test PASS and a few extra
> FAIL.  However, the failures are not new issues, but rather existing
> problems that did not show up because the code did not previously
> vectorize.  Expanding the testcase to allow 64-lane vectors shows the
> same problems there.
>
> I shall backport these patches to the OG12 branch shortly.

I suppose until you change the related_vector_mode hook the PR107096 issue
will not hit you but at least it's then latent ...

>
> Andrew
>
> Andrew Stubbs (6):
>   amdgcn: add multiple vector sizes
>   amdgcn: Resolve insn conditions at compile time
>   amdgcn: Add vec_extract for partial vectors
>   amdgcn: vec_init for multiple vector sizes
>   amdgcn: Add vector integer negate insn
>   amdgcn: vector testsuite tweaks
>
>  gcc/config/gcn/gcn-modes.def                  |   82 ++
>  gcc/config/gcn/gcn-protos.h                   |   24 +-
>  gcc/config/gcn/gcn-valu.md                    |  399 +++++--
>  gcc/config/gcn/gcn.cc                         | 1063 +++++++++++------
>  gcc/config/gcn/gcn.h                          |   24 +
>  gcc/testsuite/gcc.dg/pr104464.c               |    2 +
>  gcc/testsuite/gcc.dg/signbit-2.c              |    5 +-
>  gcc/testsuite/gcc.dg/signbit-5.c              |    1 +
>  gcc/testsuite/gcc.dg/vect/bb-slp-68.c         |    5 +-
>  gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c     |    3 +-
>  .../gcc.dg/vect/bb-slp-subgroups-3.c          |    5 +-
>  .../gcc.dg/vect/no-vfa-vect-depend-2.c        |    3 +-
>  gcc/testsuite/gcc.dg/vect/pr33953.c           |    3 +-
>  gcc/testsuite/gcc.dg/vect/pr65947-12.c        |    3 +-
>  gcc/testsuite/gcc.dg/vect/pr65947-13.c        |    3 +-
>  gcc/testsuite/gcc.dg/vect/pr80631-2.c         |    3 +-
>  gcc/testsuite/gcc.dg/vect/slp-reduc-4.c       |    3 +-
>  .../gcc.dg/vect/trapv-vect-reduc-4.c          |    3 +-
>  gcc/testsuite/lib/target-supports.exp         |    3 +-
>  19 files changed, 1183 insertions(+), 454 deletions(-)
>
> --
> 2.37.0
>

Reply via email to