diff options
author | Richard Biener <rguenther@suse.de> | 2023-02-10 13:09:10 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-04-28 11:05:53 +0200 |
commit | 821ef93976e750c118d42a2ad33b96dbd1b9f3a5 (patch) | |
tree | 7b6c9222dd6d0f2177388c680e3a36998c076055 /gcc/tree.h | |
parent | 9a41d2cdbcd2af77a3a91a840a3a13f0eb39971b (diff) | |
download | gcc-821ef93976e750c118d42a2ad33b96dbd1b9f3a5.zip gcc-821ef93976e750c118d42a2ad33b96dbd1b9f3a5.tar.gz gcc-821ef93976e750c118d42a2ad33b96dbd1b9f3a5.tar.bz2 |
tree-optimization/108752 - vectorize emulated vectors in lowered form
The following makes sure to emit operations lowered to bit operations
when vectorizing using emulated vectors. This avoids relying on
the vector lowering pass adhering to the exact same cost considerations
as the vectorizer.
PR tree-optimization/108752
* tree-vect-generic.cc (build_replicated_const): Rename
to build_replicated_int_cst and move to tree.{h,cc}.
(do_plus_minus): Adjust.
(do_negate): Likewise.
* tree-vect-stmts.cc (vectorizable_operation): Emit emulated
arithmetic vector operations in lowered form.
* tree.h (build_replicated_int_cst): Declare.
* tree.cc (build_replicated_int_cst): Moved from
tree-vect-generic.cc build_replicated_const.
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -4685,6 +4685,7 @@ extern tree build_one_cst (tree); extern tree build_minus_one_cst (tree); extern tree build_all_ones_cst (tree); extern tree build_zero_cst (tree); +extern tree build_replicated_int_cst (tree, unsigned, HOST_WIDE_INT); extern tree sign_mask_for (tree); extern tree build_string (unsigned, const char * = NULL); extern tree build_poly_int_cst (tree, const poly_wide_int_ref &); |