+2019-09-17 Julian Brown <julian@codesourcery.com>
+
+ * c-c++-common/goacc/note-parallelism-1-kernels-loop-auto.c: Update
+ expected message/warning/error output.
+ * c-c++-common/goacc/note-parallelism-1-kernels-straight-line.c:
+ Likewise.
+ * c-c++-common/goacc/note-parallelism-combined-kernels-loop-auto.c:
+ Likewise.
+ * c-c++-common/goacc/note-parallelism-kernels-loop-auto.c: Likewise.
+ * c-c++-common/goacc/routine-1.c: Likewise.
+
2019-05-31 Kwok Cheung Yeung <kcy@codesourcery.com>
* c-c++-common/goacc/kernels-decompose-1.c: Change 'note:' to
#pragma acc kernels
/* Strangely indented to keep this similar to other test cases. */
{
-#pragma acc loop /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto gang /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto worker /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto gang vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto gang worker /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto worker vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto worker vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto gang worker vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang worker vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto gang /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
-#pragma acc loop auto worker
+#pragma acc loop auto worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
for (y = 0; y < 10; y++)
-#pragma acc loop auto vector
+#pragma acc loop auto vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
for (z = 0; z < 10; z++)
;
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
for (y = 0; y < 10; y++)
;
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
for (z = 0; z < 10; z++)
;
-#pragma acc loop /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
for (z = 0; z < 10; z++)
;
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop
for (z = 0; z < 10; z++)
;
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
for (z = 0; z < 10; z++)
;
-#pragma acc loop /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
{
int x, y, z;
-#pragma acc kernels /* { dg-warning "region contains gang partitoned code but is not gang partitioned" } */
+#pragma acc kernels /* { dg-warning "region contains gang partitioned code but is not gang partitioned" } */
{
x = 0; /* { dg-message "optimized: beginning .gang-single. region in OpenACC .kernels. construct" } */
y = x < 10;
for (x = 0; x < 10; x++)
;
-#pragma acc kernels loop auto gang /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc kernels loop auto gang /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc kernels loop auto worker /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc kernels loop auto worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc kernels loop auto vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc kernels loop auto vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc kernels loop auto gang vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc kernels loop auto gang vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc kernels loop auto gang worker /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc kernels loop auto gang worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc kernels loop auto worker vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc kernels loop auto worker vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc kernels loop auto gang worker vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc kernels loop auto gang worker vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
-#pragma acc kernels loop auto gang /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc kernels loop auto gang /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
-#pragma acc loop auto worker
+#pragma acc loop auto worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
for (y = 0; y < 10; y++)
-#pragma acc loop auto vector
+#pragma acc loop auto vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
for (z = 0; z < 10; z++)
;
int x, y, z;
#pragma acc kernels
-#pragma acc loop /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto gang /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto worker /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto gang vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto gang worker /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto worker vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto worker vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto gang worker vector /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang worker vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto gang /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto gang /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
-#pragma acc loop auto worker
+#pragma acc loop auto worker /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
for (y = 0; y < 10; y++)
-#pragma acc loop auto vector
+#pragma acc loop auto vector /* { dg-error ".auto. conflicts with other OpenACC loop specifiers" } */
for (z = 0; z < 10; z++)
;
#pragma acc kernels
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
;
#pragma acc kernels
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
;
#pragma acc kernels
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
;
#pragma acc kernels
-#pragma acc loop /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
;
#pragma acc kernels
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop
;
#pragma acc kernels
-#pragma acc loop auto /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop auto
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
;
#pragma acc kernels
-#pragma acc loop /* { dg-message "optimized: assigned OpenACC seq loop parallelism" } */
+#pragma acc loop
/* { dg-message "optimized: forwarded loop nest in OpenACC .kernels. construct to .parloops. for analysis" "" { target *-*-* } .-1 } */
for (x = 0; x < 10; x++)
#pragma acc loop auto
int main ()
{
-#pragma acc kernels num_gangs (32) num_workers (32) vector_length (32) /* { dg-warning "region contains gang partitoned code but is not gang partitioned" } */
+#pragma acc kernels num_gangs (32) num_workers (32) vector_length (32) /* { dg-warning "region contains gang partitioned code but is not gang partitioned" } */
{
gang ();
worker ();