diff options
author | revitale <revitale@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-10-31 17:04:42 +0000 |
---|---|---|
committer | revitale <revitale@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-10-31 17:04:42 +0000 |
commit | a39ea4df3097965e689783caa9098d496b837c9f (patch) | |
tree | ffcd2f0cd6e20a0379266c1ddc17953d9734dcc9 /gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c | |
parent | ed69e50620a42f9b5a5dc320e7ae3091a2f378cd (diff) | |
download | gcc-a39ea4df3097965e689783caa9098d496b837c9f.tar.gz |
Enable auto-vectorization for PowerPC 750CL paired-single instructions
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129803 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c new file mode 100644 index 00000000000..0a497b524bd --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c @@ -0,0 +1,33 @@ +/* { dg-require-effective-target vect_condition } */ +/* { dg-require-effective-target vect_float } */ + +#include <stdarg.h> +#include <signal.h> +#include "tree-vect.h" + +#define N 16 +#define MAX 42 + +extern void abort(void); + +int main () +{ + float A[N] = {36,39,42,45,43,32,21,12,23,34,45,56,42,78,89,11}; + float B[N] = {42,42,0,42,42,42,42,42,42,42,42,42,0,42,42,42}; + int i, j; + + check_vect (); + + for (i = 0; i < 16; i++) + A[i] = ( A[i] == MAX ? 0 : MAX); + + /* check results: */ + for (i = 0; i < N; i++) + if (A[i] != B[i]) + abort (); + + return 0; +} + +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ +/* { dg-final { cleanup-tree-dump "vect" } } */ |