+2010-01-14 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/42709
+ * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
+ as scalar type in creation of constant vector operand.
+
2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR testsuite/42414
+2010-01-14 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/42709
+ * gcc.dg/vect/pr42709.c: New test.
+
2010-01-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41478
--- /dev/null
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_int } */
+
+#include <stdarg.h>
+#include "tree-vect.h"
+
+#define N 128
+
+int *res[N];
+
+int
+main1 (int *a, int *b, int *c, int *d, int dummy)
+{
+ int i;
+
+ for (i = 0; i < N/2; i+=4)
+ {
+ res[i] = a + 16;
+ res[i+1] = b + 16;
+ res[i+2] = c + 16;
+ res[i+3] = d + 16;
+ if (dummy == 32)
+ abort ();
+ }
+}
+
+/* { dg-final { cleanup-tree-dump "vect" } } */
+
VEC (gimple, heap) *stmts = SLP_TREE_SCALAR_STMTS (slp_node);
gimple stmt = VEC_index (gimple, stmts, 0);
stmt_vec_info stmt_vinfo = vinfo_for_stmt (stmt);
- tree vectype = STMT_VINFO_VECTYPE (stmt_vinfo);
int nunits;
tree vec_cst;
tree t = NULL_TREE;
}
if (CONSTANT_CLASS_P (op))
- {
- vector_type = vectype;
- constant_p = true;
- }
+ constant_p = true;
else
- {
- vector_type = get_vectype_for_scalar_type (TREE_TYPE (op));
- gcc_assert (vector_type);
- constant_p = false;
- }
+ constant_p = false;
+
+ vector_type = get_vectype_for_scalar_type (TREE_TYPE (op));
+ gcc_assert (vector_type);
nunits = TYPE_VECTOR_SUBPARTS (vector_type);