summaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/pr48159-1.c10
-rw-r--r--gcc/testsuite/gcc.dg/pr48159-2.c22
3 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5cfb9f23c6c..5fde36e00a3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48159
+ * gcc.dg/pr48159-1.c: New test.
+ * gcc.dg/pr48159-2.c: New test.
+
2011-05-11 Richard Guenther <rguenther@suse.de>
PR middle-end/48953
diff --git a/gcc/testsuite/gcc.dg/pr48159-1.c b/gcc/testsuite/gcc.dg/pr48159-1.c
new file mode 100644
index 00000000000..cd67e63852f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr48159-1.c
@@ -0,0 +1,10 @@
+/* PR debug/48159 */
+/* { dg-do compile } */
+/* { dg-options "-O3 -fcompare-debug" } */
+
+void
+foo (double x, int y, double *__restrict z, double *__restrict w)
+{
+ while (y--)
+ *z++ = (*w++ = 0) * x;
+}
diff --git a/gcc/testsuite/gcc.dg/pr48159-2.c b/gcc/testsuite/gcc.dg/pr48159-2.c
new file mode 100644
index 00000000000..25596bf6b39
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr48159-2.c
@@ -0,0 +1,22 @@
+/* PR debug/48159 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-loop-distribution -fcompare-debug" } */
+
+int foo (int * __restrict__ ia, int * __restrict__ ib,
+ int * __restrict__ oxa, int * __restrict__ oxb)
+{
+ int i;
+ int oya[52], oyb[52];
+ for (i = 0; i < 52; i++)
+ {
+ int w1 = ia[i];
+ int w2 = oxa[i];
+ int w3 = ib[i];
+ int w4 = oxb[i];
+ int w5 = w1 + w2 + 5;
+ oya[i] = (w1 * w2) >> 10;
+ int w6 = w3 + w4 + 6;
+ oyb[i] = (w3 * w4) >> 10;
+ }
+ return oya[22] + oyb[21];
+}