diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b5a41620f9effe7663ef50f4f7333eacd8e7b16c..3a460685243b8de44a5cf663510aacba00a8aa90 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,23 @@
+2008-01-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+	PR testsuite/34821
+	* gcc.dg/autopar/autopar.exp: New.
+	* g++.dg/tree-ssa/pr34355.C: Require pthread.
+	* lib/target-supports.exp (check_effective_target_pthread): New.
+
+	* gcc.dg/tree-ssa/parallelization-1.c: Moved to gcc.dg/autopar.
+	* gcc.dg/tree-ssa/reduc-1short.c: Same.
+	* gcc.dg/tree-ssa/reduc-1.c: Same.
+	* gcc.dg/tree-ssa/reduc-2short.c: Same.
+	* gcc.dg/tree-ssa/reduc-2.c: Same
+	* gcc.dg/tree-ssa/reduc-3.c: Same.
+	* gcc.dg/tree-ssa/reduc-1char.c: Same.
+	* gcc.dg/tree-ssa/reduc-6.c: Same.
+	* gcc.dg/tree-ssa/reduc-7.c: Same.
+	* gcc.dg/tree-ssa/reduc-2char.c: Same.
+	* gcc.dg/tree-ssa/reduc-8.c: Same.
+	* gcc.dg/tree-ssa/reduc-9.c: Same.
+
 2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
 
 	* gnat.dg/discr5.adb: New test.
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr34355.C b/gcc/testsuite/g++.dg/tree-ssa/pr34355.C
index 212c54777445b508f363a481b3036fd260c25326..414a93746376d587441e4c1576290c85ff7f184c 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr34355.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr34355.C
@@ -1,3 +1,4 @@
+// { dg-require-effective-target pthread } 
 // { dg-do compile }
 // { dg-options "-O3 -ftree-parallelize-loops=4" }
 
diff --git a/gcc/testsuite/gcc.dg/autopar/autopar.exp b/gcc/testsuite/gcc.dg/autopar/autopar.exp
new file mode 100644
index 0000000000000000000000000000000000000000..d19e51f7fe07f72a7083dc5e63edc6a4bf2319d1
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/autopar.exp
@@ -0,0 +1,40 @@
+#   Copyright (C) 2008 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+
+# GCC testsuite that uses the `dg.exp' driver.
+
+# Load support procs.
+load_lib gcc-dg.exp
+
+if ![check_effective_target_pthread] {
+  return
+}
+
+# If a testcase doesn't have special options, use these.
+global DEFAULT_CFLAGS
+if ![info exists DEFAULT_CFLAGS] then {
+    set DEFAULT_CFLAGS " -ansi -pedantic-errors"
+}
+
+# Initialize `dg'.
+dg-init
+
+# Main loop.
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
+	"" $DEFAULT_CFLAGS
+
+# All done.
+dg-finish
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/parallelization-1.c b/gcc/testsuite/gcc.dg/autopar/parallelization-1.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/parallelization-1.c
rename to gcc/testsuite/gcc.dg/autopar/parallelization-1.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-1.c b/gcc/testsuite/gcc.dg/autopar/reduc-1.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-1.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-1.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-1char.c b/gcc/testsuite/gcc.dg/autopar/reduc-1char.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-1char.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-1char.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-1short.c b/gcc/testsuite/gcc.dg/autopar/reduc-1short.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-1short.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-1short.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-2.c b/gcc/testsuite/gcc.dg/autopar/reduc-2.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-2.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-2.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-2char.c b/gcc/testsuite/gcc.dg/autopar/reduc-2char.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-2char.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-2char.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-2short.c b/gcc/testsuite/gcc.dg/autopar/reduc-2short.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-2short.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-2short.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-3.c b/gcc/testsuite/gcc.dg/autopar/reduc-3.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-3.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-3.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-6.c b/gcc/testsuite/gcc.dg/autopar/reduc-6.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-6.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-6.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-7.c b/gcc/testsuite/gcc.dg/autopar/reduc-7.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-7.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-7.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-8.c b/gcc/testsuite/gcc.dg/autopar/reduc-8.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-8.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-8.c
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reduc-9.c b/gcc/testsuite/gcc.dg/autopar/reduc-9.c
similarity index 100%
rename from gcc/testsuite/gcc.dg/tree-ssa/reduc-9.c
rename to gcc/testsuite/gcc.dg/autopar/reduc-9.c
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index a723dc635d5aa5047d8231264fdfbea20492d936..7ea9ca0ab27e0f6c0686f8ae6b77cae313cabbba 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -509,6 +509,15 @@ proc check_effective_target_fopenmp {} {
     } "-fopenmp"]
 }
 
+# Return 1 if compilation with -pthread is error-free for trivial
+# code, 0 otherwise.
+
+proc check_effective_target_pthread {} {
+    return [check_no_compiler_messages pthread object {
+	void foo (void) { }
+    } "-pthread"]
+}
+
 # Return 1 if the target supports -fstack-protector
 proc check_effective_target_fstack_protector {} {
     return [check_runtime fstack_protector {