for  gcc/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* tree-vect-patterns.c (vect_pattern_recog_1): Use scalar type
	if we don't get a vector type for output.

Index: gcc/tree-vect-patterns.c
===================================================================
--- gcc/tree-vect-patterns.c.orig	2010-06-10 14:28:05.000000000 -0300
+++ gcc/tree-vect-patterns.c	2010-06-10 14:29:26.000000000 -0300
@@ -696,7 +696,12 @@ vect_pattern_recog_1 (
       if (!type_in)
 	return;
       if (type_out)
-	type_out = get_vectype_for_scalar_type (type_out);
+	{
+	  tree saved_type_out = type_out;
+	  type_out = get_vectype_for_scalar_type (type_out);
+	  if (!type_out)
+	    type_out = saved_type_out;
+	}
       else
 	type_out = type_in;
       pattern_vectype = type_out;
