diff options
author | Dorit Nuzman <dorit@il.ibm.com> | 2006-02-26 12:55:43 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2006-02-26 12:55:43 +0000 |
commit | cd683f6da56b08d6cde14e25cd453ea0cc88521f (patch) | |
tree | 687f67cd60715ef075012c48a78d199dd90f9b5c /gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c | |
parent | afa38a953b6a862b3c5cb5632981a3b2d61969c3 (diff) | |
download | gcc-cd683f6da56b08d6cde14e25cd453ea0cc88521f.zip gcc-cd683f6da56b08d6cde14e25cd453ea0cc88521f.tar.gz gcc-cd683f6da56b08d6cde14e25cd453ea0cc88521f.tar.bz2 |
re PR middle-end/25125 ((short) ((int)(unsigned short) + (int)) is done in the wrong type)
PR tree-optimization/25125
* gcc.dg/vect/wrapv-vect-7.c, gcc.dg/vect/wrapv-vect-reduc-2char.c,
gcc.dg/vect/wrapv-vect-reduc-2short.c: New tests.
From-SVN: r111452
Diffstat (limited to 'gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c b/gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c new file mode 100644 index 0000000..ffc5eac --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c @@ -0,0 +1,51 @@ +/* { dg-require-effective-target vect_int } */ + +#include <stdarg.h> +#include "tree-vect.h" + +#define N 128 + +int main1 () +{ + int i; + short sa[N]; + short sb[N]; + + for (i = 0; i < N; i++) + { + sb[i] = 5; + } + + /* check results: */ + for (i = 0; i < N; i++) + { + if (sb[i] != 5) + abort (); + } + + for (i = 0; i < N; i++) + { + sa[i] = sb[i] + (short)100; + } + + /* check results: */ + for (i = 0; i < N; i++) + { + if (sa[i] != 105) + abort (); + } + + return 0; +} + +int main (void) +{ + check_vect (); + + return main1 (); +} + +/* Fails for 32-bit targets that don't vectorize PLUS. */ +/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */ +/* { dg-final { cleanup-tree-dump "vect" } } */ |