diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/powerpc/paired-2.c')
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/paired-2.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/powerpc/paired-2.c b/gcc/testsuite/gcc.target/powerpc/paired-2.c new file mode 100644 index 000000000..181bbf1c3 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/paired-2.c @@ -0,0 +1,35 @@ +/* { dg-do compile { target { powerpc-*-linux*paired* && ilp32 } } } */ +/* { dg-options "-mpaired -ffinite-math-only" } */ + +/* Test PowerPC PAIRED extensions. */ + +#include <paired.h> +#include <stdlib.h> + +static float out[2] __attribute__ ((aligned (8))); + +vector float b = { 3.0, 8.0 }; +vector float c = { 3.0, 5.0 }; + +vector float a = { 0.0, 0.0 }; +void +test_api () +{ + + if (paired_cmpu0_eq (b, c)) + { + a = paired_sub (b, c); + paired_stx (a, 0, out); + } + + if ((out[1]) != 3.0) + abort (); +} + +int +main () +{ + test_api (); + return (0); +} + |