diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/powerpc/altivec-18.c')
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/altivec-18.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-18.c b/gcc/testsuite/gcc.target/powerpc/altivec-18.c new file mode 100644 index 00000000000..9a3ee33f63d --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/altivec-18.c @@ -0,0 +1,24 @@ +/* { dg-do compile { target powerpc*-*-* } } */ +/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-options "-maltivec -mabi=altivec" } */ +/* { dg-final { scan-assembler "vcmpgtub" { target *-*-linux* } } } */ +/* { dg-final { scan-assembler "vcmpgtsb" { target *-*-darwin* } } } */ +/* { dg-final { scan-assembler "vcmpgtsh" } } */ +/* { dg-final { scan-assembler "vcmpgtsw" } } */ + +/* Verify a statement in the GCC Manual that vector type specifiers can + omit "signed" or "unsigned". The default is the default signedness + of the base type, which differs depending on the ABI. */ + +#include <altivec.h> + +extern vector char vc1, vc2; +extern vector short vs1, vs2; +extern vector int vi1, vi2; + +int signedness (void) +{ + return vec_all_le (vc1, vc2) + && vec_all_le (vs1, vs2) + && vec_all_le (vi1, vi2); +} |