diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.target/arm/neon-vld3-1.c')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/gcc.target/arm/neon-vld3-1.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.target/arm/neon-vld3-1.c b/gcc-4.8.1/gcc/testsuite/gcc.target/arm/neon-vld3-1.c new file mode 100644 index 000000000..0cc5c8826 --- /dev/null +++ b/gcc-4.8.1/gcc/testsuite/gcc.target/arm/neon-vld3-1.c @@ -0,0 +1,27 @@ +/* { dg-do run } */ +/* { dg-require-effective-target arm_neon_hw } */ +/* { dg-options "-O2" } */ +/* { dg-add-options arm_neon } */ + +#include "arm_neon.h" + +uint32_t buffer[12]; + +void __attribute__((noinline)) +foo (uint32_t *a) +{ + uint32x4x3_t x; + + x = vld3q_u32 (a); + x.val[0] = vaddq_u32 (x.val[0], x.val[1]); + vst3q_u32 (a, x); +} + +int +main (void) +{ + buffer[0] = 1; + buffer[1] = 2; + foo (buffer); + return buffer[0] != 3; +} |