]> git.ipfire.org Git - thirdparty/gcc.git/commit
vect: Move VMAT_GATHER_SCATTER handlings from final loop nest
authorKewen Lin <linkw@linux.ibm.com>
Fri, 18 Aug 2023 07:26:52 +0000 (02:26 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Fri, 18 Aug 2023 07:26:52 +0000 (02:26 -0500)
commit7cd2df4dc0b53c172d04bc7f238ce55775fbb7df
tree9fb1bd99c46bdb67ff6e5895ecf69cc4ff2aee77
parentb4c8c551c48f5f29d9a719c4c7fc4fa4cec28fe7
vect: Move VMAT_GATHER_SCATTER handlings from final loop nest

Following Richi's suggestion [1], this patch is to move the
handlings on VMAT_GATHER_SCATTER in the final loop nest
of function vectorizable_load to its own loop.  Basically
it duplicates the final loop nest, clean up some useless
set up code for the case of VMAT_GATHER_SCATTER, remove some
unreachable code.  Also remove the corresponding handlings
in the final loop nest.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2023-June/623329.html

gcc/ChangeLog:

* tree-vect-stmts.cc (vectorizable_load): Move the handlings on
VMAT_GATHER_SCATTER in the final loop nest to its own loop,
and update the final nest accordingly.
gcc/tree-vect-stmts.cc