i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
* 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
This commit is contained in:
parent
d833cfb041
commit
accde4cfac
9 changed files with 13 additions and 297 deletions
|
@ -1,3 +1,7 @@
|
|||
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
|
||||
|
|
|
@ -1085,8 +1085,9 @@ do { \
|
|||
((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 \
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
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
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
/* { 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*-*-* } } } */
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
/* { 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*-*-* } } } */
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
/* { 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*-*-* } } } */
|
|
@ -1,54 +0,0 @@
|
|||
/* { 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*-*-* } } } */
|
|
@ -1,46 +0,0 @@
|
|||
/* { 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*-*-* } } } */
|
||||
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
/* { 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*-*-* } } } */
|
Loading…
Add table
Reference in a new issue