Tejas Belagod <[email protected]> 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" } } */