diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c86bb458da5ab52804a726a35617e3718209b710..e379da02b300057ab7bbb52c4daf67f1a09e9bac 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-17  Revital Eres  <eres@il.ibm.com>
+
+	PR30957
+	* gcc.dg/pr30957-1.c: Always xfail and add noinline attribute.
+
 2008-01-17  Paul Thomas  <pault@gcc.gnu.org>
 
 	PR fortran/34429
diff --git a/gcc/testsuite/gcc.dg/pr30957-1.c b/gcc/testsuite/gcc.dg/pr30957-1.c
index 5600ee9ee777128aceddb9652fc7f90168c9a95d..44cdf9db9b0893adc3e84bf437ab9d7cc185611d 100644
--- a/gcc/testsuite/gcc.dg/pr30957-1.c
+++ b/gcc/testsuite/gcc.dg/pr30957-1.c
@@ -1,13 +1,17 @@
-/* { dg-do run { xfail vax-*-* powerpc-*-*spe } } */
+/* { dg-do run { xfail *-*-* } } */
 /* We don't (and don't want to) perform this optimisation on soft-float
-   targets, where each addition is a library call.  */
+   targets, where each addition is a library call.  This test requires
+   -fassociative-math for enabling the variable-expansion as well as
+   -fsigned-zeros for honoring the sign of zero; but
+   they can not co-exist; also under -funsafe-math-optimizations, so we
+   expect it to fail.  */
 /* { dg-require-effective-target hard_float } */
 /* { dg-options "-O2 -funroll-loops -funsafe-math-optimizations -fvariable-expansion-in-unroller -dL" } */
 
 extern void abort (void);
 extern void exit (int);
 
-float
+float __attribute__((noinline))
 foo (float d, int n)
 {
   unsigned i;