+2007-02-06 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Check that
+ vectype is not NULL.
+ (vect_pattern_recog_1): Likewise.
+
2007-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* fold-const.c (negate_expr_p): Handle CONJ_EXPR.
+2007-02-06 Ira Rosen <irar@il.ibm.com>
+
+ * gcc.dg/vect/fast-math-vect-pow-2.c: New test.
+
2007-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/builtins-20.c: Add more cases.
--- /dev/null
+/* { dg-do compile } */
+
+typedef double d_type;
+struct
+{
+ d_type x;
+ d_type y;
+} S[100];
+
+#define N 16
+d_type foo (d_type t);
+
+d_type
+main1 ()
+{
+ int i;
+ d_type t;
+
+ for (i = 0; i < N; i++)
+ {
+ t = (d_type) i / (d_type) 10;
+ S[5].x = t * t;
+ }
+ return S[5].x;
+}
+
+int
+main (void)
+{
+ d_type tmp = main1 ();
+}
+/* { dg-final { cleanup-tree-dump "vect" } } */
+
/* Check target support */
vectype = get_vectype_for_scalar_type (half_type0);
- if (!supportable_widening_operation (WIDEN_MULT_EXPR, last_stmt, vectype,
+ if (!vectype
+ || !supportable_widening_operation (WIDEN_MULT_EXPR, last_stmt, vectype,
&dummy, &dummy, &dummy_code,
&dummy_code))
return NULL;
/* Check target support */
pattern_vectype = get_vectype_for_scalar_type (type_in);
+ if (!pattern_vectype)
+ return;
+
optab = optab_for_tree_code (TREE_CODE (pattern_expr), pattern_vectype);
vec_mode = TYPE_MODE (pattern_vectype);
if (!optab