From: Bingfeng Mei Date: Mon, 23 Dec 2013 17:22:30 +0000 (+0000) Subject: vect-neg-store-1.c: New test. X-Git-Tag: releases/gcc-4.9.0~1937 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=266d276c4eb2c06d3593ddf1d828776be91f0eea;p=thirdparty%2Fgcc.git vect-neg-store-1.c: New test. 2013-12-23 Bingfeng Mei * gcc.dg/vect/vect-neg-store-1.c: New test. * gcc.dg/vect/vect-neg-store-2.c: Ditto. From-SVN: r206181 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c4fad36aa9eb..c0bba43dc395 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-12-23 Bingfeng Mei + + * gcc.dg/vect/vect-neg-store-1.c: New test. + * gcc.dg/vect/vect-neg-store-2.c: Ditto. + 2013-12-23 Bingfeng Mei PR middle-end/59569 diff --git a/gcc/testsuite/gcc.dg/vect/vect-neg-store-1.c b/gcc/testsuite/gcc.dg/vect/vect-neg-store-1.c new file mode 100644 index 000000000000..178f0a1ec9d0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/vect-neg-store-1.c @@ -0,0 +1,39 @@ +/* { dg-require-effective-target vect_int } */ +#include + +__attribute__((noinline, noclone)) +void test1(short x[128]) +{ + int i; + for (i=127; i>=0; i--) { + x[i] = 1234; + } +} + +int main (void) +{ + short x[128 + 32]; + int i; + + for (i = 0; i < 16; i ++) + { + asm (""); + x[i] = x[i + 144] = 5678; + } + + test1 (x + 16); + + for (i = 0; i < 128; i++) + if (x[i + 16] != 1234) + abort (); + + for (i = 0; i < 16; i++) + if (x[i] != 5678 + || x[i + 144] != 5678) + abort (); + + return 0; +} + +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ +/* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-neg-store-2.c b/gcc/testsuite/gcc.dg/vect/vect-neg-store-2.c new file mode 100644 index 000000000000..e97b9bf40efb --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/vect-neg-store-2.c @@ -0,0 +1,39 @@ +/* { dg-require-effective-target vect_int } */ +#include + +__attribute__((noinline, noclone)) +void test1(short x[128], short D) +{ + int i; + for (i=127; i>=0; i--) { + x[i] = D; + } +} + +int main (void) +{ + short x[128 + 32]; + int i; + + for (i = 0; i < 16; i ++) + { + asm (""); + x[i] = x[i + 144] = 5678; + } + + test1 (x + 16, 1234); + + for (i = 0; i < 128; i++) + if (x[i + 16] != 1234) + abort (); + + for (i = 0; i < 16; i++) + if (x[i] != 5678 + || x[i + 144] != 5678) + abort (); + + return 0; +} + +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ +/* { dg-final { cleanup-tree-dump "vect" } } */