diff mbox

XFAIL gcc.dg/graphite/scop-dsyrk.c

Message ID alpine.LSU.2.20.1702011355580.12993@r111.fhfr.qr
State New
Headers show

Commit Message

Richard Biener Feb. 1, 2017, 12:57 p.m. UTC
The following XFAILs the testcases, making them fail reliably independelty
of int/long type sizes and also providing new testcase variants that
succeed reliably.

I don't see us fixing the underlying niter analysis issue for GCC 7.

Tested on x86_64-unknown-linux-gnu with {,-m32}, applied.

Richard.

2017-02-01  Richard Biener  <rguenther@suse.de>

	PR testsuite/76957
	* gcc.dg/graphite/scop-dsyr2k-2.c: New testcase.
	* gcc.dg/graphite/scop-dsyrk-2.c: Likewise.
	* gcc.dg/graphite/scop-dsyr2k.c: XFAIL.
	* gcc.dg/graphite/scop-dsyrk.c: Likewise.

Comments

Sebastian Pop Feb. 1, 2017, 4:01 p.m. UTC | #1
Sorry for duplicates, I'm resending as plain text for the mailing list.

On Wed, Feb 1, 2017 at 6:57 AM, Richard Biener <rguenther@suse.de> wrote:
>
>
> The following XFAILs the testcases, making them fail reliably independelty
> of int/long type sizes and also providing new testcase variants that
> succeed reliably.
>
> I don't see us fixing the underlying niter analysis issue for GCC 7.
>

I agree.  There is a way with isl to represent the modulo expressions for niter.
It would take some time to properly implement.

>
> Tested on x86_64-unknown-linux-gnu with {,-m32}, applied.
>

Thanks,
Sebastian
diff mbox

Patch

Index: gcc/testsuite/gcc.dg/graphite/scop-dsyr2k-2.c
===================================================================
--- gcc/testsuite/gcc.dg/graphite/scop-dsyr2k-2.c	(nonexistent)
+++ gcc/testsuite/gcc.dg/graphite/scop-dsyr2k-2.c	(working copy)
@@ -0,0 +1,24 @@ 
+/* { dg-require-effective-target size32plus } */
+#define NMAX 3000
+
+static double a[NMAX][NMAX], b[NMAX][NMAX], c[NMAX][NMAX];
+
+typedef __INT32_TYPE__ int32_t;
+typedef __INT64_TYPE__ int64_t;
+
+void dsyr2k(int64_t N) {
+	int32_t i,j,k;
+	
+#pragma scop
+	for (i=0; i<N; i++) {
+		for (j=0; j<N; j++) {
+			for (k=j; k<N; k++) {
+				c[j][k] += a[i][j] * b[i][k] + b[i][j] * a[i][k];
+			}
+		}
+	}
+#pragma endscop
+}
+
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */ 
+
Index: gcc/testsuite/gcc.dg/graphite/scop-dsyr2k.c
===================================================================
--- gcc/testsuite/gcc.dg/graphite/scop-dsyr2k.c	(revision 245089)
+++ gcc/testsuite/gcc.dg/graphite/scop-dsyr2k.c	(working copy)
@@ -3,7 +3,7 @@ 
 
 static double a[NMAX][NMAX], b[NMAX][NMAX], c[NMAX][NMAX];
 
-void dsyr2k(long N) {
+void dsyr2k(int N) {
 	int i,j,k;
 	
 #pragma scop
@@ -17,5 +17,4 @@  void dsyr2k(long N) {
 #pragma endscop
 }
 
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */ 
-
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" { xfail *-*-* } } } */ 
Index: gcc/testsuite/gcc.dg/graphite/scop-dsyrk-2.c
===================================================================
--- gcc/testsuite/gcc.dg/graphite/scop-dsyrk-2.c	(nonexistent)
+++ gcc/testsuite/gcc.dg/graphite/scop-dsyrk-2.c	(working copy)
@@ -0,0 +1,25 @@ 
+/* { dg-require-effective-target size32plus } */
+#define NMAX 3000
+#define MEASURE_TIME 1
+
+static double a[NMAX][NMAX], c[NMAX][NMAX];
+
+typedef __INT32_TYPE__ int32_t;
+typedef __INT64_TYPE__ int64_t;
+
+void dsyrk(int64_t N) 
+{
+  int32_t i,j,k;
+
+#pragma scop
+  for (i=0; i<N; i++) {
+    for (j=0; j<N; j++) {
+      for (k=j; k<N; k++) {
+        c[j][k] += a[i][j] * a[i][k];
+      }
+    }
+  }
+#pragma endscop
+}
+
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" } } */
Index: gcc/testsuite/gcc.dg/graphite/scop-dsyrk.c
===================================================================
--- gcc/testsuite/gcc.dg/graphite/scop-dsyrk.c	(revision 245089)
+++ gcc/testsuite/gcc.dg/graphite/scop-dsyrk.c	(working copy)
@@ -4,7 +4,7 @@ 
 
 static double a[NMAX][NMAX], c[NMAX][NMAX];
 
-void dsyrk(long N) 
+void dsyrk(int N) 
 {
   int i,j,k;
 
@@ -19,4 +19,4 @@  void dsyrk(long N)
 #pragma endscop
 }
 
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" { xfail *-*-* } } } */