Hi! As written earlier, this test was written with the x86 specifics in mind and adding dg-final directives for it for other arches makes it unreadable. If a declare variant call can be resolved in gimple already as in the aarch64 or gcn cases, it can be done in gcc.dg/gomp/ and I believe we have tests like that already, the point of the test is that it is not known during gimplification time which exact call should be chosen as it depends on which declare simd clone it will be in.
Tested on x86_64-linux, committed to trunk. 2023-12-18 Jakub Jelinek <ja...@redhat.com> * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86, drop because of that unneeded target selector from other directives and remove the aarch64 specific ones. --- libgomp/testsuite/libgomp.c/declare-variant-1.c.jj 2023-12-18 09:39:49.868349075 +0100 +++ libgomp/testsuite/libgomp.c/declare-variant-1.c 2023-12-18 11:39:09.673457755 +0100 @@ -1,9 +1,9 @@ -/* { dg-do link { target vect_simd_clones } } */ +/* { dg-do link { target { vect_simd_clones && { i?86-*-* x86_64-*-* } } } } */ /* { dg-require-effective-target lto } */ /* { dg-require-effective-target fpic } */ /* { dg-require-effective-target shared } */ /* { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized -O2 -fPIC -shared -flto -flto-partition=one" } */ -/* { dg-additional-options "-mno-sse3" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-additional-options "-mno-sse3" } */ int f01 (int a) @@ -40,17 +40,16 @@ f04 (int a) int test1 (int x) { - /* At gimplification time, we can't decide yet which function to call for - x86_64 targets, given the f01 variant. */ - /* { dg-final { scan-tree-dump-times "f04 \\\(x" 2 "gimple" { target x86_64-*-* } } } */ + /* At gimplification time, we can't decide yet which function to call, + given the f01 variant. */ + /* { dg-final { scan-tree-dump-times "f04 \\\(x" 2 "gimple" } } */ /* After simd clones are created, the original non-clone test1 shall call f03 (score 6), the sse2/avx/avx2 clones too, but avx512f clones shall call f01 with score 8. */ /* { dg-final { scan-ltrans-tree-dump-not "f04 \\\(x" "optimized" } } */ - /* { dg-final { scan-ltrans-tree-dump-times "f03 \\\(x" 14 "optimized" { target { !aarch64*-*-* } } } } */ - /* { dg-final { scan-ltrans-tree-dump-times "f01 \\\(x" 4 "optimized" { target { !aarch64*-*-* } } } } */ - /* { dg-final { scan-ltrans-tree-dump-times "f03 \\\(x" 10 "optimized" { target { aarch64*-*-* } } } } */ - /* { dg-final { scan-ltrans-tree-dump-not "f01 \\\(x" "optimized" { target { aarch64*-*-* } } } } */ + /* { dg-final { scan-ltrans-tree-dump-not "f02 \\\(x" "optimized" } } */ + /* { dg-final { scan-ltrans-tree-dump-times "f03 \\\(x" 14 "optimized" } } */ + /* { dg-final { scan-ltrans-tree-dump-times "f01 \\\(x" 4 "optimized" } } */ int a = f04 (x); int b = f04 (x); return a + b; Jakub