On 5/30/24 6:08 PM, Richard Sandiford wrote:
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?
Oops, thanks for spotting that. Now verified - will wait for Jakub's
comment on tests' home before I respin.
Thanks,
Tejas.
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" } } */