| /* |
| * Copyright (c) Facebook, Inc. and its affiliates. |
| * All rights reserved. |
| * |
| * This source code is licensed under the BSD-style license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| |
| #pragma once |
| |
| |
| #define CPUINFO_COUNT_OF(array) (sizeof(array) / sizeof(0[array])) |
| |
| #if defined(__GNUC__) |
| #define CPUINFO_LIKELY(condition) (__builtin_expect(!!(condition), 1)) |
| #define CPUINFO_UNLIKELY(condition) (__builtin_expect(!!(condition), 0)) |
| #else |
| #define CPUINFO_LIKELY(condition) (!!(condition)) |
| #define CPUINFO_UNLIKELY(condition) (!!(condition)) |
| #endif |
| |
| #ifndef CPUINFO_INTERNAL |
| #if defined(__ELF__) |
| #define CPUINFO_INTERNAL __attribute__((__visibility__("internal"))) |
| #elif defined(__MACH__) |
| #define CPUINFO_INTERNAL __attribute__((__visibility__("hidden"))) |
| #else |
| #define CPUINFO_INTERNAL |
| #endif |
| #endif |
| |
| #ifndef CPUINFO_PRIVATE |
| #if defined(__ELF__) |
| #define CPUINFO_PRIVATE __attribute__((__visibility__("hidden"))) |
| #elif defined(__MACH__) |
| #define CPUINFO_PRIVATE __attribute__((__visibility__("hidden"))) |
| #else |
| #define CPUINFO_PRIVATE |
| #endif |
| #endif |