1 /* { dg-do link { target { offload_target_amdgcn } } } */
2 /* { dg-additional-options "-O2 -foffload-options=-fdump-ipa-simdclone-details" } */
4 /* Test that simd clones for the offload processor are generated for
5 functions with "declare target" when enabled by default at -O2. */
7 #pragma omp declare target
8 __attribute__ ((__noinline__
)) int addit (int a
, int b
)
13 __attribute__ ((__noinline__
))
14 void callit (int *a
, int *b
, int *c
)
18 for (i
= 0; i
< 16; i
++)
19 c
[i
] = addit (a
[i
], b
[i
]);
21 #pragma omp end declare target
25 int aa
[16], bb
[16], cc
[16];
27 for (i
= 0; i
< 16; i
++)
33 for (i
= 0; i
< 16; i
++)
39 /* Although addit has external linkage, we expect clones to be generated as
40 for a function with internal linkage. */
42 /* { dg-final { scan-offload-ipa-dump "Generated local clone _ZGV.*N.*_addit" "simdclone" } } */
43 /* { dg-final { scan-offload-ipa-dump "Generated local clone _ZGV.*M.*_addit" "simdclone" } } */