diff options
author | Richard Biener <rguenther@suse.de> | 2021-04-01 09:29:14 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-04-01 10:23:25 +0200 |
commit | b75c4e1384c021ca94fc8e8db8e517e802b820f3 (patch) | |
tree | fd4e8bbf8d3e46b610e4684f7dc90569f7fc962a /gcc/tree-vect-patterns.c | |
parent | 19d71674616e6494a60432a2a28adcd762a6c877 (diff) | |
download | gcc-b75c4e1384c021ca94fc8e8db8e517e802b820f3.zip gcc-b75c4e1384c021ca94fc8e8db8e517e802b820f3.tar.gz gcc-b75c4e1384c021ca94fc8e8db8e517e802b820f3.tar.bz2 |
tree-optimization/99856 - fix overwideing pattern creation
This fixes an omission of promoting a bit-precision required precision
to a vector element precision.
2021-04-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/99856
* tree-vect-patterns.c (vect_recog_over_widening_pattern): Promote
precision to vector element precision.
* gcc.dg/vect/pr99856.c: New testcase.
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r-- | gcc/tree-vect-patterns.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index b575b45..803de3f 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -1705,6 +1705,7 @@ vect_recog_over_widening_pattern (vec_info *vinfo, /* Apply the minimum efficient precision we just calculated. */ if (new_precision < min_precision) new_precision = min_precision; + new_precision = vect_element_precision (new_precision); if (new_precision >= TYPE_PRECISION (type)) return NULL; |