xref: /netbsd-src/external/gpl3/gcc.old/lib/libgomp/arch/arm/omp.h (revision c0a68be459da21030695f60d10265c2fc49758f8)
136ac495dSmrg /* This file is automatically generated.  DO NOT EDIT! */
2*c0a68be4Smrg /* Generated from: NetBSD: mknative-gcc,v 1.108 2020/09/05 10:58:08 mrg Exp  */
336ac495dSmrg /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
436ac495dSmrg 
5*c0a68be4Smrg /* Copyright (C) 2005-2019 Free Software Foundation, Inc.
636ac495dSmrg    Contributed by Richard Henderson <rth@redhat.com>.
736ac495dSmrg 
836ac495dSmrg    This file is part of the GNU Offloading and Multi Processing Library
936ac495dSmrg    (libgomp).
1036ac495dSmrg 
1136ac495dSmrg    Libgomp is free software; you can redistribute it and/or modify it
1236ac495dSmrg    under the terms of the GNU General Public License as published by
1336ac495dSmrg    the Free Software Foundation; either version 3, or (at your option)
1436ac495dSmrg    any later version.
1536ac495dSmrg 
1636ac495dSmrg    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
1736ac495dSmrg    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1836ac495dSmrg    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
1936ac495dSmrg    more details.
2036ac495dSmrg 
2136ac495dSmrg    Under Section 7 of GPL version 3, you are granted additional
2236ac495dSmrg    permissions described in the GCC Runtime Library Exception, version
2336ac495dSmrg    3.1, as published by the Free Software Foundation.
2436ac495dSmrg 
2536ac495dSmrg    You should have received a copy of the GNU General Public License and
2636ac495dSmrg    a copy of the GCC Runtime Library Exception along with this program;
2736ac495dSmrg    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
2836ac495dSmrg    <http://www.gnu.org/licenses/>.  */
2936ac495dSmrg 
3036ac495dSmrg #ifndef _OMP_H
3136ac495dSmrg #define _OMP_H 1
3236ac495dSmrg 
3336ac495dSmrg #ifndef _LIBGOMP_OMP_LOCK_DEFINED
3436ac495dSmrg #define _LIBGOMP_OMP_LOCK_DEFINED 1
3536ac495dSmrg /* These two structures get edited by the libgomp build process to
3636ac495dSmrg    reflect the shape of the two types.  Their internals are private
3736ac495dSmrg    to the library.  */
3836ac495dSmrg 
3936ac495dSmrg typedef struct
4036ac495dSmrg {
4136ac495dSmrg   unsigned char _x[4]
4236ac495dSmrg     __attribute__((__aligned__(4)));
4336ac495dSmrg } omp_lock_t;
4436ac495dSmrg 
4536ac495dSmrg typedef struct
4636ac495dSmrg {
4736ac495dSmrg   unsigned char _x[12]
4836ac495dSmrg     __attribute__((__aligned__(4)));
4936ac495dSmrg } omp_nest_lock_t;
5036ac495dSmrg #endif
5136ac495dSmrg 
5236ac495dSmrg typedef enum omp_sched_t
5336ac495dSmrg {
5436ac495dSmrg   omp_sched_static = 1,
5536ac495dSmrg   omp_sched_dynamic = 2,
5636ac495dSmrg   omp_sched_guided = 3,
57*c0a68be4Smrg   omp_sched_auto = 4,
58*c0a68be4Smrg   omp_sched_monotonic = 0x80000000U
5936ac495dSmrg } omp_sched_t;
6036ac495dSmrg 
6136ac495dSmrg typedef enum omp_proc_bind_t
6236ac495dSmrg {
6336ac495dSmrg   omp_proc_bind_false = 0,
6436ac495dSmrg   omp_proc_bind_true = 1,
6536ac495dSmrg   omp_proc_bind_master = 2,
6636ac495dSmrg   omp_proc_bind_close = 3,
6736ac495dSmrg   omp_proc_bind_spread = 4
6836ac495dSmrg } omp_proc_bind_t;
6936ac495dSmrg 
70*c0a68be4Smrg typedef enum omp_sync_hint_t
7136ac495dSmrg {
72*c0a68be4Smrg   omp_sync_hint_none = 0,
73*c0a68be4Smrg   omp_lock_hint_none = omp_sync_hint_none,
74*c0a68be4Smrg   omp_sync_hint_uncontended = 1,
75*c0a68be4Smrg   omp_lock_hint_uncontended = omp_sync_hint_uncontended,
76*c0a68be4Smrg   omp_sync_hint_contended = 2,
77*c0a68be4Smrg   omp_lock_hint_contended = omp_sync_hint_contended,
78*c0a68be4Smrg   omp_sync_hint_nonspeculative = 4,
79*c0a68be4Smrg   omp_lock_hint_nonspeculative = omp_sync_hint_nonspeculative,
80*c0a68be4Smrg   omp_sync_hint_speculative = 8,
81*c0a68be4Smrg   omp_lock_hint_speculative = omp_sync_hint_speculative
82*c0a68be4Smrg } omp_sync_hint_t;
83*c0a68be4Smrg 
84*c0a68be4Smrg typedef omp_sync_hint_t omp_lock_hint_t;
85*c0a68be4Smrg 
86*c0a68be4Smrg typedef struct __attribute__((__aligned__ (sizeof (void *)))) omp_depend_t
87*c0a68be4Smrg {
88*c0a68be4Smrg   char __omp_depend_t__[2 * sizeof (void *)];
89*c0a68be4Smrg } omp_depend_t;
90*c0a68be4Smrg 
91*c0a68be4Smrg typedef enum omp_pause_resource_t
92*c0a68be4Smrg {
93*c0a68be4Smrg   omp_pause_soft = 1,
94*c0a68be4Smrg   omp_pause_hard = 2
95*c0a68be4Smrg } omp_pause_resource_t;
9636ac495dSmrg 
9736ac495dSmrg #ifdef __cplusplus
9836ac495dSmrg extern "C" {
9936ac495dSmrg # define __GOMP_NOTHROW throw ()
10036ac495dSmrg #else
10136ac495dSmrg # define __GOMP_NOTHROW __attribute__((__nothrow__))
10236ac495dSmrg #endif
10336ac495dSmrg 
10436ac495dSmrg extern void omp_set_num_threads (int) __GOMP_NOTHROW;
10536ac495dSmrg extern int omp_get_num_threads (void) __GOMP_NOTHROW;
10636ac495dSmrg extern int omp_get_max_threads (void) __GOMP_NOTHROW;
10736ac495dSmrg extern int omp_get_thread_num (void) __GOMP_NOTHROW;
10836ac495dSmrg extern int omp_get_num_procs (void) __GOMP_NOTHROW;
10936ac495dSmrg 
11036ac495dSmrg extern int omp_in_parallel (void) __GOMP_NOTHROW;
11136ac495dSmrg 
11236ac495dSmrg extern void omp_set_dynamic (int) __GOMP_NOTHROW;
11336ac495dSmrg extern int omp_get_dynamic (void) __GOMP_NOTHROW;
11436ac495dSmrg 
11536ac495dSmrg extern void omp_set_nested (int) __GOMP_NOTHROW;
11636ac495dSmrg extern int omp_get_nested (void) __GOMP_NOTHROW;
11736ac495dSmrg 
11836ac495dSmrg extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW;
119*c0a68be4Smrg extern void omp_init_lock_with_hint (omp_lock_t *, omp_sync_hint_t)
12036ac495dSmrg   __GOMP_NOTHROW;
12136ac495dSmrg extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW;
12236ac495dSmrg extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW;
12336ac495dSmrg extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW;
12436ac495dSmrg extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW;
12536ac495dSmrg 
12636ac495dSmrg extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
127*c0a68be4Smrg extern void omp_init_nest_lock_with_hint (omp_nest_lock_t *, omp_sync_hint_t)
12836ac495dSmrg   __GOMP_NOTHROW;
12936ac495dSmrg extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
13036ac495dSmrg extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
13136ac495dSmrg extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
13236ac495dSmrg extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
13336ac495dSmrg 
13436ac495dSmrg extern double omp_get_wtime (void) __GOMP_NOTHROW;
13536ac495dSmrg extern double omp_get_wtick (void) __GOMP_NOTHROW;
13636ac495dSmrg 
13736ac495dSmrg extern void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW;
13836ac495dSmrg extern void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW;
13936ac495dSmrg extern int omp_get_thread_limit (void) __GOMP_NOTHROW;
14036ac495dSmrg extern void omp_set_max_active_levels (int) __GOMP_NOTHROW;
14136ac495dSmrg extern int omp_get_max_active_levels (void) __GOMP_NOTHROW;
14236ac495dSmrg extern int omp_get_level (void) __GOMP_NOTHROW;
14336ac495dSmrg extern int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW;
14436ac495dSmrg extern int omp_get_team_size (int) __GOMP_NOTHROW;
14536ac495dSmrg extern int omp_get_active_level (void) __GOMP_NOTHROW;
14636ac495dSmrg 
14736ac495dSmrg extern int omp_in_final (void) __GOMP_NOTHROW;
14836ac495dSmrg 
14936ac495dSmrg extern int omp_get_cancellation (void) __GOMP_NOTHROW;
15036ac495dSmrg extern omp_proc_bind_t omp_get_proc_bind (void) __GOMP_NOTHROW;
15136ac495dSmrg extern int omp_get_num_places (void) __GOMP_NOTHROW;
15236ac495dSmrg extern int omp_get_place_num_procs (int) __GOMP_NOTHROW;
15336ac495dSmrg extern void omp_get_place_proc_ids (int, int *) __GOMP_NOTHROW;
15436ac495dSmrg extern int omp_get_place_num (void) __GOMP_NOTHROW;
15536ac495dSmrg extern int omp_get_partition_num_places (void) __GOMP_NOTHROW;
15636ac495dSmrg extern void omp_get_partition_place_nums (int *) __GOMP_NOTHROW;
15736ac495dSmrg 
15836ac495dSmrg extern void omp_set_default_device (int) __GOMP_NOTHROW;
15936ac495dSmrg extern int omp_get_default_device (void) __GOMP_NOTHROW;
16036ac495dSmrg extern int omp_get_num_devices (void) __GOMP_NOTHROW;
16136ac495dSmrg extern int omp_get_num_teams (void) __GOMP_NOTHROW;
16236ac495dSmrg extern int omp_get_team_num (void) __GOMP_NOTHROW;
16336ac495dSmrg 
16436ac495dSmrg extern int omp_is_initial_device (void) __GOMP_NOTHROW;
16536ac495dSmrg extern int omp_get_initial_device (void) __GOMP_NOTHROW;
16636ac495dSmrg extern int omp_get_max_task_priority (void) __GOMP_NOTHROW;
16736ac495dSmrg 
16836ac495dSmrg extern void *omp_target_alloc (__SIZE_TYPE__, int) __GOMP_NOTHROW;
16936ac495dSmrg extern void omp_target_free (void *, int) __GOMP_NOTHROW;
170*c0a68be4Smrg extern int omp_target_is_present (const void *, int) __GOMP_NOTHROW;
171*c0a68be4Smrg extern int omp_target_memcpy (void *, const void *, __SIZE_TYPE__,
172*c0a68be4Smrg 			      __SIZE_TYPE__, __SIZE_TYPE__, int, int)
173*c0a68be4Smrg   __GOMP_NOTHROW;
174*c0a68be4Smrg extern int omp_target_memcpy_rect (void *, const void *, __SIZE_TYPE__, int,
17536ac495dSmrg 				   const __SIZE_TYPE__ *,
17636ac495dSmrg 				   const __SIZE_TYPE__ *,
17736ac495dSmrg 				   const __SIZE_TYPE__ *,
17836ac495dSmrg 				   const __SIZE_TYPE__ *,
17936ac495dSmrg 				   const __SIZE_TYPE__ *, int, int)
18036ac495dSmrg   __GOMP_NOTHROW;
181*c0a68be4Smrg extern int omp_target_associate_ptr (const void *, const void *, __SIZE_TYPE__,
18236ac495dSmrg 				     __SIZE_TYPE__, int) __GOMP_NOTHROW;
183*c0a68be4Smrg extern int omp_target_disassociate_ptr (const void *, int) __GOMP_NOTHROW;
184*c0a68be4Smrg 
185*c0a68be4Smrg extern void omp_set_affinity_format (const char *) __GOMP_NOTHROW;
186*c0a68be4Smrg extern __SIZE_TYPE__ omp_get_affinity_format (char *, __SIZE_TYPE__)
187*c0a68be4Smrg   __GOMP_NOTHROW;
188*c0a68be4Smrg extern void omp_display_affinity (const char *) __GOMP_NOTHROW;
189*c0a68be4Smrg extern __SIZE_TYPE__ omp_capture_affinity (char *, __SIZE_TYPE__, const char *)
190*c0a68be4Smrg   __GOMP_NOTHROW;
191*c0a68be4Smrg 
192*c0a68be4Smrg extern int omp_pause_resource (omp_pause_resource_t, int) __GOMP_NOTHROW;
193*c0a68be4Smrg extern int omp_pause_resource_all (omp_pause_resource_t) __GOMP_NOTHROW;
19436ac495dSmrg 
19536ac495dSmrg #ifdef __cplusplus
19636ac495dSmrg }
19736ac495dSmrg #endif
19836ac495dSmrg 
19936ac495dSmrg #endif /* _OMP_H */
200