diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/vmx/pr27842.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/vmx/pr27842.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vmx/pr27842.c b/gcc/testsuite/gcc.dg/vmx/pr27842.c new file mode 100644 index 000000000..ad3130d00 --- /dev/null +++ b/gcc/testsuite/gcc.dg/vmx/pr27842.c @@ -0,0 +1,26 @@ +#include <altivec.h> + +extern void abort (void); +extern int memcmp (const void *, const void *, __SIZE_TYPE__); + +void test (vector float *p, int n) +{ + int i; + for (i = 0; i < n; i++) + p[i] = vec_abs (p[i]); +} + +int +main (void) +{ + vector float p = (vector float){ 0.5, 0.5, 0.5, 0.5 }; + vector float q = p; + + test (&p, 1); + + if (memcmp (&p, &q, sizeof (p))) + abort (); + + return 0; +} + |