re PR rtl-optimization/7003 ([ppc] address of array loaded int register twice without...
authorAndrew Pinski <andrew_pinski@playstation.sony.com>
Fri, 28 Sep 2007 01:02:30 +0000 (01:02 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Fri, 28 Sep 2007 01:02:30 +0000 (18:02 -0700)
2007-09-27  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/7003
        * gcc.target/powerpc/gcse-1.c: New test.

From-SVN: r128856

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/gcse-1.c [new file with mode: 0644]

index bfc1af73e670009d84826da910597dec4ba936b1..fba430413ecd44e49167cace5f569e8b0616a41a 100644 (file)
@@ -1,3 +1,8 @@
+2007-09-27  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR middle-end/7003
+       * gcc.target/powerpc/gcse-1.c: New test.
+
 2007-09-27  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        * gfortran.dg/array_initializer_3.f90: Adapt error annotations for
diff --git a/gcc/testsuite/gcc.target/powerpc/gcse-1.c b/gcc/testsuite/gcc.target/powerpc/gcse-1.c
new file mode 100644 (file)
index 0000000..799cde1
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-do compile { target { *-*-linux* && ilp32 } } } */
+/* { dg-options "-O2" } */
+/* { dg-final { scan-assembler-times "@ha" 1 } } */
+
+
+/* Test for PR 7003, address of array loaded int register
+   twice without any need. */
+
+extern const char flags [256];
+
+unsigned char * f (unsigned char * s) {
+  while (flags[*++s]);
+  while (!flags[*++s]);
+  return s;
+}