md.texi (vec_load_lanes, [...]): Document.
authorRichard Sandiford <richard.sandiford@linaro.org>
Tue, 3 May 2011 07:46:54 +0000 (07:46 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 3 May 2011 07:46:54 +0000 (07:46 +0000)
commit272c6793a0d2098195c7996bd29c0c7e066486bc
treec68ece441c93f241be213a12f649634ce972f325
parent0f6d54f720796f2ebcb15764ac0d0b174529367d
md.texi (vec_load_lanes, [...]): Document.

gcc/
* doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
* optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
convert_optab_index values.
(vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
* genopinit.c (optabs): Initialize the new optabs.
* internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
* internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
(expand_STORE_LANES): New functions.
* tree.h (build_array_type_nelts): Declare.
* tree.c (build_array_type_nelts): New function.
* tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
(vect_model_load_cost): Likewise.
(vect_store_lanes_supported, vect_load_lanes_supported)
(vect_record_strided_load_vectors): Declare.
* tree-vect-data-refs.c (vect_lanes_optab_supported_p)
(vect_store_lanes_supported, vect_load_lanes_supported): New functions.
(vect_transform_strided_load): Split out statement recording into...
(vect_record_strided_load_vectors): ...this new function.
* tree-vect-stmts.c (create_vector_array, read_vector_array)
(write_vector_array, create_array_ref): New functions.
(vect_model_store_cost): Add store_lanes_p argument.
(vect_model_load_cost): Add load_lanes_p argument.
(vectorizable_store): Try to use store-lanes functions for
interleaved stores.
(vectorizable_load): Likewise load-lanes and loads.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
to vect_model_store_cost.
(vect_build_slp_tree): Likewise vect_model_load_cost.

From-SVN: r173291
12 files changed:
gcc/ChangeLog
gcc/doc/md.texi
gcc/genopinit.c
gcc/internal-fn.c
gcc/internal-fn.def
gcc/optabs.h
gcc/tree-vect-data-refs.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h
gcc/tree.c
gcc/tree.h