From 3384dcbc6dd2ee52d58773bc764f0896e3ff63d0 Mon Sep 17 00:00:00 2001 From: rguenth Date: Wed, 16 Oct 2019 10:05:21 +0000 Subject: [PATCH] 2019-10-16 Richard Biener PR tree-optimization/92119 * tree-vect-patterns.c (vect_recog_rotate_pattern): Guard against missing bswap lhs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@277057 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/tree-vect-patterns.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 072eb8ce8bdc..37f42cf349fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-10-16 Richard Biener + + PR tree-optimization/92119 + * tree-vect-patterns.c (vect_recog_rotate_pattern): Guard + against missing bswap lhs. + 2019-10-16 Richard Sandiford PR middle-end/92033 diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index f9c740878935..385482ffb988 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 -- 2.47.2