From 6887a8b9b74d26cafd06b9a5fdc5fd7e7d81abbd Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Wed, 25 Jul 2007 20:24:15 +0000 Subject: [PATCH] re PR target/32218 (segfault with -O1 -ftree-vectorize) PR target/32218 * tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type. From-SVN: r126931 --- gcc/ChangeLog | 5 +++++ gcc/tree-vect-patterns.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0a6bb35696d..861f3475db7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-07-25 Steve Ellcey + + PR target/32218 + * tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type. + 2007-07-25 Steve Ellcey * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle RFmode. diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 5773344abc5..86d6a421b87 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -651,8 +651,9 @@ vect_pattern_recog_1 ( || (icode = optab->handlers[(int) vec_mode].insn_code) == CODE_FOR_nothing || (type_out - && (insn_data[icode].operand[0].mode != - TYPE_MODE (get_vectype_for_scalar_type (type_out))))) + && (!get_vectype_for_scalar_type (type_out) + || (insn_data[icode].operand[0].mode != + TYPE_MODE (get_vectype_for_scalar_type (type_out)))))) return; }