* config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
* gcc.dg/vect/vect-27a.c, gcc.dg/vect/vect-29a.c,
gcc.dg/vect/vect-48a.c, gcc.dg/vect/vect-56a.c,
gcc.dg/vect/vect-72a.c, gcc.dg/vect/vect-77a.c: Remove.
From-SVN: r92637
+2004-12-27 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
+
2004-12-26 Richard Henderson <rth@redhat.com>
* config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result
((MODE) == DImode || (MODE) == V8QImode || (MODE) == V4HImode \
|| (MODE) == V2SImode || (MODE) == SImode)
-#define UNITS_PER_SIMD_WORD \
- (TARGET_SSE ? 16 : TARGET_MMX || TARGET_3DNOW ? 8 : 0)
+/* ??? No autovectorization into MMX or 3DNOW until we can reliably
+ place emms and femms instructions. */
+#define UNITS_PER_SIMD_WORD (TARGET_SSE ? 16 : 0)
#define VALID_FP_MODE_P(MODE) \
((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode \
+2004-12-27 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/vect/vect-27a.c, gcc.dg/vect/vect-29a.c,
+ gcc.dg/vect/vect-48a.c, gcc.dg/vect/vect-56a.c,
+ gcc.dg/vect/vect-72a.c, gcc.dg/vect/vect-77a.c: Remove.
+
2004-12-26 Richard Henderson <rth@redhat.com>
* gcc.dg/compat/compat-common.h (CINT, CDBL): Use multiplication
+++ /dev/null
-/* { dg-require-effective-target vect_int } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */
-
-#include <stdarg.h>
-#include "tree-vect.h"
-
-#define N 128
-
-/* unaligned load. */
-
-int main1 ()
-{
- int i;
- int ia[N];
- int ib[N+1];
-
- for (i=0; i < N; i++)
- {
- ib[i] = i;
- }
-
- for (i = 1; i <= N; i++)
- {
- ia[i-1] = ib[i];
- }
-
- /* check results: */
- for (i = 1; i <= N; i++)
- {
- if (ia[i-1] != ib[i])
- abort ();
- }
-
- return 0;
-}
-
-int main (void)
-{
- check_vect ();
-
- return main1 ();
-}
-
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail sparc*-*-* } } } */
-
+++ /dev/null
-/* { dg-require-effective-target vect_int } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */
-
-#include <stdarg.h>
-#include "tree-vect.h"
-
-#define N 128
-#define OFF 3
-
-/* unaligned load. */
-
-int main1 (int off)
-{
- int i;
- int ia[N];
- int ib[N+OFF];
-
- for (i = 0; i < N+OFF; i++)
- {
- ib[i] = i;
- }
-
- for (i = 0; i < N; i++)
- {
- ia[i] = ib[i+off];
- }
-
- /* check results: */
- for (i = 0; i < N; i++)
- {
- if (ia[i] != ib[i+off])
- abort ();
- }
-
- return 0;
-}
-
-int main (void)
-{
- check_vect ();
-
- main1 (0); /* aligned */
- main1 (OFF); /* unaligned */
- return 0;
-}
-
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail sparc*-*-* } } } */
-
+++ /dev/null
-/* { dg-require-effective-target vect_int } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */
-
-#include <stdarg.h>
-#include "tree-vect.h"
-
-#define N 256
-
-typedef short ashort __attribute__ ((__aligned__(16)));
-
-void bar (short *pa, short *pb, short *pc)
-{
- int i;
-
- /* check results: */
- for (i = 0; i < N; i++)
- {
- if (pa[i] != (pb[i] + pc[i]))
- abort ();
- }
-
- return;
-}
-
-
-int
-main1 (ashort * __restrict__ pa, short * __restrict__ pb, short * __restrict__ pc)
-{
- int i;
-
- for (i = 0; i < N; i++)
- {
- pa[i] = pb[i] + pc[i];
- }
-
- bar (pa,pb,pc);
-
- return 0;
-}
-
-int main (void)
-{
- int i;
- ashort a[N];
- ashort b[N+1] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
- ashort c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
-
- check_vect ();
-
- main1 (a,b,c);
- main1 (a,&b[1],c);
-
- return 0;
-}
-
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail sparc*-*-* alpha*-*-* } } } */
+++ /dev/null
-/* { dg-require-effective-target vect_int } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */
-
-#include <stdarg.h>
-#include "tree-vect.h"
-
-#define N 256
-
-typedef short ashort __attribute__ ((__aligned__(16)));
-
-void bar (ashort *pa, ashort *pb, ashort *pc)
-{
- int i;
-
- /* check results: */
- for (i = 0; i < N/2; i++)
- {
- if (pa[i] != (pb[i+1] + pc[i+1]))
- abort ();
- }
-
- return;
-}
-
-
-int
-main1 (ashort * __restrict__ pa, ashort * __restrict__ pb, ashort * __restrict__ pc)
-{
- int i;
-
- for (i = 0; i < N/2; i++)
- {
- pa[i] = pb[i+1] + pc[i+1];
- }
-
- bar (pa,pb,pc);
-
- return 0;
-}
-
-int main (void)
-{
- int i;
- ashort a[N];
- ashort b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
- ashort c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
-
- check_vect ();
-
- main1 (a,b,c);
- return 0;
-}
-
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail sparc*-*-* alpha*-*-* } } } */
+++ /dev/null
-/* { dg-require-effective-target vect_int } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */
-
-#include <stdarg.h>
-#include "tree-vect.h"
-
-#define N 128
-
-/* unaligned load. */
-
-int main1 ()
-{
- int i;
- char ia[N];
- char ib[N+1];
-
- for (i=0; i < N+1; i++)
- {
- ib[i] = i;
- }
-
- for (i = 1; i < N+1; i++)
- {
- ia[i-1] = ib[i];
- }
-
- /* check results: */
- for (i = 1; i <= N; i++)
- {
- if (ia[i-1] != ib[i])
- abort ();
- }
-
- return 0;
-}
-
-int main (void)
-{
- check_vect ();
-
- return main1 ();
-}
-
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail sparc*-*-* } } } */
-
-
+++ /dev/null
-/* { dg-require-effective-target vect_int } */
-/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */
-
-#include <stdarg.h>
-#include "tree-vect.h"
-
-#define N 8
-#define OFF 8
-
-typedef int aint __attribute__ ((__aligned__(16)));
-
-aint ib[N+OFF] = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
-
-int main1 (aint *ib, int off)
-{
- int i;
- int ia[N];
-
- for (i = 0; i < N; i++)
- {
- ia[i] = ib[i+off];
- }
-
-
- /* check results: */
- for (i = 0; i < N; i++)
- {
- if (ia[i] != ib[i+off])
- abort ();
- }
-
- return 0;
-}
-
-int main (void)
-{
- check_vect ();
-
- main1 (ib, 8);
- return 0;
-}
-
-
-/* This fails to vectorize for 64-bit powerpc but there's no way to
- specify that in an xfail list. */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail sparc*-*-* alpha*-*-* } } } */