------- 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