diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 3cf357ed1b6e886423cc129451dbf6b468fc220e..26391467ebba8f26a29acdd18d8addf3355ebf25 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,14 @@
+2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR libgomp/27612
+	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
+	* testsuite/libgomp.c/critical-1.c: Likewise.
+	* testsuite/libgomp.c/loop-1.c: Likewise.
+	* testsuite/libgomp.c/loop-2.c: Likewise.
+	* testsuite/libgomp.c/single-1.c: Likewise.
+	* testsuite/libgomp.c/ordered-1.c: Likewise.
+	* testsuite/libgomp.c/ordered-2.c: Likewise.
+
 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
 
 	PR middle-end/27416
diff --git a/libgomp/testsuite/libgomp.c/critical-1.c b/libgomp/testsuite/libgomp.c/critical-1.c
index ecf54324523d0150f63ecab51654396546d9ed63..2b8503be7e8fd647b6867438995d15f18ab52aa9 100644
--- a/libgomp/testsuite/libgomp.c/critical-1.c
+++ b/libgomp/testsuite/libgomp.c/critical-1.c
@@ -1,5 +1,7 @@
 /* Trivial test of critical sections.  */
 
+/* { dg-require-effective-target sync_int_long } */
+
 #include <omp.h>
 #include <sys/time.h>
 #include <unistd.h>
diff --git a/libgomp/testsuite/libgomp.c/loop-1.c b/libgomp/testsuite/libgomp.c/loop-1.c
index a90a8e601c7cb70aa0cf42da8d170d0f64c3cae5..11348dcfe41fb5589421e7cb336042ecdbe7028c 100644
--- a/libgomp/testsuite/libgomp.c/loop-1.c
+++ b/libgomp/testsuite/libgomp.c/loop-1.c
@@ -1,6 +1,8 @@
 /* Test that all loop iterations are touched.  This doesn't verify 
    scheduling order, merely coverage.  */
 
+/* { dg-require-effective-target sync_int_long } */
+
 #include <omp.h>
 #include <string.h>
 #include <assert.h>
diff --git a/libgomp/testsuite/libgomp.c/loop-2.c b/libgomp/testsuite/libgomp.c/loop-2.c
index 14f371dc8a9cb05661748e53c0cd02611af86ea2..4bae023c79e26a4f7c15470e727eb2253f593fb6 100644
--- a/libgomp/testsuite/libgomp.c/loop-2.c
+++ b/libgomp/testsuite/libgomp.c/loop-2.c
@@ -2,6 +2,8 @@
    even thread distributions here; there are multiple valid solutions
    for uneven thread distributions.  */
 
+/* { dg-require-effective-target sync_int_long } */
+
 #include <omp.h>
 #include <string.h>
 #include <assert.h>
diff --git a/libgomp/testsuite/libgomp.c/ordered-1.c b/libgomp/testsuite/libgomp.c/ordered-1.c
index 23ec12547b9bb71036b7aab8eea3e55d0e928d48..c6143fac237b1d8eb9a620e828b9c02d1867703c 100644
--- a/libgomp/testsuite/libgomp.c/ordered-1.c
+++ b/libgomp/testsuite/libgomp.c/ordered-1.c
@@ -3,6 +3,8 @@
 /* Note that we never call GOMP_ordered_start in here.  AFAICS, this is
    valid; the only requirement is "not more than once per iteration".  */
 
+/* { dg-require-effective-target sync_int_long } */
+
 #include <omp.h>
 #include <string.h>
 #include <assert.h>
diff --git a/libgomp/testsuite/libgomp.c/ordered-2.c b/libgomp/testsuite/libgomp.c/ordered-2.c
index 15325b48bb382c4a10dfb12cfaebff15993203a7..91564371ab238ea92dcf795c51ee7745dac09bc5 100644
--- a/libgomp/testsuite/libgomp.c/ordered-2.c
+++ b/libgomp/testsuite/libgomp.c/ordered-2.c
@@ -1,5 +1,7 @@
 /* Trivial test of ordered.  */
 
+/* { dg-require-effective-target sync_int_long } */
+
 #include <omp.h>
 #include <string.h>
 #include <assert.h>
diff --git a/libgomp/testsuite/libgomp.c/sections-1.c b/libgomp/testsuite/libgomp.c/sections-1.c
index 6785941be6cfbfe154a374b0f87d499897bf0e99..3a6584cb71816490c1171236227cf7ceddd5792a 100644
--- a/libgomp/testsuite/libgomp.c/sections-1.c
+++ b/libgomp/testsuite/libgomp.c/sections-1.c
@@ -1,5 +1,7 @@
 /* Test that all sections are touched.  */
 
+/* { dg-require-effective-target sync_int_long } */
+
 #include <omp.h>
 #include <string.h>
 #include <assert.h>
diff --git a/libgomp/testsuite/libgomp.c/single-1.c b/libgomp/testsuite/libgomp.c/single-1.c
index d1fd5e2de62b46e298108dbd3e3bf79202dfd4e8..1ce89118d813af3094835f06a7d529265a6b1db2 100644
--- a/libgomp/testsuite/libgomp.c/single-1.c
+++ b/libgomp/testsuite/libgomp.c/single-1.c
@@ -1,5 +1,7 @@
 /* Trivial test of single.  */
 
+/* { dg-require-effective-target sync_int_long } */
+
 #include <omp.h>
 #include <sys/time.h>
 #include <unistd.h>