(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.c/
declare-variant-3.h
       1  #pragma omp declare target
       2  int
       3  f30 (void)
       4  {
       5    return 30;
       6  }
       7  
       8  int
       9  f35 (void)
      10  {
      11    return 35;
      12  }
      13  
      14  int
      15  f53 (void)
      16  {
      17    return 53;
      18  }
      19  
      20  int
      21  f70 (void)
      22  {
      23    return 70;
      24  }
      25  
      26  int
      27  f75 (void)
      28  {
      29    return 75;
      30  }
      31  
      32  int
      33  f80 (void)
      34  {
      35    return 80;
      36  }
      37  
      38  #pragma omp declare variant (f30) match (device={isa("sm_30")})
      39  #pragma omp declare variant (f35) match (device={isa("sm_35")})
      40  #pragma omp declare variant (f53) match (device={isa("sm_53")})
      41  #pragma omp declare variant (f70) match (device={isa("sm_70")})
      42  #pragma omp declare variant (f75) match (device={isa("sm_75")})
      43  #pragma omp declare variant (f80) match (device={isa("sm_80")})
      44  int
      45  f (void)
      46  {
      47    return 0;
      48  }
      49  
      50  #pragma omp end declare target
      51  
      52  int
      53  main (void)
      54  {
      55    int v = 0;
      56  
      57    #pragma omp target map(from:v)
      58    v = f ();
      59  
      60    if (v == 0)
      61      __builtin_abort ();
      62  
      63    __builtin_printf ("Nvptx accelerator: sm_%d\n", v);
      64  
      65    return 0;
      66  }