view gcc/testsuite/c-c++-common/goacc/builtin-goacc-parlevel-id-size.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line source

/* { dg-do compile }  */
/* { dg-additional-options "-O2" }  */

#include "../../../../include/gomp-constants.h"

#pragma acc routine
int
foo (void)
{
  int res;
  
  __builtin_goacc_parlevel_id (GOMP_DIM_GANG);
  __builtin_goacc_parlevel_id (GOMP_DIM_WORKER);
  __builtin_goacc_parlevel_id (GOMP_DIM_VECTOR);

  __builtin_goacc_parlevel_size (GOMP_DIM_GANG);
  __builtin_goacc_parlevel_size (GOMP_DIM_WORKER);
  __builtin_goacc_parlevel_size (GOMP_DIM_VECTOR);

  res += __builtin_goacc_parlevel_id (GOMP_DIM_GANG);
  res += __builtin_goacc_parlevel_id (GOMP_DIM_WORKER);
  res += __builtin_goacc_parlevel_id (GOMP_DIM_VECTOR);

  res += __builtin_goacc_parlevel_size (GOMP_DIM_GANG);
  res += __builtin_goacc_parlevel_size (GOMP_DIM_WORKER);
  res += __builtin_goacc_parlevel_size (GOMP_DIM_VECTOR);

  return res;
}

void
foo2 (void)
{
  int res;

#pragma acc parallel
  {
    __builtin_goacc_parlevel_id (GOMP_DIM_GANG);
    __builtin_goacc_parlevel_id (GOMP_DIM_WORKER);
    __builtin_goacc_parlevel_id (GOMP_DIM_VECTOR);

    __builtin_goacc_parlevel_size (GOMP_DIM_GANG);
    __builtin_goacc_parlevel_size (GOMP_DIM_WORKER);
    __builtin_goacc_parlevel_size (GOMP_DIM_VECTOR);

    res += __builtin_goacc_parlevel_id (GOMP_DIM_GANG);
    res += __builtin_goacc_parlevel_id (GOMP_DIM_WORKER);
    res += __builtin_goacc_parlevel_id (GOMP_DIM_VECTOR);

    res += __builtin_goacc_parlevel_size (GOMP_DIM_GANG);
    res += __builtin_goacc_parlevel_size (GOMP_DIM_WORKER);
    res += __builtin_goacc_parlevel_size (GOMP_DIM_VECTOR);
  }
}

void
foo3 (void)
{
  int res;

#pragma acc kernels
  {
    __builtin_goacc_parlevel_id (GOMP_DIM_GANG);
    __builtin_goacc_parlevel_id (GOMP_DIM_WORKER);
    __builtin_goacc_parlevel_id (GOMP_DIM_VECTOR);

    __builtin_goacc_parlevel_size (GOMP_DIM_GANG);
    __builtin_goacc_parlevel_size (GOMP_DIM_WORKER);
    __builtin_goacc_parlevel_size (GOMP_DIM_VECTOR);

    res += __builtin_goacc_parlevel_id (GOMP_DIM_GANG);
    res += __builtin_goacc_parlevel_id (GOMP_DIM_WORKER);
    res += __builtin_goacc_parlevel_id (GOMP_DIM_VECTOR);

    res += __builtin_goacc_parlevel_size (GOMP_DIM_GANG);
    res += __builtin_goacc_parlevel_size (GOMP_DIM_WORKER);
    res += __builtin_goacc_parlevel_size (GOMP_DIM_VECTOR);
  }
}