Tejas Belagod <tejas.bela...@arm.com> writes: > This patch tests various shared clauses with SVE types. It also adds a test > scaffold to run OpenMP tests in under the gcc.target testsuite. > > gcc/testsuite/ChangeLog: > > * gcc.target/aarch64/sve/omp/aarch64-sve-omp.exp: New scaffold.
Hopefully Jakub can comment on whether we should test this in the GCC testsuite or libgomp testsuite. On the test: > [...] > +int > +main () > +{ > + svint32_t x = svindex_s32 (0 ,1); > + svint32_t y = svindex_s32 (8, 1); > + svint32_t a, b; > + svbool_t p; > + > + /* Implicit shared. */ > + a = foo (x, y, p); > + b = implicit_shared_default (x, y, p); It looks like p is used uninitialised here. Can you check locally that using svptrue_b8 () (or whatever) as an initialiser allows the test to pass while svpfalse_b () causes it to fail? Thanks, Richard > + compare_vec (a, b); > + > + /* Explicit shared. */ > + a = foo (x ,y, p); > + b = explicit_shared (x, y, p); > + compare_vec (a, b); > + > + /* Implicit shared with no default clause. */ > + a = foo (x ,y, p); > + b = implicit_shared_no_default (x, y, p); > + compare_vec (a, b); > + > + /* Mix shared. */ > + a = foo (x ,y, p); > + b = mix_shared (y, p); > + compare_vec (a, b); > + > + /* Predetermined shared. */ > + predetermined_shared_static (true); > + predetermined_shared_static (false); > + > + return 0; > +} > + > +/* { dg-final { scan-tree-dump-times "value-expr: \*.omp_data_i->a" 10 > "ompexp" } } */