Hi

I want to port r175009 from trunk to google/gcc-4_6 since it fixed 3 dejagnu
failures for arm backend.

Tested on x86-64 with
make check-gcc RUNTESTFLAGS="vect.exp"

Tested on arm qemu with
make check-gcc RUNTESTFLAGS="--target_board=arm-sim/thumb/arch=armv7-a vect.exp"
make check-gcc RUNTESTFLAGS="--target_board=arm-sim/arch=armv7-a vect.exp"

OK for google/gcc-4_6?

thanks
Carrot


2011-08-03  Guozhi Wei  <car...@google.com>

        Backport r175009 from trunk.

        2011-06-14  Ira Rosen  <ira.ro...@linaro.org>

                * gcc.dg/vect/vect-16.c: Rename to...
                * gcc.dg/vect/no-fast-math-vect16.c: ...this.
                * gcc.dg/vect/vect-peel-3.c: Adjust misalignment values
                for double-word vectors.
                * gcc.dg/vect/vect-peel-4.c: Likewise.
                * gcc.dg/vect/bb-slp-10.c: Replace vect_hw_misalign with
                vect_element_align.
                * gcc.dg/vect/vect.exp: Run no-fast-math-* tests with
                -fno-fast-math.


Index: gcc.dg/vect/vect-16.c
===================================================================
--- gcc.dg/vect/vect-16.c       (revision 177228)
+++ gcc.dg/vect/vect-16.c       (working copy)
@@ -1,38 +0,0 @@
-/* { dg-require-effective-target vect_float } */
-
-#include <stdarg.h>
-#include "tree-vect.h"
-
-#define N 16
-#define DIFF 240
-
-__attribute__ ((noinline))
-int main1 ()
-{
-  int i;
-  float b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
-  float c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
-  float diff;
-
-  diff = 0;
-  for (i = 0; i < N; i++) {
-    diff += (b[i] - c[i]);
-  }
-
-  /* check results:  */
-  if (diff != DIFF)
-    abort ();
-
-  return 0;
-}
-
-int main (void)
-{ 
-  check_vect ();
-  
-  return main1 ();
-}
-
-/* Requires fast-math.  */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail 
*-*-* } } } */
-/* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-peel-3.c
===================================================================
--- gcc.dg/vect/vect-peel-3.c   (revision 177228)
+++ gcc.dg/vect/vect-peel-3.c   (working copy)
@@ -4,9 +4,7 @@
 #include "tree-vect.h"
 
 #define N 128
-#define RES 21888 
-
-/* unaligned store.  */
+#define RES 21640 
 
 int ib[N+10];
 int ia[N+10];
@@ -18,11 +16,11 @@ int main1 ()
   int i, suma = 0, sumb = 0, sumc = 0;
 
   /* ib and ic have same misalignment, we peel to align them.  */
-  for (i = 1; i <= N; i++)
+  for (i = 0; i <= N; i++)
     {
       suma += ia[i];
-      sumb += ib[i+6];
-      sumc += ic[i+2];
+      sumb += ib[i+5];
+      sumc += ic[i+1];
     }
 
   /* check results:  */
Index: gcc.dg/vect/vect-peel-4.c
===================================================================
--- gcc.dg/vect/vect-peel-4.c   (revision 177228)
+++ gcc.dg/vect/vect-peel-4.c   (working copy)
@@ -16,13 +16,13 @@ int main1 ()
   /* Don't peel keeping one load and the store aligned.  */
   for (i = 0; i <= N; i++)
     {
-      ia[i] = ib[i] + ib[i+6];
+      ia[i] = ib[i] + ib[i+5];
     }
 
   /* check results:  */
   for (i = 1; i <= N; i++)
     {
-      if (ia[i] != ib[i] + ib[i+6])
+      if (ia[i] != ib[i] + ib[i+5])
         abort ();
     }
 
Index: gcc.dg/vect/bb-slp-10.c
===================================================================
--- gcc.dg/vect/bb-slp-10.c     (revision 177228)
+++ gcc.dg/vect/bb-slp-10.c     (working copy)
@@ -49,7 +49,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 
"slp" { xfail vect_hw_misalign } } } */
-/* { dg-final { scan-tree-dump-times "basic block vectorized using SLP" 1 
"slp" { target vect_hw_misalign } } } */
+/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 
"slp" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized using SLP" 1 
"slp" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
Index: gcc.dg/vect/vect.exp
===================================================================
--- gcc.dg/vect/vect.exp        (revision 177228)
+++ gcc.dg/vect/vect.exp        (working copy)
@@ -108,6 +108,12 @@ lappend DEFAULT_VECTCFLAGS "-ffast-math"
 dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/fast-math-*.\[cS\]]]  \
        "" $DEFAULT_VECTCFLAGS
 
+# -fno-fast-math tests
+set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
+lappend DEFAULT_VECTCFLAGS "-fno-fast-math"
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/no-fast-math-*.\[cS\]]]  \
+        "" $DEFAULT_VECTCFLAGS
+
 # -fno-math-errno tests
 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
 lappend DEFAULT_VECTCFLAGS "-fno-math-errno"

--
This patch is available for review at http://codereview.appspot.com/4815082

Reply via email to