diff options
author | Will Schmidt <will_schmidt@vnet.ibm.com> | 2017-10-27 17:52:55 +0000 |
---|---|---|
committer | Will Schmidt <willschm@gcc.gnu.org> | 2017-10-27 17:52:55 +0000 |
commit | 759ebd17e39203678e1fd35611628f6dddc44117 (patch) | |
tree | 831bea76fea7f24200c5ae79c74f2821bd3f4a02 /gcc | |
parent | 730de5a59ed3f0669b0d5cd85392f14fd337b895 (diff) | |
download | gcc-759ebd17e39203678e1fd35611628f6dddc44117.zip gcc-759ebd17e39203678e1fd35611628f6dddc44117.tar.gz gcc-759ebd17e39203678e1fd35611628f6dddc44117.tar.bz2 |
fold-vec-neg-char.c: New.
[testsuite]
2017-10-27 Will Schmidt <will_schmidt@vnet.ibm.com>
* gcc.target/powerpc/fold-vec-neg-char.c: New.
* gcc.target/powerpc/fold-vec-neg-floatdouble.c: New.
* gcc.target/powerpc/fold-vec-neg-int.c: New.
* gcc.target/powerpc/fold-vec-neg-longlong.c: New.
* gcc.target/powerpc/fold-vec-neg-short.c: New.
From-SVN: r254164
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/fold-vec-neg-char.c | 19 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/fold-vec-neg-floatdouble.c | 23 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c | 18 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/fold-vec-neg-longlong.c | 18 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/fold-vec-neg-short.c | 18 |
6 files changed, 104 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2fb6daa..b8dac7e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2017-10-27 Will Schmidt <will_schmidt@vnet.ibm.com> + + * gcc.target/powerpc/fold-vec-neg-char.c: New. + * gcc.target/powerpc/fold-vec-neg-floatdouble.c: New. + * gcc.target/powerpc/fold-vec-neg-int.c: New. + * gcc.target/powerpc/fold-vec-neg-longlong.c: New. + * gcc.target/powerpc/fold-vec-neg-short.c: New. + 2017-10-27 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/56342 diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-char.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-char.c new file mode 100644 index 0000000..19ea3d3 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-char.c @@ -0,0 +1,19 @@ +/* Verify that overloaded built-ins for vec_neg with char + inputs produce the right code. */ + +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ +/* { dg-options "-maltivec -O2" } */ + +#include <altivec.h> + +vector signed char +test2 (vector signed char x) +{ + return vec_neg (x); +} + +/* { dg-final { scan-assembler-times "xxspltib|vspltisw|vxor" 1 } } */ +/* { dg-final { scan-assembler-times "vsububm" 1 } } */ +/* { dg-final { scan-assembler-times "vmaxsb" 0 } } */ + diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-floatdouble.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-floatdouble.c new file mode 100644 index 0000000..79ad924 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-floatdouble.c @@ -0,0 +1,23 @@ +/* Verify that overloaded built-ins for vec_neg with float and + double inputs for VSX produce the right code. */ + +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ +/* { dg-options "-mvsx -O2" } */ + +#include <altivec.h> + +vector float +test1 (vector float x) +{ + return vec_neg (x); +} + +vector double +test2 (vector double x) +{ + return vec_neg (x); +} + +/* { dg-final { scan-assembler-times "xvnegsp" 1 } } */ +/* { dg-final { scan-assembler-times "xvnegdp" 1 } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c new file mode 100644 index 0000000..d6ca128 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c @@ -0,0 +1,18 @@ +/* Verify that overloaded built-ins for vec_neg with int + inputs produce the right code. */ + +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ +/* { dg-options "-maltivec -O2" } */ + +#include <altivec.h> + +vector signed int +test1 (vector signed int x) +{ + return vec_neg (x); +} + +/* { dg-final { scan-assembler-times "xxspltib|vspltisw|vxor" 1 } } */ +/* { dg-final { scan-assembler-times "vsubuwm" 1 } } */ +/* { dg-final { scan-assembler-times "vmaxsw" 0 } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-longlong.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-longlong.c new file mode 100644 index 0000000..48f7178 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-longlong.c @@ -0,0 +1,18 @@ +/* Verify that overloaded built-ins for vec_neg with long long + inputs produce the right code. */ + +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_p8vector_ok } */ +/* { dg-options "-mpower8-vector -O2" } */ + +#include <altivec.h> + +vector signed long long +test3 (vector signed long long x) +{ + return vec_neg (x); +} + +/* { dg-final { scan-assembler-times "xxspltib|vspltisw" 1 } } */ +/* { dg-final { scan-assembler-times "vsubudm" 1 } } */ +/* { dg-final { scan-assembler-times "vmaxsd" 0 } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-short.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-short.c new file mode 100644 index 0000000..997a9d4 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-short.c @@ -0,0 +1,18 @@ +/* Verify that overloaded built-ins for vec_neg with short + inputs produce the right code. */ + +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ +/* { dg-options "-maltivec -O2" } */ + +#include <altivec.h> + +vector signed short +test3 (vector signed short x) +{ + return vec_neg (x); +} + +/* { dg-final { scan-assembler-times "xxspltib|vspltisw|vxor" 1 } } */ +/* { dg-final { scan-assembler-times "vsubuhm" 1 } } */ +/* { dg-final { scan-assembler-times "vmaxsh" 0 } } */ |