(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
gomp/
pr88107.c
       1  /* PR tree-optimization/88107 */
       2  /* { dg-do compile { target fgraphite } } */
       3  /* { dg-require-effective-target vect_simd_clones } */
       4  /* { dg-options "-O2 -fexceptions -floop-nest-optimize -fnon-call-exceptions -fopenmp-simd -ftree-parallelize-loops=2" } */
       5  
       6  #define N 1024
       7  int a[N], b[N];
       8  long int c[N];
       9  unsigned char d[N];
      10  
      11  #pragma omp declare simd notinbranch
      12  __attribute__((noinline)) static int
      13  foo (long int a, int b, int c)
      14  {
      15    return a + b + c;
      16  }
      17  
      18  #pragma omp declare simd notinbranch
      19  __attribute__((noinline)) static long int
      20  bar (int a, int b, long int c)
      21  {
      22    return a + b + c;
      23  }
      24  
      25  void
      26  baz (void)
      27  {
      28    int i;
      29    #pragma omp simd
      30    for (i = 0; i < N; i++)
      31      a[i] = foo (c[i], a[i], b[i]) + 6;
      32    #pragma omp simd
      33    for (i = 0; i < N; i++)
      34      c[i] = bar (a[i], b[i], c[i]) * 2;
      35  }