/* { 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; | |
} |