-2006-08-06 Andreas Schwab <schwab@suse.de>
+2006-08-07 Victor Kaplansky <victork@il.ibm.com>
- * config/m68k/m68k.md (truncxfsf2): Readd.
+ PR tree-optimization/26969
+ * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
+ with an empty list of PHIs.
2006-08-06 Paolo Bonzini <bonzini@gnu.org>
+2006-08-07 Victor Kaplansky <victork@il.ibm.com>
+
+ PR tree-optimizations/26969
+ * gcc.dg/vect/vect.exp: Compile tests prefixed with
+ "unswitch-loops" with -funswitch-loops.
+ * gcc.dg/vect/unswitch-loops-pr26969.c: New test.
+
2006-08-07 Eric Botcazou <ebotcazou@libertysurf.fr>
* gcc.dg/sparc-getcontext-1.c: Fix typo.
--- /dev/null
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_int } */
+
+void
+ruby_re_compile_fastmap (char *fastmap, int options)
+{
+ int j;
+ for (j = 0; j < (1 << 8); j++)
+ {
+ if (j != '\n' || (options & 4))
+ fastmap[j] = 1;
+ }
+}
+
+/* { dg-final { cleanup-tree-dump "vect" } } */
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/no-section-anchors-*.\[cS\]]] \
"" $DEFAULT_VECTCFLAGS
+# -funswitch-loops tests
+set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
+lappend DEFAULT_VECTCFLAGS "-funswitch-loops"
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/unswitch-loops-*.\[cS\]]] \
+ "" $DEFAULT_VECTCFLAGS
+
# With -Os
lappend DEFAULT_VECTCFLAGS "-Os"
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/Os-vect-*.\[cS\]]] \
that the loop is represented as a do-while (with a proper if-guard
before the loop if needed), where the loop header contains all the
executable statements, and the latch is empty. */
- if (!empty_block_p (loop->latch))
+ if (!empty_block_p (loop->latch)
+ || phi_nodes (loop->latch))
{
if (vect_print_dump_info (REPORT_BAD_FORM_LOOPS))
fprintf (vect_dump, "not vectorized: unexpected loop form.");