This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/32218] [4.2/4.3 Regression] segfault with -O1 -ftree-vectorize



------- Comment #7 from sje at cup dot hp dot com  2007-07-25 16:20 -------
Well, that was silly.  I couldn't reproduce the problem because I had a patch
in my local tree.  Here is the patch I created, I will submit it to
gcc-patches.
Basically, get_vectype_for_scalar_type can return a NULL_TREE and we need to
allow for that and not call TYPE_MODE with a NULL_TREE.

Index: tree-vect-patterns.c
===================================================================
--- tree-vect-patterns.c        (revision 126897)
+++ tree-vect-patterns.c        (working copy)
@@ -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;
     }


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32218


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]