Split gather load handling out of vectorizable_{mask_load_store,load}
commitd1a0c02b2a92817f8249193be2ef372064895ac5
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Jan 2018 21:47:26 +0000 (3 21:47 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Jan 2018 21:47:26 +0000 (3 21:47 +0000)
tree5aa12c5ea2e28465c05b6b91666c98449c59266a
parent9f54c7a765a6508f32fd690f29ae257ac9b9015a
Split gather load handling out of vectorizable_{mask_load_store,load}

vectorizable_mask_load_store and vectorizable_load used the same
code to build a gather load call, except that the former also
vectorised a mask argument and used it for both the merge and mask
inputs.  The latter instead used a merge input of zero and a mask
input of all-ones.  This patch splits it out into a subroutine.

2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
* tree-vect-stmts.c (vect_build_gather_load_calls): New function,
split out from..,
(vectorizable_mask_load_store): ...here.
(vectorizable_load): ...and here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256215 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree-vect-stmts.c