summaryrefslogtreecommitdiff
path: root/gcc/fold-const.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-05-21 12:01:00 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-05-21 12:01:00 +0000
commit4f8b89f092467f9550cb2aa873c2e30ac809c08a (patch)
treed44631d84c87d1c813dd1788c15ca29337dbdf91 /gcc/fold-const.h
parent3b0657dce501046ebe11b7ba30653a41221f4797 (diff)
re PR tree-optimization/90510 (Unnecessary permutation)
2019-05-21 Richard Biener <rguenther@suse.de> PR middle-end/90510 * fold-const.c (fold_read_from_vector): New function. * fold-const.h (fold_read_from_vector): Declare. * match.pd (VEC_PERM_EXPR): Build BIT_INSERT_EXPRs for single-element insert permutations. Canonicalize selector further and fix issue with last commit. * gcc.target/i386/pr90510.c: New testcase. From-SVN: r271463
Diffstat (limited to 'gcc/fold-const.h')
-rw-r--r--gcc/fold-const.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fold-const.h b/gcc/fold-const.h
index c4b7cbfbdba..2a69bf9163d 100644
--- a/gcc/fold-const.h
+++ b/gcc/fold-const.h
@@ -100,6 +100,7 @@ extern tree fold_bit_and_mask (tree, tree, enum tree_code,
tree, enum tree_code, tree, tree,
tree, enum tree_code, tree, tree, tree *);
extern tree fold_read_from_constant_string (tree);
+extern tree fold_read_from_vector (tree, poly_uint64);
#if GCC_VEC_PERN_INDICES_H
extern tree fold_vec_perm (tree, tree, tree, const vec_perm_indices &);
#endif