diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/powerpc/paired-4.c')
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/paired-4.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/powerpc/paired-4.c b/gcc/testsuite/gcc.target/powerpc/paired-4.c new file mode 100644 index 000000000..2c7cb1b67 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/paired-4.c @@ -0,0 +1,34 @@ +/* { 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 = { 2.0, 5.0 }; + +vector float a = { 0.0, 0.0 }; +void +test_api () +{ + + if (paired_cmpu0_gt (b, c)) + { + a = paired_add (b, c); + paired_stx (a, 0, out); + } + if ((out[0] != 5.0) || (out[1] != 13.0)) + abort (); +} + +int +main () +{ + test_api (); + return (0); +} + |