Require target lra in gcc.dg/pr108095.c
[official-gcc.git] / gcc / testsuite / gcc.dg / gomp / target-simd-clone-8.c
blob561766cb128d37094738f1c8c5eb140e7e13cc99
1 /* { dg-options "-fopenmp -O2" } */
2 /* { dg-additional-options "-fopenmp-target-simd-clone=any -fdump-ipa-simdclone-details" } */
4 /* Test that simd clones are not generated for functions with
5 "declare target" but that read volatile memory in the body. */
7 extern volatile int save;
9 #pragma omp declare target
10 __attribute__ ((__noinline__)) int addit(int a, int b)
12 return save + a + b;
14 #pragma omp end declare target
16 void callit (int *a, int *b, int *c)
18 int i;
19 #pragma omp for simd
20 for (i = 0; i < 16; i++)
21 c[i] = addit (a[i], b[i]);
24 /* { dg-final { scan-ipa-dump "body includes volatile op" "simdclone" { target x86_64-*-* } } } */
25 /* { dg-final { scan-ipa-dump-not "Generated .* clone" "simdclone" { target x86_64-*-* } } } */