2014-05-07 Richard Biener <rguenther@suse.de>
Backport from mainline
2013-11-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/59164
* tree-vect-loop.c (vect_analyze_loop_operations): Adjust
check whether we can create an epilogue loop to reflect the
cases where we create one.
* gcc.dg/torture/pr59164.c: New testcase.
From-SVN: r210154
+2014-05-07 Richard Biener <rguenther@suse.de>
+
+ Backport from mainline
+ 2013-11-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/59164
+ * tree-vect-loop.c (vect_analyze_loop_operations): Adjust
+ check whether we can create an epilogue loop to reflect the
+ cases where we create one.
+
2014-05-07 Richard Biener <rguenther@suse.de>
Backport from mainline
+2014-05-07 Richard Biener <rguenther@suse.de>
+
+ Backport from mainline
+ 2013-11-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/59164
+ * gcc.dg/torture/pr59164.c: New testcase.
+
2014-05-07 Richard Biener <rguenther@suse.de>
Backport from mainline
--- /dev/null
+/* { dg-do compile } */
+
+int a, d, e;
+long b[10];
+int c[10][8];
+
+int fn1(p1)
+{
+ return 1 >> p1;
+}
+
+void fn2(void)
+{
+ int f;
+ for (a=1; a <= 4; a++)
+ {
+ f = fn1(0 < c[a][0]);
+ if (f || d)
+ e = b[a] = 1;
+ }
+}
if (!LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
|| LOOP_VINFO_INT_NITERS (loop_vinfo) % vectorization_factor != 0
- || LOOP_PEELING_FOR_ALIGNMENT (loop_vinfo))
+ || LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo))
{
if (vect_print_dump_info (REPORT_DETAILS))
fprintf (vect_dump, "epilog loop required.");