diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0561c73e57ce900c8767d229275fbd9fec5bc75d..32386e5ffe722232aaa794124d8e877676396335 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2011-05-04  Stuart Henderson  <shenders@gcc.gnu.org>
+
+	* gcc.target/bfin/mcpu-bf512.c: Update to latest silicon revision and
+	remove duplication.
+	* gcc.target/bfin/mcpu-bf514.c: Likewise.
+	* gcc.target/bfin/mcpu-bf516.c: Likewise.
+	* gcc.target/bfin/mcpu-bf518.c: Likewise.
+
 2011-05-03  Tobias Burnus  <burnus@net-b.de>
 
 	PR fortran/18918
diff --git a/gcc/testsuite/gcc.target/bfin/mcpu-bf512.c b/gcc/testsuite/gcc.target/bfin/mcpu-bf512.c
index 71fbcf38df96ad8c4bdbb72e0c7a9b509430780c..fa2d56d1a486a05c4b0ba6bef6040b828822d18f 100644
--- a/gcc/testsuite/gcc.target/bfin/mcpu-bf512.c
+++ b/gcc/testsuite/gcc.target/bfin/mcpu-bf512.c
@@ -10,39 +10,8 @@
 #error "__ADSPBF51x__ is not defined"
 #endif
 
-#if __SILICON_REVISION__ != 0x0000
-#error "__SILICON_REVISION__ is not 0x0000"
-#endif
-
-#ifndef __WORKAROUNDS_ENABLED
-#error "__WORKAROUNDS_ENABLED is not defined"
-#endif
-
-#ifdef __WORKAROUND_RETS
-#error "__WORKAROUND_RETS is defined"
-#endif
-
-#ifndef __WORKAROUND_SPECULATIVE_LOADS
-#error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
-#endif
-
-#ifdef __WORKAROUND_SPECULATIVE_SYNCS
-#error "__WORKAROUND_SPECULATIVE_SYNCS is defined"
-#endif
-/* Test for -mcpu=.  */
-/* { dg-do preprocess } */
-/* { dg-bfin-options "-mcpu=bf512" } */
-
-#ifndef __ADSPBF512__
-#error "__ADSPBF512__ is not defined"
-#endif
-
-#ifndef __ADSPBF51x__
-#error "__ADSPBF51x__ is not defined"
-#endif
-
-#if __SILICON_REVISION__ != 0x0000
-#error "__SILICON_REVISION__ is not 0x0000"
+#if __SILICON_REVISION__ != 0x0002
+#error "__SILICON_REVISION__ is not 0x0002"
 #endif
 
 #ifndef __WORKAROUNDS_ENABLED
diff --git a/gcc/testsuite/gcc.target/bfin/mcpu-bf514.c b/gcc/testsuite/gcc.target/bfin/mcpu-bf514.c
index b1ae2a2ce03a7c522d708fccbe6e819d14d6416a..f6c0829119bc097943f58c059cfaa1106f1dec87 100644
--- a/gcc/testsuite/gcc.target/bfin/mcpu-bf514.c
+++ b/gcc/testsuite/gcc.target/bfin/mcpu-bf514.c
@@ -10,39 +10,8 @@
 #error "__ADSPBF51x__ is not defined"
 #endif
 
-#if __SILICON_REVISION__ != 0x0000
-#error "__SILICON_REVISION__ is not 0x0000"
-#endif
-
-#ifndef __WORKAROUNDS_ENABLED
-#error "__WORKAROUNDS_ENABLED is not defined"
-#endif
-
-#ifdef __WORKAROUND_RETS
-#error "__WORKAROUND_RETS is defined"
-#endif
-
-#ifndef __WORKAROUND_SPECULATIVE_LOADS
-#error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
-#endif
-
-#ifdef __WORKAROUND_SPECULATIVE_SYNCS
-#error "__WORKAROUND_SPECULATIVE_SYNCS is defined"
-#endif
-/* Test for -mcpu=.  */
-/* { dg-do preprocess } */
-/* { dg-bfin-options "-mcpu=bf514" } */
-
-#ifndef __ADSPBF514__
-#error "__ADSPBF514__ is not defined"
-#endif
-
-#ifndef __ADSPBF51x__
-#error "__ADSPBF51x__ is not defined"
-#endif
-
-#if __SILICON_REVISION__ != 0x0000
-#error "__SILICON_REVISION__ is not 0x0000"
+#if __SILICON_REVISION__ != 0x0002
+#error "__SILICON_REVISION__ is not 0x0002"
 #endif
 
 #ifndef __WORKAROUNDS_ENABLED
diff --git a/gcc/testsuite/gcc.target/bfin/mcpu-bf516.c b/gcc/testsuite/gcc.target/bfin/mcpu-bf516.c
index 675d2659d270baeb7cd377643b6688849af25aeb..439b3f40eb58bb38c0cae9cfcb03f43fa4d089f2 100644
--- a/gcc/testsuite/gcc.target/bfin/mcpu-bf516.c
+++ b/gcc/testsuite/gcc.target/bfin/mcpu-bf516.c
@@ -10,39 +10,8 @@
 #error "__ADSPBF51x__ is not defined"
 #endif
 
-#if __SILICON_REVISION__ != 0x0000
-#error "__SILICON_REVISION__ is not 0x0000"
-#endif
-
-#ifndef __WORKAROUNDS_ENABLED
-#error "__WORKAROUNDS_ENABLED is not defined"
-#endif
-
-#ifdef __WORKAROUND_RETS
-#error "__WORKAROUND_RETS is defined"
-#endif
-
-#ifndef __WORKAROUND_SPECULATIVE_LOADS
-#error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
-#endif
-
-#ifdef __WORKAROUND_SPECULATIVE_SYNCS
-#error "__WORKAROUND_SPECULATIVE_SYNCS is defined"
-#endif
-/* Test for -mcpu=.  */
-/* { dg-do preprocess } */
-/* { dg-bfin-options "-mcpu=bf516" } */
-
-#ifndef __ADSPBF516__
-#error "__ADSPBF516__ is not defined"
-#endif
-
-#ifndef __ADSPBF51x__
-#error "__ADSPBF51x__ is not defined"
-#endif
-
-#if __SILICON_REVISION__ != 0x0000
-#error "__SILICON_REVISION__ is not 0x0000"
+#if __SILICON_REVISION__ != 0x0002
+#error "__SILICON_REVISION__ is not 0x0002"
 #endif
 
 #ifndef __WORKAROUNDS_ENABLED
diff --git a/gcc/testsuite/gcc.target/bfin/mcpu-bf518.c b/gcc/testsuite/gcc.target/bfin/mcpu-bf518.c
index d0675783b43cc48dc8ffb3dbe94bfb0f54ace44d..aff7f6989cfae67518792d52a302e64e3593feac 100644
--- a/gcc/testsuite/gcc.target/bfin/mcpu-bf518.c
+++ b/gcc/testsuite/gcc.target/bfin/mcpu-bf518.c
@@ -10,39 +10,8 @@
 #error "__ADSPBF51x__ is not defined"
 #endif
 
-#if __SILICON_REVISION__ != 0x0000
-#error "__SILICON_REVISION__ is not 0x0000"
-#endif
-
-#ifndef __WORKAROUNDS_ENABLED
-#error "__WORKAROUNDS_ENABLED is not defined"
-#endif
-
-#ifdef __WORKAROUND_RETS
-#error "__WORKAROUND_RETS is defined"
-#endif
-
-#ifndef __WORKAROUND_SPECULATIVE_LOADS
-#error "__WORKAROUND_SPECULATIVE_LOADS is not defined"
-#endif
-
-#ifdef __WORKAROUND_SPECULATIVE_SYNCS
-#error "__WORKAROUND_SPECULATIVE_SYNCS is defined"
-#endif
-/* Test for -mcpu=.  */
-/* { dg-do preprocess } */
-/* { dg-bfin-options "-mcpu=bf518" } */
-
-#ifndef __ADSPBF518__
-#error "__ADSPBF518__ is not defined"
-#endif
-
-#ifndef __ADSPBF51x__
-#error "__ADSPBF51x__ is not defined"
-#endif
-
-#if __SILICON_REVISION__ != 0x0000
-#error "__SILICON_REVISION__ is not 0x0000"
+#if __SILICON_REVISION__ != 0x0002
+#error "__SILICON_REVISION__ is not 0x0002"
 #endif
 
 #ifndef __WORKAROUNDS_ENABLED