blob: 4a3931210f06f8a10fcc1c657d43e3fe0ef35490 [file] [log] [blame]
/* { dg-do run { target aarch64_sve256_hw } } */
/* { dg-options "-msve-vector-bits=256 -fopenmp -O2" } */
#include <arm_sve.h>
#include <stdint.h>
typedef __SVInt32_t v8si __attribute__ ((arm_sve_vector_bits(256)));
v8si vec1;
#pragma omp threadprivate (vec1)
void __attribute__ ((noipa))
foo ()
{
int64_t res = 0;
vec1 = svindex_s32 (1, 0);
#pragma omp parallel copyin (vec1) firstprivate (res) num_threads(10)
{
res = svaddv_s32 (svptrue_b32 (), vec1);
#pragma omp barrier
if (res != 8LL)
__builtin_abort ();
}
}
int
main ()
{
int64_t res = 0;
#pragma omp parallel firstprivate (res) num_threads(10)
{
vec1 = svindex_s32 (1, 0);
res = svaddv_s32 (svptrue_b32 (), vec1);
#pragma omp barrier
if (res != 8LL)
__builtin_abort ();
}
foo ();
}