@cpp-linter/clang-tidy-win32-x64 16.0.3 → 17.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{16 → 17}/include/__clang_cuda_intrinsics.h +191 -0
- package/lib/clang/{16 → 17}/include/__clang_cuda_math.h +1 -1
- package/lib/clang/{16 → 17}/include/__clang_hip_cmath.h +1 -1
- package/lib/clang/{16 → 17}/include/__clang_hip_libdevice_declares.h +32 -30
- package/lib/clang/{16 → 17}/include/__clang_hip_math.h +56 -71
- package/lib/clang/{16 → 17}/include/__clang_hip_runtime_wrapper.h +13 -0
- package/lib/clang/17/include/adxintrin.h +227 -0
- package/lib/clang/{16 → 17}/include/altivec.h +136 -124
- package/lib/clang/17/include/amxcomplexintrin.h +169 -0
- package/lib/clang/{16 → 17}/include/arm_acle.h +13 -9
- package/lib/clang/{16 → 17}/include/arm_neon.h +164 -1
- package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +642 -0
- package/lib/clang/{16 → 17}/include/arm_sve.h +68 -13
- package/lib/clang/17/include/avx2intrin.h +5263 -0
- package/lib/clang/{16 → 17}/include/avx512fintrin.h +17 -7
- package/lib/clang/{16 → 17}/include/avx512fp16intrin.h +12 -8
- package/lib/clang/{16 → 17}/include/avxintrin.h +20 -7
- package/lib/clang/17/include/avxvnniint16intrin.h +473 -0
- package/lib/clang/17/include/bmi2intrin.h +255 -0
- package/lib/clang/{16 → 17}/include/clflushoptintrin.h +9 -0
- package/lib/clang/{16 → 17}/include/clzerointrin.h +7 -5
- package/lib/clang/17/include/cuda_wrappers/bits/basic_string.h +9 -0
- package/lib/clang/17/include/cuda_wrappers/bits/basic_string.tcc +9 -0
- package/lib/clang/17/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
- package/lib/clang/17/include/fmaintrin.h +780 -0
- package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +480 -0
- package/lib/clang/{16 → 17}/include/immintrin.h +116 -8
- package/lib/clang/{16 → 17}/include/limits.h +5 -1
- package/lib/clang/17/include/llvm_libc_wrappers/ctype.h +85 -0
- package/lib/clang/17/include/llvm_libc_wrappers/inttypes.h +34 -0
- package/lib/clang/17/include/llvm_libc_wrappers/stdio.h +34 -0
- package/lib/clang/17/include/llvm_libc_wrappers/stdlib.h +42 -0
- package/lib/clang/17/include/llvm_libc_wrappers/string.h +37 -0
- package/lib/clang/17/include/mwaitxintrin.h +62 -0
- package/lib/clang/{16 → 17}/include/opencl-c-base.h +3 -0
- package/lib/clang/{16 → 17}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -1
- package/lib/clang/{16 → 17}/include/openmp_wrappers/new +1 -1
- package/lib/clang/{16 → 17}/include/pmmintrin.h +12 -6
- package/lib/clang/{16 → 17}/include/ppc_wrappers/emmintrin.h +2 -1
- package/lib/clang/{16 → 17}/include/ppc_wrappers/smmintrin.h +2 -2
- package/lib/clang/17/include/rdseedintrin.h +105 -0
- package/lib/clang/17/include/riscv_ntlh.h +28 -0
- package/lib/clang/17/include/riscv_vector.h +400 -0
- package/lib/clang/17/include/sha512intrin.h +200 -0
- package/lib/clang/17/include/shaintrin.h +189 -0
- package/lib/clang/17/include/sifive_vector.h +16 -0
- package/lib/clang/17/include/sm3intrin.h +238 -0
- package/lib/clang/17/include/sm4intrin.h +269 -0
- package/lib/clang/{16 → 17}/include/stdalign.h +5 -0
- package/lib/clang/{16 → 17}/include/stdatomic.h +9 -2
- package/lib/clang/{16 → 17}/include/stddef.h +5 -0
- package/lib/clang/{16 → 17}/include/wasm_simd128.h +132 -12
- package/lib/clang/17/include/xsavecintrin.h +84 -0
- package/package.json +6 -6
- package/lib/clang/16/include/adxintrin.h +0 -72
- package/lib/clang/16/include/avx2intrin.h +0 -1148
- package/lib/clang/16/include/bmi2intrin.h +0 -81
- package/lib/clang/16/include/fmaintrin.h +0 -216
- package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +0 -223
- package/lib/clang/16/include/mwaitxintrin.h +0 -33
- package/lib/clang/16/include/rdseedintrin.h +0 -42
- package/lib/clang/16/include/riscv_vector.h +0 -211
- package/lib/clang/16/include/shaintrin.h +0 -61
- package/lib/clang/16/include/xsavecintrin.h +0 -34
- /package/lib/clang/{16 → 17}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{16 → 17}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{16 → 17}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{16 → 17}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{16 → 17}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{16 → 17}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{16 → 17}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{16 → 17}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{16 → 17}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{16 → 17}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{16 → 17}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{16 → 17}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{16 → 17}/include/ammintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/amxintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/arm64intr.h +0 -0
- /package/lib/clang/{16 → 17}/include/arm_bf16.h +0 -0
- /package/lib/clang/{16 → 17}/include/arm_cde.h +0 -0
- /package/lib/clang/{16 → 17}/include/arm_cmse.h +0 -0
- /package/lib/clang/{16 → 17}/include/arm_fp16.h +0 -0
- /package/lib/clang/{16 → 17}/include/arm_mve.h +0 -0
- /package/lib/clang/{16 → 17}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{16 → 17}/include/armintr.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlbwintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/bmiintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/builtins.h +0 -0
- /package/lib/clang/{16 → 17}/include/cet.h +0 -0
- /package/lib/clang/{16 → 17}/include/cetintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/clwbintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/cpuid.h +0 -0
- /package/lib/clang/{16 → 17}/include/crc32intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{16 → 17}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{16 → 17}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{16 → 17}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{16 → 17}/include/emmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/f16cintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/float.h +0 -0
- /package/lib/clang/{16 → 17}/include/fma4intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/gfniintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{16 → 17}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{16 → 17}/include/hexagon_types.h +0 -0
- /package/lib/clang/{16 → 17}/include/hlsl/hlsl_basic_types.h +0 -0
- /package/lib/clang/{16 → 17}/include/hlsl.h +0 -0
- /package/lib/clang/{16 → 17}/include/hresetintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/htmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{16 → 17}/include/ia32intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/inttypes.h +0 -0
- /package/lib/clang/{16 → 17}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/iso646.h +0 -0
- /package/lib/clang/{16 → 17}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/larchintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/lwpintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/mm3dnow.h +0 -0
- /package/lib/clang/{16 → 17}/include/mm_malloc.h +0 -0
- /package/lib/clang/{16 → 17}/include/mmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/module.modulemap +0 -0
- /package/lib/clang/{16 → 17}/include/movdirintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/msa.h +0 -0
- /package/lib/clang/{16 → 17}/include/nmmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/opencl-c.h +0 -0
- /package/lib/clang/{16 → 17}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{16 → 17}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{16 → 17}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{16 → 17}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{16 → 17}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{16 → 17}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/pkuintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/popcntintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/raointintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/rtmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/s390intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/serializeintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/sgxintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/smmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/stdarg.h +0 -0
- /package/lib/clang/{16 → 17}/include/stdbool.h +0 -0
- /package/lib/clang/{16 → 17}/include/stdint.h +0 -0
- /package/lib/clang/{16 → 17}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{16 → 17}/include/tbmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/tgmath.h +0 -0
- /package/lib/clang/{16 → 17}/include/tmmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/uintrintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/unwind.h +0 -0
- /package/lib/clang/{16 → 17}/include/vadefs.h +0 -0
- /package/lib/clang/{16 → 17}/include/vaesintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/varargs.h +0 -0
- /package/lib/clang/{16 → 17}/include/vecintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/velintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{16 → 17}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{16 → 17}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/wmmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/x86gprintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/x86intrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/xmmintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/xopintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{16 → 17}/include/xtestintrin.h +0 -0
|
@@ -52,7 +52,11 @@
|
|
|
52
52
|
#define LONG_MIN (-__LONG_MAX__ -1L)
|
|
53
53
|
|
|
54
54
|
#define UCHAR_MAX (__SCHAR_MAX__*2 +1)
|
|
55
|
-
#
|
|
55
|
+
#if __SHRT_WIDTH__ < __INT_WIDTH__
|
|
56
|
+
#define USHRT_MAX (__SHRT_MAX__ * 2 + 1)
|
|
57
|
+
#else
|
|
58
|
+
#define USHRT_MAX (__SHRT_MAX__ * 2U + 1U)
|
|
59
|
+
#endif
|
|
56
60
|
#define UINT_MAX (__INT_MAX__ *2U +1U)
|
|
57
61
|
#define ULONG_MAX (__LONG_MAX__ *2UL+1UL)
|
|
58
62
|
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
//===-- Wrapper for C standard ctype.h declarations on the GPU ------------===//
|
|
2
|
+
//
|
|
3
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#ifndef __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
|
|
10
|
+
#define __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
|
|
11
|
+
|
|
12
|
+
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
|
|
13
|
+
#error "This file is for GPU offloading compilation only"
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#include_next <ctype.h>
|
|
17
|
+
|
|
18
|
+
#if __has_include(<llvm-libc-decls/ctype.h>)
|
|
19
|
+
|
|
20
|
+
#if defined(__HIP__) || defined(__CUDA__)
|
|
21
|
+
#define __LIBC_ATTRS __attribute__((device))
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
// The GNU headers like to provide these as macros, we need to undefine them so
|
|
25
|
+
// they do not conflict with the following definitions for the GPU.
|
|
26
|
+
|
|
27
|
+
#pragma push_macro("isalnum")
|
|
28
|
+
#pragma push_macro("isalpha")
|
|
29
|
+
#pragma push_macro("isblank")
|
|
30
|
+
#pragma push_macro("iscntrl")
|
|
31
|
+
#pragma push_macro("isdigit")
|
|
32
|
+
#pragma push_macro("isgraph")
|
|
33
|
+
#pragma push_macro("islower")
|
|
34
|
+
#pragma push_macro("isprint")
|
|
35
|
+
#pragma push_macro("ispunct")
|
|
36
|
+
#pragma push_macro("isspace")
|
|
37
|
+
#pragma push_macro("isupper")
|
|
38
|
+
#pragma push_macro("isxdigit")
|
|
39
|
+
#pragma push_macro("tolower")
|
|
40
|
+
#pragma push_macro("toupper")
|
|
41
|
+
|
|
42
|
+
#undef isalnum
|
|
43
|
+
#undef isalpha
|
|
44
|
+
#undef iscntrl
|
|
45
|
+
#undef isdigit
|
|
46
|
+
#undef islower
|
|
47
|
+
#undef isgraph
|
|
48
|
+
#undef isprint
|
|
49
|
+
#undef ispunct
|
|
50
|
+
#undef isspace
|
|
51
|
+
#undef isupper
|
|
52
|
+
#undef isblank
|
|
53
|
+
#undef isxdigit
|
|
54
|
+
#undef tolower
|
|
55
|
+
#undef toupper
|
|
56
|
+
|
|
57
|
+
#pragma omp begin declare target
|
|
58
|
+
|
|
59
|
+
#include <llvm-libc-decls/ctype.h>
|
|
60
|
+
|
|
61
|
+
#pragma omp end declare target
|
|
62
|
+
|
|
63
|
+
// Restore the original macros when compiling on the host.
|
|
64
|
+
#if !defined(__NVPTX__) && !defined(__AMDGPU__)
|
|
65
|
+
#pragma pop_macro("isalnum")
|
|
66
|
+
#pragma pop_macro("isalpha")
|
|
67
|
+
#pragma pop_macro("isblank")
|
|
68
|
+
#pragma pop_macro("iscntrl")
|
|
69
|
+
#pragma pop_macro("isdigit")
|
|
70
|
+
#pragma pop_macro("isgraph")
|
|
71
|
+
#pragma pop_macro("islower")
|
|
72
|
+
#pragma pop_macro("isprint")
|
|
73
|
+
#pragma pop_macro("ispunct")
|
|
74
|
+
#pragma pop_macro("isspace")
|
|
75
|
+
#pragma pop_macro("isupper")
|
|
76
|
+
#pragma pop_macro("isxdigit")
|
|
77
|
+
#pragma pop_macro("tolower")
|
|
78
|
+
#pragma pop_macro("toupper")
|
|
79
|
+
#endif
|
|
80
|
+
|
|
81
|
+
#undef __LIBC_ATTRS
|
|
82
|
+
|
|
83
|
+
#endif
|
|
84
|
+
|
|
85
|
+
#endif // __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//===-- Wrapper for C standard inttypes.h declarations on the GPU ---------===//
|
|
2
|
+
//
|
|
3
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#ifndef __CLANG_LLVM_LIBC_WRAPPERS_INTTYPES_H__
|
|
10
|
+
#define __CLANG_LLVM_LIBC_WRAPPERS_INTTYPES_H__
|
|
11
|
+
|
|
12
|
+
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
|
|
13
|
+
#error "This file is for GPU offloading compilation only"
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#include_next <inttypes.h>
|
|
17
|
+
|
|
18
|
+
#if __has_include(<llvm-libc-decls/inttypes.h>)
|
|
19
|
+
|
|
20
|
+
#if defined(__HIP__) || defined(__CUDA__)
|
|
21
|
+
#define __LIBC_ATTRS __attribute__((device))
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
#pragma omp begin declare target
|
|
25
|
+
|
|
26
|
+
#include <llvm-libc-decls/inttypes.h>
|
|
27
|
+
|
|
28
|
+
#pragma omp end declare target
|
|
29
|
+
|
|
30
|
+
#undef __LIBC_ATTRS
|
|
31
|
+
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#endif // __CLANG_LLVM_LIBC_WRAPPERS_INTTYPES_H__
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//===-- Wrapper for C standard stdio.h declarations on the GPU ------------===//
|
|
2
|
+
//
|
|
3
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#ifndef __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
|
|
10
|
+
#define __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
|
|
11
|
+
|
|
12
|
+
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
|
|
13
|
+
#error "This file is for GPU offloading compilation only"
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#include_next <stdio.h>
|
|
17
|
+
|
|
18
|
+
#if __has_include(<llvm-libc-decls/stdio.h>)
|
|
19
|
+
|
|
20
|
+
#if defined(__HIP__) || defined(__CUDA__)
|
|
21
|
+
#define __LIBC_ATTRS __attribute__((device))
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
#pragma omp begin declare target
|
|
25
|
+
|
|
26
|
+
#include <llvm-libc-decls/stdio.h>
|
|
27
|
+
|
|
28
|
+
#pragma omp end declare target
|
|
29
|
+
|
|
30
|
+
#undef __LIBC_ATTRS
|
|
31
|
+
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#endif // __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//===-- Wrapper for C standard stdlib.h declarations on the GPU -----------===//
|
|
2
|
+
//
|
|
3
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#ifndef __CLANG_LLVM_LIBC_WRAPPERS_STDLIB_H__
|
|
10
|
+
#define __CLANG_LLVM_LIBC_WRAPPERS_STDLIB_H__
|
|
11
|
+
|
|
12
|
+
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
|
|
13
|
+
#error "This file is for GPU offloading compilation only"
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#include_next <stdlib.h>
|
|
17
|
+
|
|
18
|
+
#if __has_include(<llvm-libc-decls/stdlib.h>)
|
|
19
|
+
|
|
20
|
+
#if defined(__HIP__) || defined(__CUDA__)
|
|
21
|
+
#define __LIBC_ATTRS __attribute__((device))
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
#pragma omp begin declare target
|
|
25
|
+
|
|
26
|
+
// The LLVM C library uses this type so we forward declare it.
|
|
27
|
+
typedef void (*__atexithandler_t)(void);
|
|
28
|
+
|
|
29
|
+
// Enforce ABI compatibility with the structs used by the LLVM C library.
|
|
30
|
+
_Static_assert(__builtin_offsetof(div_t, quot) == 0, "ABI mismatch!");
|
|
31
|
+
_Static_assert(__builtin_offsetof(ldiv_t, quot) == 0, "ABI mismatch!");
|
|
32
|
+
_Static_assert(__builtin_offsetof(lldiv_t, quot) == 0, "ABI mismatch!");
|
|
33
|
+
|
|
34
|
+
#include <llvm-libc-decls/stdlib.h>
|
|
35
|
+
|
|
36
|
+
#pragma omp end declare target
|
|
37
|
+
|
|
38
|
+
#undef __LIBC_ATTRS
|
|
39
|
+
|
|
40
|
+
#endif
|
|
41
|
+
|
|
42
|
+
#endif // __CLANG_LLVM_LIBC_WRAPPERS_STDLIB_H__
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//===-- Wrapper for C standard string.h declarations on the GPU -----------===//
|
|
2
|
+
//
|
|
3
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#ifndef __CLANG_LLVM_LIBC_WRAPPERS_STRING_H__
|
|
10
|
+
#define __CLANG_LLVM_LIBC_WRAPPERS_STRING_H__
|
|
11
|
+
|
|
12
|
+
#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
|
|
13
|
+
#error "This file is for GPU offloading compilation only"
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// FIXME: The GNU headers provide C++ standard compliant headers when in C++
|
|
17
|
+
// mode and the LLVM libc does not. We cannot enable memchr, strchr, strchrnul,
|
|
18
|
+
// strpbrk, strrchr, strstr, or strcasestr until this is addressed.
|
|
19
|
+
#include_next <string.h>
|
|
20
|
+
|
|
21
|
+
#if __has_include(<llvm-libc-decls/string.h>)
|
|
22
|
+
|
|
23
|
+
#if defined(__HIP__) || defined(__CUDA__)
|
|
24
|
+
#define __LIBC_ATTRS __attribute__((device))
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#pragma omp begin declare target
|
|
28
|
+
|
|
29
|
+
#include <llvm-libc-decls/string.h>
|
|
30
|
+
|
|
31
|
+
#pragma omp end declare target
|
|
32
|
+
|
|
33
|
+
#undef __LIBC_ATTRS
|
|
34
|
+
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
#endif // __CLANG_LLVM_LIBC_WRAPPERS_STRING_H__
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*===---- mwaitxintrin.h - MONITORX/MWAITX intrinsics ----------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __X86INTRIN_H
|
|
11
|
+
#error "Never use <mwaitxintrin.h> directly; include <x86intrin.h> instead."
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifndef __MWAITXINTRIN_H
|
|
15
|
+
#define __MWAITXINTRIN_H
|
|
16
|
+
|
|
17
|
+
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("mwaitx")))
|
|
19
|
+
|
|
20
|
+
/// Establishes a linear address memory range to be monitored and puts
|
|
21
|
+
/// the processor in the monitor event pending state. Data stored in the
|
|
22
|
+
/// monitored address range causes the processor to exit the pending state.
|
|
23
|
+
///
|
|
24
|
+
/// \headerfile <x86intrin.h>
|
|
25
|
+
///
|
|
26
|
+
/// This intrinsic corresponds to the \c MONITORX instruction.
|
|
27
|
+
///
|
|
28
|
+
/// \param __p
|
|
29
|
+
/// The memory range to be monitored. The size of the range is determined by
|
|
30
|
+
/// CPUID function 0000_0005h.
|
|
31
|
+
/// \param __extensions
|
|
32
|
+
/// Optional extensions for the monitoring state.
|
|
33
|
+
/// \param __hints
|
|
34
|
+
/// Optional hints for the monitoring state.
|
|
35
|
+
static __inline__ void __DEFAULT_FN_ATTRS
|
|
36
|
+
_mm_monitorx(void * __p, unsigned __extensions, unsigned __hints)
|
|
37
|
+
{
|
|
38
|
+
__builtin_ia32_monitorx(__p, __extensions, __hints);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/// Used with the \c MONITORX instruction to wait while the processor is in
|
|
42
|
+
/// the monitor event pending state. Data stored in the monitored address
|
|
43
|
+
/// range, or an interrupt, causes the processor to exit the pending state.
|
|
44
|
+
///
|
|
45
|
+
/// \headerfile <x86intrin.h>
|
|
46
|
+
///
|
|
47
|
+
/// This intrinsic corresponds to the \c MWAITX instruction.
|
|
48
|
+
///
|
|
49
|
+
/// \param __extensions
|
|
50
|
+
/// Optional extensions for the monitoring state, which can vary by
|
|
51
|
+
/// processor.
|
|
52
|
+
/// \param __hints
|
|
53
|
+
/// Optional hints for the monitoring state, which can vary by processor.
|
|
54
|
+
static __inline__ void __DEFAULT_FN_ATTRS
|
|
55
|
+
_mm_mwaitx(unsigned __extensions, unsigned __hints, unsigned __clock)
|
|
56
|
+
{
|
|
57
|
+
__builtin_ia32_mwaitx(__extensions, __hints, __clock);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
#undef __DEFAULT_FN_ATTRS
|
|
61
|
+
|
|
62
|
+
#endif /* __MWAITXINTRIN_H */
|
|
@@ -474,6 +474,9 @@ typedef enum memory_order
|
|
|
474
474
|
#define CLK_HALF_FLOAT 0x10DD
|
|
475
475
|
#define CLK_FLOAT 0x10DE
|
|
476
476
|
#define CLK_UNORM_INT24 0x10DF
|
|
477
|
+
#if __OPENCL_C_VERSION__ >= CL_VERSION_3_0
|
|
478
|
+
#define CLK_UNORM_INT_101010_2 0x10E0
|
|
479
|
+
#endif // __OPENCL_C_VERSION__ >= CL_VERSION_3_0
|
|
477
480
|
|
|
478
481
|
// Channel order, numbering must be aligned with cl_channel_order in cl.h
|
|
479
482
|
//
|
|
@@ -253,9 +253,12 @@ _mm_movedup_pd(__m128d __a)
|
|
|
253
253
|
/// the processor in the monitor event pending state. Data stored in the
|
|
254
254
|
/// monitored address range causes the processor to exit the pending state.
|
|
255
255
|
///
|
|
256
|
+
/// The \c MONITOR instruction can be used in kernel mode, and in other modes
|
|
257
|
+
/// if MSR <c> C001_0015h[MonMwaitUserEn] </c> is set.
|
|
258
|
+
///
|
|
256
259
|
/// \headerfile <x86intrin.h>
|
|
257
260
|
///
|
|
258
|
-
/// This intrinsic corresponds to the
|
|
261
|
+
/// This intrinsic corresponds to the \c MONITOR instruction.
|
|
259
262
|
///
|
|
260
263
|
/// \param __p
|
|
261
264
|
/// The memory range to be monitored. The size of the range is determined by
|
|
@@ -270,19 +273,22 @@ _mm_monitor(void const *__p, unsigned __extensions, unsigned __hints)
|
|
|
270
273
|
__builtin_ia32_monitor(__p, __extensions, __hints);
|
|
271
274
|
}
|
|
272
275
|
|
|
273
|
-
/// Used with the MONITOR instruction to wait while the processor is in
|
|
276
|
+
/// Used with the \c MONITOR instruction to wait while the processor is in
|
|
274
277
|
/// the monitor event pending state. Data stored in the monitored address
|
|
275
|
-
/// range causes the processor to exit the pending state.
|
|
278
|
+
/// range, or an interrupt, causes the processor to exit the pending state.
|
|
279
|
+
///
|
|
280
|
+
/// The \c MWAIT instruction can be used in kernel mode, and in other modes if
|
|
281
|
+
/// MSR <c> C001_0015h[MonMwaitUserEn] </c> is set.
|
|
276
282
|
///
|
|
277
283
|
/// \headerfile <x86intrin.h>
|
|
278
284
|
///
|
|
279
|
-
/// This intrinsic corresponds to the
|
|
285
|
+
/// This intrinsic corresponds to the \c MWAIT instruction.
|
|
280
286
|
///
|
|
281
287
|
/// \param __extensions
|
|
282
|
-
/// Optional extensions for the monitoring state, which
|
|
288
|
+
/// Optional extensions for the monitoring state, which can vary by
|
|
283
289
|
/// processor.
|
|
284
290
|
/// \param __hints
|
|
285
|
-
/// Optional hints for the monitoring state, which
|
|
291
|
+
/// Optional hints for the monitoring state, which can vary by processor.
|
|
286
292
|
static __inline__ void __DEFAULT_FN_ATTRS
|
|
287
293
|
_mm_mwait(unsigned __extensions, unsigned __hints)
|
|
288
294
|
{
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
/* SSE2 */
|
|
48
48
|
typedef __vector double __v2df;
|
|
49
|
+
typedef __vector float __v4f;
|
|
49
50
|
typedef __vector long long __v2di;
|
|
50
51
|
typedef __vector unsigned long long __v2du;
|
|
51
52
|
typedef __vector int __v4si;
|
|
@@ -951,7 +952,7 @@ extern __inline __m128d
|
|
|
951
952
|
_mm_cvtpi32_pd(__m64 __A) {
|
|
952
953
|
__v4si __temp;
|
|
953
954
|
__v2di __tmp2;
|
|
954
|
-
|
|
955
|
+
__v4f __result;
|
|
955
956
|
|
|
956
957
|
__temp = (__v4si)vec_splats(__A);
|
|
957
958
|
__tmp2 = (__v2di)vec_unpackl(__temp);
|
|
@@ -305,9 +305,9 @@ extern __inline int
|
|
|
305
305
|
extern __inline __m128i
|
|
306
306
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
|
307
307
|
_mm_blend_epi16(__m128i __A, __m128i __B, const int __imm8) {
|
|
308
|
-
|
|
308
|
+
__v16qu __charmask = vec_splats((unsigned char)__imm8);
|
|
309
309
|
__charmask = vec_gb(__charmask);
|
|
310
|
-
__v8hu __shortmask = (__v8hu)vec_unpackh(__charmask);
|
|
310
|
+
__v8hu __shortmask = (__v8hu)vec_unpackh((__v16qi)__charmask);
|
|
311
311
|
#ifdef __BIG_ENDIAN__
|
|
312
312
|
__shortmask = vec_reve(__shortmask);
|
|
313
313
|
#endif
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*===---- rdseedintrin.h - RDSEED intrinsics -------------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __IMMINTRIN_H
|
|
11
|
+
#error "Never use <rdseedintrin.h> directly; include <immintrin.h> instead."
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifndef __RDSEEDINTRIN_H
|
|
15
|
+
#define __RDSEEDINTRIN_H
|
|
16
|
+
|
|
17
|
+
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("rdseed")))
|
|
19
|
+
|
|
20
|
+
/// Stores a hardware-generated 16-bit random value in the memory at \a __p.
|
|
21
|
+
///
|
|
22
|
+
/// The random number generator complies with NIST SP800-90B and SP800-90C.
|
|
23
|
+
///
|
|
24
|
+
/// \code{.operation}
|
|
25
|
+
/// IF HW_NRND_GEN.ready == 1
|
|
26
|
+
/// Store16(__p, HW_NRND_GEN.data)
|
|
27
|
+
/// result := 1
|
|
28
|
+
/// ELSE
|
|
29
|
+
/// Store16(__p, 0)
|
|
30
|
+
/// result := 0
|
|
31
|
+
/// END
|
|
32
|
+
/// \endcode
|
|
33
|
+
///
|
|
34
|
+
/// \headerfile <immintrin.h>
|
|
35
|
+
///
|
|
36
|
+
/// This intrinsic corresponds to the \c RDSEED instruction.
|
|
37
|
+
///
|
|
38
|
+
/// \param __p
|
|
39
|
+
/// Pointer to memory for storing the 16-bit random number.
|
|
40
|
+
/// \returns 1 if a random number was generated, 0 if not.
|
|
41
|
+
static __inline__ int __DEFAULT_FN_ATTRS
|
|
42
|
+
_rdseed16_step(unsigned short *__p)
|
|
43
|
+
{
|
|
44
|
+
return (int) __builtin_ia32_rdseed16_step(__p);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/// Stores a hardware-generated 32-bit random value in the memory at \a __p.
|
|
48
|
+
///
|
|
49
|
+
/// The random number generator complies with NIST SP800-90B and SP800-90C.
|
|
50
|
+
///
|
|
51
|
+
/// \code{.operation}
|
|
52
|
+
/// IF HW_NRND_GEN.ready == 1
|
|
53
|
+
/// Store32(__p, HW_NRND_GEN.data)
|
|
54
|
+
/// result := 1
|
|
55
|
+
/// ELSE
|
|
56
|
+
/// Store32(__p, 0)
|
|
57
|
+
/// result := 0
|
|
58
|
+
/// END
|
|
59
|
+
/// \endcode
|
|
60
|
+
///
|
|
61
|
+
/// \headerfile <immintrin.h>
|
|
62
|
+
///
|
|
63
|
+
/// This intrinsic corresponds to the \c RDSEED instruction.
|
|
64
|
+
///
|
|
65
|
+
/// \param __p
|
|
66
|
+
/// Pointer to memory for storing the 32-bit random number.
|
|
67
|
+
/// \returns 1 if a random number was generated, 0 if not.
|
|
68
|
+
static __inline__ int __DEFAULT_FN_ATTRS
|
|
69
|
+
_rdseed32_step(unsigned int *__p)
|
|
70
|
+
{
|
|
71
|
+
return (int) __builtin_ia32_rdseed32_step(__p);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
#ifdef __x86_64__
|
|
75
|
+
/// Stores a hardware-generated 64-bit random value in the memory at \a __p.
|
|
76
|
+
///
|
|
77
|
+
/// The random number generator complies with NIST SP800-90B and SP800-90C.
|
|
78
|
+
///
|
|
79
|
+
/// \code{.operation}
|
|
80
|
+
/// IF HW_NRND_GEN.ready == 1
|
|
81
|
+
/// Store64(__p, HW_NRND_GEN.data)
|
|
82
|
+
/// result := 1
|
|
83
|
+
/// ELSE
|
|
84
|
+
/// Store64(__p, 0)
|
|
85
|
+
/// result := 0
|
|
86
|
+
/// END
|
|
87
|
+
/// \endcode
|
|
88
|
+
///
|
|
89
|
+
/// \headerfile <immintrin.h>
|
|
90
|
+
///
|
|
91
|
+
/// This intrinsic corresponds to the \c RDSEED instruction.
|
|
92
|
+
///
|
|
93
|
+
/// \param __p
|
|
94
|
+
/// Pointer to memory for storing the 64-bit random number.
|
|
95
|
+
/// \returns 1 if a random number was generated, 0 if not.
|
|
96
|
+
static __inline__ int __DEFAULT_FN_ATTRS
|
|
97
|
+
_rdseed64_step(unsigned long long *__p)
|
|
98
|
+
{
|
|
99
|
+
return (int) __builtin_ia32_rdseed64_step(__p);
|
|
100
|
+
}
|
|
101
|
+
#endif
|
|
102
|
+
|
|
103
|
+
#undef __DEFAULT_FN_ATTRS
|
|
104
|
+
|
|
105
|
+
#endif /* __RDSEEDINTRIN_H */
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*===---- riscv_ntlh.h - RISC-V NTLH intrinsics ----------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __RISCV_NTLH_H
|
|
11
|
+
#define __RISCV_NTLH_H
|
|
12
|
+
|
|
13
|
+
#ifndef __riscv_zihintntl
|
|
14
|
+
#error "NTLH intrinsics require the NTLH extension."
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
enum {
|
|
18
|
+
__RISCV_NTLH_INNERMOST_PRIVATE = 2,
|
|
19
|
+
__RISCV_NTLH_ALL_PRIVATE,
|
|
20
|
+
__RISCV_NTLH_INNERMOST_SHARED,
|
|
21
|
+
__RISCV_NTLH_ALL
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
#define __riscv_ntl_load(PTR, DOMAIN) __builtin_riscv_ntl_load((PTR), (DOMAIN))
|
|
25
|
+
#define __riscv_ntl_store(PTR, VAL, DOMAIN) \
|
|
26
|
+
__builtin_riscv_ntl_store((PTR), (VAL), (DOMAIN))
|
|
27
|
+
|
|
28
|
+
#endif
|