* gcc.dg/unroll_1.c: Rename gcc.dg/unroll_[1-5].c to unroll-[2-6].
* gcc.dg/unroll_2.c: Likewise.
* gcc.dg/unroll_3.c: Likewise.
* gcc.dg/unroll_4.c: Likewise.
* gcc.dg/unroll_5.c: Likewise.
From-SVN: r219675
+2015-01-15 Mike Stump <mikestump@comcast.net>
+
+ * gcc.dg/unroll_1.c: Rename gcc.dg/unroll_[1-5].c to unroll-[2-6].
+ * gcc.dg/unroll_2.c: Likewise.
+ * gcc.dg/unroll_3.c: Likewise.
+ * gcc.dg/unroll_4.c: Likewise.
+ * gcc.dg/unroll_5.c: Likewise.
+
2015-01-15 Tejas Belagod <tejas.belagod@arm.com>
PR target/63971
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-cunrolli-details=stderr -fno-peel-loops -fno-tree-vrp -fdisable-tree-cunroll -fenable-tree-cunrolli" } */
+
+unsigned a[100], b[100];
+inline void bar()
+{
+ a[10] = b[10];
+}
+
+int foo(void)
+{
+ int i;
+ bar();
+ for (i = 0; i < 2; i++) /* { dg-message "note: loop with 3 iterations completely unrolled" } */
+ {
+ a[i]= b[i] + 1;
+ }
+ return 1;
+}
+
+int foo2(void)
+{
+ int i;
+ for (i = 0; i < 2; i++) /* { dg-message "note: loop with 3 iterations completely unrolled" } */
+ {
+ a[i]= b[i] + 1;
+ }
+ return 1;
+}
+/* { dg-prune-output ".*" } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-cunrolli-details -fno-peel-loops -fno-tree-vrp -fdisable-tree-cunrolli=foo -fenable-tree-cunrolli=foo" } */
+
+unsigned a[100], b[100];
+inline void bar()
+{
+ a[10] = b[10];
+}
+
+int foo(void)
+{
+ int i;
+ bar();
+ for (i = 0; i < 2; i++)
+ {
+ a[i]= b[i] + 1;
+ }
+ return 1;
+}
+
+int foo2(void)
+{
+ int i;
+ for (i = 0; i < 2; i++)
+ {
+ a[i]= b[i] + 1;
+ }
+ return 1;
+}
+
+/* { dg-final { scan-tree-dump-times "loop with 3 iterations completely unrolled" 1 "cunrolli" } } */
+/* { dg-final { cleanup-tree-dump "cunrolli" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-cunrolli-details -fno-peel-loops -fno-tree-vrp -fdisable-tree-cunroll -fenable-tree-cunrolli=foo -fdisable-tree-cunrolli=foo2" } */
+
+unsigned a[100], b[100];
+inline void bar()
+{
+ a[10] = b[10];
+}
+
+int foo(void)
+{
+ int i;
+ bar();
+ for (i = 0; i < 2; i++)
+ {
+ a[i]= b[i] + 1;
+ }
+ return 1;
+}
+
+int foo2(void)
+{
+ int i;
+ for (i = 0; i < 2; i++)
+ {
+ a[i]= b[i] + 1;
+ }
+ return 1;
+}
+
+/* { dg-final { scan-tree-dump-times "loop with 3 iterations completely unrolled" 1 "cunrolli" } } */
+/* { dg-final { cleanup-tree-dump "cunrolli" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-cunrolli-details -fno-peel-loops -fno-tree-vrp -fdisable-tree-cunroll -fenable-tree-cunrolli=foo2 -fdisable-tree-cunrolli=foo" } */
+
+unsigned a[100], b[100];
+inline void bar()
+{
+ a[10] = b[10];
+}
+
+int foo(void)
+{
+ int i;
+ bar();
+ for (i = 0; i < 2; i++)
+ {
+ a[i]= b[i] + 1;
+ }
+ return 1;
+}
+
+int foo2(void)
+{
+ int i;
+ for (i = 0; i < 2; i++)
+ {
+ a[i]= b[i] + 1;
+ }
+ return 1;
+}
+
+/* { dg-final { scan-tree-dump-times "loop with 3 iterations completely unrolled" 1 "cunrolli" } } */
+/* { dg-final { cleanup-tree-dump "cunrolli" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O3 -fdump-rtl-loop2_unroll -funroll-loops" } */
+/* { dg-require-effective-target int32plus } */
+
+void abort (void);
+int *a;
+/* Fails on MIPS16 because equality checks are implemented using XOR.
+ It's unlikely MIPS16 users would want unrolling anyway. */
+#ifdef __mips
+__attribute__((nomips16))
+#endif
+int t()
+{
+ int i;
+ for (i=0;i<1000000;i++)
+ if (a[i])
+ return 1;
+ return 0;
+}
+#ifdef __mips
+__attribute__((nomips16))
+#endif
+int t2()
+{
+ int i;
+ for (i=0;i<3000000;i++)
+ if (a[i])
+ abort ();
+ return 0;
+}
+/* { dg-final { scan-rtl-dump-times "upper bound: 999999" 1 "loop2_unroll" } } */
+/* { dg-final { scan-rtl-dump-not "realistic bound: 999999" "loop2_unroll" } } */
+/* { dg-final { scan-rtl-dump-times "upper bound: 2999999" 1 "loop2_unroll" } } */
+/* { dg-final { scan-rtl-dump-times "realistic bound: 2999999" 1 "loop2_unroll" } } */
+/* { dg-final { cleanup-rtl-dump "loop2_unroll" } } */
+++ /dev/null
-/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-cunrolli-details=stderr -fno-peel-loops -fno-tree-vrp -fdisable-tree-cunroll -fenable-tree-cunrolli" } */
-
-unsigned a[100], b[100];
-inline void bar()
-{
- a[10] = b[10];
-}
-
-int foo(void)
-{
- int i;
- bar();
- for (i = 0; i < 2; i++) /* { dg-message "note: loop with 3 iterations completely unrolled" } */
- {
- a[i]= b[i] + 1;
- }
- return 1;
-}
-
-int foo2(void)
-{
- int i;
- for (i = 0; i < 2; i++) /* { dg-message "note: loop with 3 iterations completely unrolled" } */
- {
- a[i]= b[i] + 1;
- }
- return 1;
-}
-/* { dg-prune-output ".*" } */
+++ /dev/null
-/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-cunrolli-details -fno-peel-loops -fno-tree-vrp -fdisable-tree-cunrolli=foo -fenable-tree-cunrolli=foo" } */
-
-unsigned a[100], b[100];
-inline void bar()
-{
- a[10] = b[10];
-}
-
-int foo(void)
-{
- int i;
- bar();
- for (i = 0; i < 2; i++)
- {
- a[i]= b[i] + 1;
- }
- return 1;
-}
-
-int foo2(void)
-{
- int i;
- for (i = 0; i < 2; i++)
- {
- a[i]= b[i] + 1;
- }
- return 1;
-}
-
-/* { dg-final { scan-tree-dump-times "loop with 3 iterations completely unrolled" 1 "cunrolli" } } */
-/* { dg-final { cleanup-tree-dump "cunrolli" } } */
+++ /dev/null
-/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-cunrolli-details -fno-peel-loops -fno-tree-vrp -fdisable-tree-cunroll -fenable-tree-cunrolli=foo -fdisable-tree-cunrolli=foo2" } */
-
-unsigned a[100], b[100];
-inline void bar()
-{
- a[10] = b[10];
-}
-
-int foo(void)
-{
- int i;
- bar();
- for (i = 0; i < 2; i++)
- {
- a[i]= b[i] + 1;
- }
- return 1;
-}
-
-int foo2(void)
-{
- int i;
- for (i = 0; i < 2; i++)
- {
- a[i]= b[i] + 1;
- }
- return 1;
-}
-
-/* { dg-final { scan-tree-dump-times "loop with 3 iterations completely unrolled" 1 "cunrolli" } } */
-/* { dg-final { cleanup-tree-dump "cunrolli" } } */
+++ /dev/null
-/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-cunrolli-details -fno-peel-loops -fno-tree-vrp -fdisable-tree-cunroll -fenable-tree-cunrolli=foo2 -fdisable-tree-cunrolli=foo" } */
-
-unsigned a[100], b[100];
-inline void bar()
-{
- a[10] = b[10];
-}
-
-int foo(void)
-{
- int i;
- bar();
- for (i = 0; i < 2; i++)
- {
- a[i]= b[i] + 1;
- }
- return 1;
-}
-
-int foo2(void)
-{
- int i;
- for (i = 0; i < 2; i++)
- {
- a[i]= b[i] + 1;
- }
- return 1;
-}
-
-/* { dg-final { scan-tree-dump-times "loop with 3 iterations completely unrolled" 1 "cunrolli" } } */
-/* { dg-final { cleanup-tree-dump "cunrolli" } } */
+++ /dev/null
-/* { dg-do compile } */
-/* { dg-options "-O3 -fdump-rtl-loop2_unroll -funroll-loops" } */
-/* { dg-require-effective-target int32plus } */
-
-void abort (void);
-int *a;
-/* Fails on MIPS16 because equality checks are implemented using XOR.
- It's unlikely MIPS16 users would want unrolling anyway. */
-#ifdef __mips
-__attribute__((nomips16))
-#endif
-int t()
-{
- int i;
- for (i=0;i<1000000;i++)
- if (a[i])
- return 1;
- return 0;
-}
-#ifdef __mips
-__attribute__((nomips16))
-#endif
-int t2()
-{
- int i;
- for (i=0;i<3000000;i++)
- if (a[i])
- abort ();
- return 0;
-}
-/* { dg-final { scan-rtl-dump-times "upper bound: 999999" 1 "loop2_unroll" } } */
-/* { dg-final { scan-rtl-dump-not "realistic bound: 999999" "loop2_unroll" } } */
-/* { dg-final { scan-rtl-dump-times "upper bound: 2999999" 1 "loop2_unroll" } } */
-/* { dg-final { scan-rtl-dump-times "realistic bound: 2999999" 1 "loop2_unroll" } } */
-/* { dg-final { cleanup-rtl-dump "loop2_unroll" } } */