Split gather load handling out of vectorizable_{mask_load_store,load}
authorRichard Sandiford <richard.sandiford@linaro.org>
Wed, 3 Jan 2018 21:47:26 +0000 (21:47 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 3 Jan 2018 21:47:26 +0000 (21:47 +0000)
commitc48d2d35a122798c047ca7a0f7e0d64293023c44
tree5aa12c5ea2e28465c05b6b91666c98449c59266a
parentbc9587eb19f6407f5815d46d68325890e29f076a
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.

From-SVN: r256215
gcc/ChangeLog
gcc/tree-vect-stmts.c