(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.c-c++-common/
on_device_arch.h
       1  #include <omp.h>
       2  #include <gomp-constants.h>
       3  
       4  /* static */ int
       5  device_arch_nvptx (void)
       6  {
       7    return GOMP_DEVICE_NVIDIA_PTX;
       8  }
       9  
      10  /* static */ int
      11  device_arch_gcn (void)
      12  {
      13    return GOMP_DEVICE_GCN;
      14  }
      15  
      16  #pragma omp declare variant (device_arch_nvptx) match(construct={target},device={arch(nvptx)})
      17  #pragma omp declare variant (device_arch_gcn) match(construct={target},device={arch(gcn)})
      18  /* static */ int
      19  device_arch (void)
      20  {
      21    return GOMP_DEVICE_DEFAULT;
      22  }
      23  
      24  static int
      25  on_device_arch (int d)
      26  {
      27    int d_cur;
      28    #pragma omp target map(from:d_cur)
      29    d_cur = device_arch ();
      30  
      31    return d_cur == d;
      32  }
      33  
      34  int
      35  on_device_arch_nvptx ()
      36  {
      37    return on_device_arch (GOMP_DEVICE_NVIDIA_PTX);
      38  }
      39  
      40  int
      41  on_device_arch_gcn ()
      42  {
      43    return on_device_arch (GOMP_DEVICE_GCN);
      44  }