]> git.ipfire.org Git - thirdparty/gcc.git/commit
vect: Move VMAT_LOAD_STORE_LANES handlings from final loop nest
authorKewen Lin <linkw@linux.ibm.com>
Tue, 15 Aug 2023 06:36:33 +0000 (01:36 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Tue, 15 Aug 2023 06:36:33 +0000 (01:36 -0500)
commita74d0d36a3f3373096963bb7a4c7ebbcab01221d
tree492df5a89cb4a028ba85ebd9df23511e6f42bbdc
parent9ca0ff5e0988c62fe3080e3f4f99edecac37dff8
vect: Move VMAT_LOAD_STORE_LANES handlings from final loop nest

Following Richi's suggestion [1], this patch is to move the
handlings on VMAT_LOAD_STORE_LANES 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_LOAD_STORE_LANES, 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_LOAD_STORE_LANES in the final loop nest to its own loop,
and update the final nest accordingly.
gcc/tree-vect-stmts.cc