diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8bb44b1d3b41fda261cbbdc550b44362d60f5a5b..691f088b1cfa3cb87d8011f3a2a9e70439c20aa9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
 2011-06-22  Janis Johnson  <janisjo@codesourcery.com>
 
+	* gcc.target/arm/scd42-3.c: Allow -march-xscale; skip if -mcpu
+	is not xscale.
+
 	* gcc.target/arm/thumb-bitfld1.c: Don't specify -march, require thumb1.
 
 	* gcc.target/arm/ctz.c: Don't specify -march, require thumb2.
diff --git a/gcc/testsuite/gcc.target/arm/scd42-3.c b/gcc/testsuite/gcc.target/arm/scd42-3.c
index d1d07b0835e394a7210886287d4477a6eb1ba920..eb90e43c4dccacfa0c1272b57831ecc1fa8a7acd 100644
--- a/gcc/testsuite/gcc.target/arm/scd42-3.c
+++ b/gcc/testsuite/gcc.target/arm/scd42-3.c
@@ -1,6 +1,7 @@
 /* Verify that ldr is preferred on XScale for loading a 3 or 4 byte constant. */
 /* { dg-do compile } */
-/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "" } } */
+/* { dg-skip-if "Test is specific to Xscale" { arm*-*-* } { "-march=*" } { "-march=xscale" } } */
+/* { dg-skip-if "Test is specific to Xscale" { arm*-*-* } { "-mcpu=*" } { "-mcpu=xscale" } } */
 /* { dg-options "-mcpu=xscale -O" } */
 
 unsigned load4(void) __attribute__ ((naked));