(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.oacc-c-c++-common/
nvptx-sese-1.c
       1  /* { dg-do run { target openacc_nvidia_accel_selected } } */
       2  /* { dg-options "-foffload=-fdump-rtl-mach" } */
       3  /* { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */
       4  
       5  #pragma acc routine  seq
       6  int __attribute__((noinline)) foo (int x)
       7  {
       8    return x & 2;
       9  }
      10  
      11  int main ()
      12  {
      13    int r = 0;
      14    
      15  #pragma acc parallel copy(r) vector_length(32)
      16    {
      17  #pragma acc loop vector reduction (+:r)
      18      for (int i = 00; i < 40; i++)
      19        r += i;
      20  
      21      /* This piece is a multi-block SESE region */
      22      if (foo (r))
      23        r *= 2;
      24  
      25      if (r & 8) /* to here. */
      26  #pragma acc loop vector reduction (+:r)
      27        for (int i = 00; i < 40; i++)
      28  	r += i;
      29    }
      30  
      31    return 0;
      32  }
      33  
      34  /* Match {N->N(.N)+} */
      35  /* { dg-final { scan-offload-rtl-dump "SESE regions:.* \[0-9\]+{\[0-9\]+->\[0-9\]+(\\.\[0-9\]+)+}" "mach" } } */