diff options
author | Richard Biener <rguenther@suse.de> | 2019-10-16 10:05:21 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-10-16 10:05:21 +0000 |
commit | bf78ed91a445d188e4368adc30dd5c32d973ed6e (patch) | |
tree | c669ce11a50ae1fd1abba49142273090cd79fbaa /gcc/tree-vect-patterns.c | |
parent | 96eb7d7a642085f651e9940f0ee75568d7c4441d (diff) | |
download | gcc-bf78ed91a445d188e4368adc30dd5c32d973ed6e.zip gcc-bf78ed91a445d188e4368adc30dd5c32d973ed6e.tar.gz gcc-bf78ed91a445d188e4368adc30dd5c32d973ed6e.tar.bz2 |
re PR tree-optimization/92119 (ICE: SIGSEGV in contains_struct_check (tree.h:3380) with -Os -fno-tree-dce -fno-tree-dse -ftree-slp-vectorize)
2019-10-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/92119
* tree-vect-patterns.c (vect_recog_rotate_pattern): Guard
against missing bswap lhs.
From-SVN: r277057
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r-- | gcc/tree-vect-patterns.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index f9c7408..385482f 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -2199,7 +2199,8 @@ vect_recog_rotate_pattern (stmt_vec_info stmt_vinfo, tree *type_out) lhs = gimple_call_lhs (last_stmt); oprnd0 = gimple_call_arg (last_stmt, 0); type = TREE_TYPE (oprnd0); - if (TYPE_PRECISION (TREE_TYPE (lhs)) != 16 + if (!lhs + || TYPE_PRECISION (TREE_TYPE (lhs)) != 16 || TYPE_PRECISION (type) <= 16 || TREE_CODE (oprnd0) != SSA_NAME || BITS_PER_UNIT != 8 |