@cpp-linter/clang-tidy-win32-x64 15.0.2 → 16.0.3
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/{15.0.2 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
- package/lib/clang/{15.0.2 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
- package/lib/clang/{15.0.2 → 16}/include/__clang_hip_math.h +10 -13
- package/lib/clang/{15.0.2 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
- package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
- package/lib/clang/{15.0.2 → 16}/include/altivec.h +14 -14
- package/lib/clang/16/include/amxfp16intrin.h +58 -0
- package/lib/clang/{15.0.2 → 16}/include/amxintrin.h +32 -0
- package/lib/clang/{15.0.2 → 16}/include/arm_acle.h +76 -75
- package/lib/clang/{15.0.2 → 16}/include/arm_fp16.h +1 -1
- package/lib/clang/{15.0.2 → 16}/include/arm_neon.h +26428 -26598
- package/lib/clang/{15.0.2 → 16}/include/arm_neon_sve_bridge.h +0 -2
- package/lib/clang/{15.0.2 → 16}/include/arm_sve.h +7784 -7936
- package/lib/clang/{15.0.2 → 16}/include/avx512bf16intrin.h +18 -15
- package/lib/clang/{15.0.2 → 16}/include/avx512fintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/avx512fp16intrin.h +6 -9
- package/lib/clang/{15.0.2 → 16}/include/avx512ifmavlintrin.h +13 -27
- package/lib/clang/{15.0.2 → 16}/include/avx512vlbf16intrin.h +31 -38
- package/lib/clang/{15.0.2 → 16}/include/avx512vlbwintrin.h +352 -0
- package/lib/clang/{15.0.2 → 16}/include/avx512vlfp16intrin.h +3 -0
- package/lib/clang/16/include/avxifmaintrin.h +177 -0
- package/lib/clang/{15.0.2 → 16}/include/avxintrin.h +12 -2
- package/lib/clang/16/include/avxneconvertintrin.h +484 -0
- package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
- package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
- package/lib/clang/{15.0.2 → 16}/include/cpuid.h +11 -1
- package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
- package/lib/clang/{15.0.2 → 16}/include/emmintrin.h +11 -1
- package/lib/clang/{15.0.2 → 16}/include/float.h +17 -10
- package/lib/clang/{15.0.2 → 16}/include/gfniintrin.h +7 -5
- package/lib/clang/{15.0.2 → 16}/include/hlsl/hlsl_basic_types.h +3 -0
- package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
- package/lib/clang/{15.0.2 → 16}/include/immintrin.h +41 -9
- package/lib/clang/16/include/larchintrin.h +234 -0
- package/lib/clang/{15.0.2 → 16}/include/limits.h +3 -2
- package/lib/clang/{15.0.2 → 16}/include/opencl-c-base.h +19 -0
- package/lib/clang/{15.0.2 → 16}/include/opencl-c.h +175 -145
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/emmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/mm_malloc.h +1 -1
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/mmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/pmmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/smmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/tmmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/xmmintrin.h +2 -2
- package/lib/clang/16/include/prfchiintrin.h +61 -0
- package/lib/clang/16/include/raointintrin.h +203 -0
- package/lib/clang/{15.0.2 → 16}/include/riscv_vector.h +62 -53
- package/lib/clang/{15.0.2 → 16}/include/smmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/stdarg.h +23 -7
- package/lib/clang/{15.0.2 → 16}/include/stdatomic.h +6 -3
- package/lib/clang/{15.0.2 → 16}/include/stdbool.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/stddef.h +8 -1
- package/lib/clang/{15.0.2 → 16}/include/stdint.h +158 -40
- package/lib/clang/{15.0.2 → 16}/include/stdnoreturn.h +1 -1
- package/lib/clang/{15.0.2 → 16}/include/unwind.h +2 -1
- package/lib/clang/{15.0.2 → 16}/include/velintrin.h +1 -1
- package/lib/clang/{15.0.2 → 16}/include/x86gprintrin.h +19 -7
- package/lib/clang/{15.0.2 → 16}/include/xmmintrin.h +1 -2
- package/package.json +6 -6
- package/lib/clang/15.0.2/include/hlsl/hlsl_intrinsics.h +0 -15
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_intrinsics.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/adxintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ammintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm64intr.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm_bf16.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm_cde.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm_cmse.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm_mve.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/armintr.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/bmiintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/builtins.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cet.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cetintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/clwbintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/clzerointrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/crc32intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/f16cintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/fma4intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/fmaintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hexagon_types.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hlsl.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hresetintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/htmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ia32intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/inttypes.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/iso646.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/lwpintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/mm3dnow.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/mm_malloc.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/mmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/module.modulemap +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/movdirintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/msa.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/nmmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/pkuintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/pmmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/popcntintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/rtmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/s390intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/serializeintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/sgxintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/shaintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/stdalign.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/tbmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/tgmath.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/tmmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/uintrintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/vadefs.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/vaesintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/varargs.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/vecintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/wmmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/x86intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xopintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xtestintrin.h +0 -0
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
#ifndef EMMINTRIN_H_
|
|
37
37
|
#define EMMINTRIN_H_
|
|
38
38
|
|
|
39
|
-
#if defined(
|
|
39
|
+
#if defined(__powerpc64__) && \
|
|
40
40
|
(defined(__linux__) || defined(__FreeBSD__) || defined(_AIX))
|
|
41
41
|
|
|
42
42
|
#include <altivec.h>
|
|
@@ -2262,7 +2262,7 @@ extern __inline __m128d
|
|
|
2262
2262
|
|
|
2263
2263
|
#else
|
|
2264
2264
|
#include_next <emmintrin.h>
|
|
2265
|
-
#endif /* defined(
|
|
2265
|
+
#endif /* defined(__powerpc64__) && \
|
|
2266
2266
|
* (defined(__linux__) || defined(__FreeBSD__) || defined(_AIX)) */
|
|
2267
2267
|
|
|
2268
2268
|
#endif /* EMMINTRIN_H_ */
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
#ifndef _MMINTRIN_H_INCLUDED
|
|
36
36
|
#define _MMINTRIN_H_INCLUDED
|
|
37
37
|
|
|
38
|
-
#if defined(
|
|
38
|
+
#if defined(__powerpc64__) && \
|
|
39
39
|
(defined(__linux__) || defined(__FreeBSD__) || defined(_AIX))
|
|
40
40
|
|
|
41
41
|
#include <altivec.h>
|
|
@@ -1447,7 +1447,7 @@ extern __inline __m64
|
|
|
1447
1447
|
|
|
1448
1448
|
#else
|
|
1449
1449
|
#include_next <mmintrin.h>
|
|
1450
|
-
#endif /* defined(
|
|
1450
|
+
#endif /* defined(__powerpc64__) && \
|
|
1451
1451
|
* (defined(__linux__) || defined(__FreeBSD__) || defined(_AIX)) */
|
|
1452
1452
|
|
|
1453
1453
|
#endif /* _MMINTRIN_H_INCLUDED */
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
#ifndef PMMINTRIN_H_
|
|
40
40
|
#define PMMINTRIN_H_
|
|
41
41
|
|
|
42
|
-
#if defined(
|
|
42
|
+
#if defined(__powerpc64__) && \
|
|
43
43
|
(defined(__linux__) || defined(__FreeBSD__) || defined(_AIX))
|
|
44
44
|
|
|
45
45
|
/* We need definitions from the SSE2 and SSE header files*/
|
|
@@ -139,7 +139,7 @@ extern __inline __m128i
|
|
|
139
139
|
|
|
140
140
|
#else
|
|
141
141
|
#include_next <pmmintrin.h>
|
|
142
|
-
#endif /* defined(
|
|
142
|
+
#endif /* defined(__powerpc64__) && \
|
|
143
143
|
* (defined(__linux__) || defined(__FreeBSD__) || defined(_AIX)) */
|
|
144
144
|
|
|
145
145
|
#endif /* PMMINTRIN_H_ */
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
#ifndef SMMINTRIN_H_
|
|
30
30
|
#define SMMINTRIN_H_
|
|
31
31
|
|
|
32
|
-
#if defined(
|
|
32
|
+
#if defined(__powerpc64__) && \
|
|
33
33
|
(defined(__linux__) || defined(__FreeBSD__) || defined(_AIX))
|
|
34
34
|
|
|
35
35
|
#include <altivec.h>
|
|
@@ -657,7 +657,7 @@ extern __inline __m128i
|
|
|
657
657
|
|
|
658
658
|
#else
|
|
659
659
|
#include_next <smmintrin.h>
|
|
660
|
-
#endif /* defined(
|
|
660
|
+
#endif /* defined(__powerpc64__) && \
|
|
661
661
|
* (defined(__linux__) || defined(__FreeBSD__) || defined(_AIX)) */
|
|
662
662
|
|
|
663
663
|
#endif /* SMMINTRIN_H_ */
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
#ifndef TMMINTRIN_H_
|
|
26
26
|
#define TMMINTRIN_H_
|
|
27
27
|
|
|
28
|
-
#if defined(
|
|
28
|
+
#if defined(__powerpc64__) && \
|
|
29
29
|
(defined(__linux__) || defined(__FreeBSD__) || defined(_AIX))
|
|
30
30
|
|
|
31
31
|
#include <altivec.h>
|
|
@@ -447,7 +447,7 @@ extern __inline __m64
|
|
|
447
447
|
|
|
448
448
|
#else
|
|
449
449
|
#include_next <tmmintrin.h>
|
|
450
|
-
#endif /* defined(
|
|
450
|
+
#endif /* defined(__powerpc64__) && \
|
|
451
451
|
* (defined(__linux__) || defined(__FreeBSD__) || defined(_AIX)) */
|
|
452
452
|
|
|
453
453
|
#endif /* TMMINTRIN_H_ */
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
#ifndef XMMINTRIN_H_
|
|
36
36
|
#define XMMINTRIN_H_
|
|
37
37
|
|
|
38
|
-
#if defined(
|
|
38
|
+
#if defined(__powerpc64__) && \
|
|
39
39
|
(defined(__linux__) || defined(__FreeBSD__) || defined(_AIX))
|
|
40
40
|
|
|
41
41
|
/* Define four value permute mask */
|
|
@@ -1821,7 +1821,7 @@ extern __inline void
|
|
|
1821
1821
|
|
|
1822
1822
|
#else
|
|
1823
1823
|
#include_next <xmmintrin.h>
|
|
1824
|
-
#endif /* defined(
|
|
1824
|
+
#endif /* defined(__powerpc64__) && \
|
|
1825
1825
|
* (defined(__linux__) || defined(__FreeBSD__) || defined(_AIX)) */
|
|
1826
1826
|
|
|
1827
1827
|
#endif /* XMMINTRIN_H_ */
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*===---- prfchiintrin.h - PREFETCHI intrinsic -----------------------------===
|
|
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 __PRFCHIINTRIN_H
|
|
11
|
+
#define __PRFCHIINTRIN_H
|
|
12
|
+
|
|
13
|
+
#ifdef __x86_64__
|
|
14
|
+
|
|
15
|
+
/* Define the default attributes for the functions in this file. */
|
|
16
|
+
#define __DEFAULT_FN_ATTRS \
|
|
17
|
+
__attribute__((__always_inline__, __nodebug__, __target__("prefetchi")))
|
|
18
|
+
|
|
19
|
+
/// Loads an instruction sequence containing the specified memory address into
|
|
20
|
+
/// all level cache.
|
|
21
|
+
///
|
|
22
|
+
/// Note that the effect of this intrinsic is dependent on the processor
|
|
23
|
+
/// implementation.
|
|
24
|
+
///
|
|
25
|
+
/// \headerfile <x86intrin.h>
|
|
26
|
+
///
|
|
27
|
+
/// This intrinsic corresponds to the \c PREFETCHIT0 instruction.
|
|
28
|
+
///
|
|
29
|
+
/// \param __P
|
|
30
|
+
/// A pointer specifying the memory address to be prefetched.
|
|
31
|
+
static __inline__ void __DEFAULT_FN_ATTRS
|
|
32
|
+
_m_prefetchit0(volatile const void *__P) {
|
|
33
|
+
#pragma clang diagnostic push
|
|
34
|
+
#pragma clang diagnostic ignored "-Wcast-qual"
|
|
35
|
+
__builtin_ia32_prefetchi((const void *)__P, 3 /* _MM_HINT_T0 */);
|
|
36
|
+
#pragma clang diagnostic pop
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/// Loads an instruction sequence containing the specified memory address into
|
|
40
|
+
/// all but the first-level cache.
|
|
41
|
+
///
|
|
42
|
+
/// Note that the effect of this intrinsic is dependent on the processor
|
|
43
|
+
/// implementation.
|
|
44
|
+
///
|
|
45
|
+
/// \headerfile <x86intrin.h>
|
|
46
|
+
///
|
|
47
|
+
/// This intrinsic corresponds to the \c PREFETCHIT1 instruction.
|
|
48
|
+
///
|
|
49
|
+
/// \param __P
|
|
50
|
+
/// A pointer specifying the memory address to be prefetched.
|
|
51
|
+
static __inline__ void __DEFAULT_FN_ATTRS
|
|
52
|
+
_m_prefetchit1(volatile const void *__P) {
|
|
53
|
+
#pragma clang diagnostic push
|
|
54
|
+
#pragma clang diagnostic ignored "-Wcast-qual"
|
|
55
|
+
__builtin_ia32_prefetchi((const void *)__P, 2 /* _MM_HINT_T1 */);
|
|
56
|
+
#pragma clang diagnostic pop
|
|
57
|
+
}
|
|
58
|
+
#endif /* __x86_64__ */
|
|
59
|
+
#undef __DEFAULT_FN_ATTRS
|
|
60
|
+
|
|
61
|
+
#endif /* __PRFCHWINTRIN_H */
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/*===----------------------- raointintrin.h - RAOINT ------------------------===
|
|
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 __X86GPRINTRIN_H
|
|
11
|
+
#error "Never use <raointintrin.h> directly; include <x86gprintrin.h> instead."
|
|
12
|
+
#endif // __X86GPRINTRIN_H
|
|
13
|
+
|
|
14
|
+
#ifndef __RAOINTINTRIN_H
|
|
15
|
+
#define __RAOINTINTRIN_H
|
|
16
|
+
|
|
17
|
+
#define __DEFAULT_FN_ATTRS \
|
|
18
|
+
__attribute__((__always_inline__, __nodebug__, __target__("raoint")))
|
|
19
|
+
|
|
20
|
+
/// Atomically add a 32-bit value at memory operand \a __A and a 32-bit \a __B,
|
|
21
|
+
/// and store the result to the same memory location.
|
|
22
|
+
///
|
|
23
|
+
/// This intrinsic should be used for contention or weak ordering. It may
|
|
24
|
+
/// result in bad performance for hot data used by single thread only.
|
|
25
|
+
///
|
|
26
|
+
/// \headerfile <x86intrin.h>
|
|
27
|
+
///
|
|
28
|
+
/// This intrinsic corresponds to the \c AADD instruction.
|
|
29
|
+
///
|
|
30
|
+
/// \param __A
|
|
31
|
+
/// A pointer to a 32-bit memory location.
|
|
32
|
+
/// \param __B
|
|
33
|
+
/// A 32-bit integer value.
|
|
34
|
+
///
|
|
35
|
+
/// \code{.operation}
|
|
36
|
+
/// MEM[__A+31:__A] := MEM[__A+31:__A] + __B[31:0]
|
|
37
|
+
/// \endcode
|
|
38
|
+
static __inline__ void __DEFAULT_FN_ATTRS _aadd_i32(int *__A, int __B) {
|
|
39
|
+
__builtin_ia32_aadd32((int *)__A, __B);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/// Atomically and a 32-bit value at memory operand \a __A and a 32-bit \a __B,
|
|
43
|
+
/// and store the result to the same memory location.
|
|
44
|
+
///
|
|
45
|
+
/// This intrinsic should be used for contention or weak ordering. It may
|
|
46
|
+
/// result in bad performance for hot data used by single thread only.
|
|
47
|
+
///
|
|
48
|
+
/// \headerfile <x86intrin.h>
|
|
49
|
+
///
|
|
50
|
+
/// This intrinsic corresponds to the \c AAND instruction.
|
|
51
|
+
///
|
|
52
|
+
/// \param __A
|
|
53
|
+
/// A pointer to a 32-bit memory location.
|
|
54
|
+
/// \param __B
|
|
55
|
+
/// A 32-bit integer value.
|
|
56
|
+
///
|
|
57
|
+
/// \code{.operation}
|
|
58
|
+
/// MEM[__A+31:__A] := MEM[__A+31:__A] AND __B[31:0]
|
|
59
|
+
/// \endcode
|
|
60
|
+
static __inline__ void __DEFAULT_FN_ATTRS _aand_i32(int *__A, int __B) {
|
|
61
|
+
__builtin_ia32_aand32((int *)__A, __B);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/// Atomically or a 32-bit value at memory operand \a __A and a 32-bit \a __B,
|
|
65
|
+
/// and store the result to the same memory location.
|
|
66
|
+
///
|
|
67
|
+
/// This intrinsic should be used for contention or weak ordering. It may
|
|
68
|
+
/// result in bad performance for hot data used by single thread only.
|
|
69
|
+
///
|
|
70
|
+
/// \headerfile <x86intrin.h>
|
|
71
|
+
///
|
|
72
|
+
/// This intrinsic corresponds to the \c AOR instruction.
|
|
73
|
+
///
|
|
74
|
+
/// \param __A
|
|
75
|
+
/// A pointer to a 32-bit memory location.
|
|
76
|
+
/// \param __B
|
|
77
|
+
/// A 32-bit integer value.
|
|
78
|
+
///
|
|
79
|
+
/// \code{.operation}
|
|
80
|
+
/// MEM[__A+31:__A] := MEM[__A+31:__A] OR __B[31:0]
|
|
81
|
+
/// \endcode
|
|
82
|
+
static __inline__ void __DEFAULT_FN_ATTRS _aor_i32(int *__A, int __B) {
|
|
83
|
+
__builtin_ia32_aor32((int *)__A, __B);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/// Atomically xor a 32-bit value at memory operand \a __A and a 32-bit \a __B,
|
|
87
|
+
/// and store the result to the same memory location.
|
|
88
|
+
///
|
|
89
|
+
/// This intrinsic should be used for contention or weak ordering. It may
|
|
90
|
+
/// result in bad performance for hot data used by single thread only.
|
|
91
|
+
///
|
|
92
|
+
/// \headerfile <x86intrin.h>
|
|
93
|
+
///
|
|
94
|
+
/// This intrinsic corresponds to the \c AXOR instruction.
|
|
95
|
+
///
|
|
96
|
+
/// \param __A
|
|
97
|
+
/// A pointer to a 32-bit memory location.
|
|
98
|
+
/// \param __B
|
|
99
|
+
/// A 32-bit integer value.
|
|
100
|
+
///
|
|
101
|
+
/// \code{.operation}
|
|
102
|
+
/// MEM[__A+31:__A] := MEM[__A+31:__A] XOR __B[31:0]
|
|
103
|
+
/// \endcode
|
|
104
|
+
static __inline__ void __DEFAULT_FN_ATTRS _axor_i32(int *__A, int __B) {
|
|
105
|
+
__builtin_ia32_axor32((int *)__A, __B);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
#ifdef __x86_64__
|
|
109
|
+
/// Atomically add a 64-bit value at memory operand \a __A and a 64-bit \a __B,
|
|
110
|
+
/// and store the result to the same memory location.
|
|
111
|
+
///
|
|
112
|
+
/// This intrinsic should be used for contention or weak ordering. It may
|
|
113
|
+
/// result in bad performance for hot data used by single thread only.
|
|
114
|
+
///
|
|
115
|
+
/// \headerfile <x86intrin.h>
|
|
116
|
+
///
|
|
117
|
+
/// This intrinsic corresponds to the \c AADD instruction.
|
|
118
|
+
///
|
|
119
|
+
/// \param __A
|
|
120
|
+
/// A pointer to a 64-bit memory location.
|
|
121
|
+
/// \param __B
|
|
122
|
+
/// A 64-bit integer value.
|
|
123
|
+
///
|
|
124
|
+
/// \code{.operation}
|
|
125
|
+
/// MEM[__A+63:__A] := MEM[__A+63:__A] + __B[63:0]
|
|
126
|
+
/// \endcode
|
|
127
|
+
static __inline__ void __DEFAULT_FN_ATTRS _aadd_i64(long long *__A,
|
|
128
|
+
long long __B) {
|
|
129
|
+
__builtin_ia32_aadd64((long long *)__A, __B);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/// Atomically and a 64-bit value at memory operand \a __A and a 64-bit \a __B,
|
|
133
|
+
/// and store the result to the same memory location.
|
|
134
|
+
///
|
|
135
|
+
/// This intrinsic should be used for contention or weak ordering. It may
|
|
136
|
+
/// result in bad performance for hot data used by single thread only.
|
|
137
|
+
///
|
|
138
|
+
/// \headerfile <x86intrin.h>
|
|
139
|
+
///
|
|
140
|
+
/// This intrinsic corresponds to the \c AAND instruction.
|
|
141
|
+
///
|
|
142
|
+
/// \param __A
|
|
143
|
+
/// A pointer to a 64-bit memory location.
|
|
144
|
+
/// \param __B
|
|
145
|
+
/// A 64-bit integer value.
|
|
146
|
+
///
|
|
147
|
+
/// \code{.operation}
|
|
148
|
+
/// MEM[__A+63:__A] := MEM[__A+63:__A] AND __B[63:0]
|
|
149
|
+
/// \endcode
|
|
150
|
+
static __inline__ void __DEFAULT_FN_ATTRS _aand_i64(long long *__A,
|
|
151
|
+
long long __B) {
|
|
152
|
+
__builtin_ia32_aand64((long long *)__A, __B);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/// Atomically or a 64-bit value at memory operand \a __A and a 64-bit \a __B,
|
|
156
|
+
/// and store the result to the same memory location.
|
|
157
|
+
///
|
|
158
|
+
/// This intrinsic should be used for contention or weak ordering. It may
|
|
159
|
+
/// result in bad performance for hot data used by single thread only.
|
|
160
|
+
///
|
|
161
|
+
/// \headerfile <x86intrin.h>
|
|
162
|
+
///
|
|
163
|
+
/// This intrinsic corresponds to the \c AOR instruction.
|
|
164
|
+
///
|
|
165
|
+
/// \param __A
|
|
166
|
+
/// A pointer to a 64-bit memory location.
|
|
167
|
+
/// \param __B
|
|
168
|
+
/// A 64-bit integer value.
|
|
169
|
+
///
|
|
170
|
+
/// \code{.operation}
|
|
171
|
+
/// MEM[__A+63:__A] := MEM[__A+63:__A] OR __B[63:0]
|
|
172
|
+
/// \endcode
|
|
173
|
+
static __inline__ void __DEFAULT_FN_ATTRS _aor_i64(long long *__A,
|
|
174
|
+
long long __B) {
|
|
175
|
+
__builtin_ia32_aor64((long long *)__A, __B);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/// Atomically xor a 64-bit value at memory operand \a __A and a 64-bit \a __B,
|
|
179
|
+
/// and store the result to the same memory location.
|
|
180
|
+
///
|
|
181
|
+
/// This intrinsic should be used for contention or weak ordering. It may
|
|
182
|
+
/// result in bad performance for hot data used by single thread only.
|
|
183
|
+
///
|
|
184
|
+
/// \headerfile <x86intrin.h>
|
|
185
|
+
///
|
|
186
|
+
/// This intrinsic corresponds to the \c AXOR instruction.
|
|
187
|
+
///
|
|
188
|
+
/// \param __A
|
|
189
|
+
/// A pointer to a 64-bit memory location.
|
|
190
|
+
/// \param __B
|
|
191
|
+
/// A 64-bit integer value.
|
|
192
|
+
///
|
|
193
|
+
/// \code{.operation}
|
|
194
|
+
/// MEM[__A+63:__A] := MEM[__A+63:__A] XOR __B[63:0]
|
|
195
|
+
/// \endcode
|
|
196
|
+
static __inline__ void __DEFAULT_FN_ATTRS _axor_i64(long long *__A,
|
|
197
|
+
long long __B) {
|
|
198
|
+
__builtin_ia32_axor64((long long *)__A, __B);
|
|
199
|
+
}
|
|
200
|
+
#endif // __x86_64__
|
|
201
|
+
|
|
202
|
+
#undef __DEFAULT_FN_ATTRS
|
|
203
|
+
#endif // __RAOINTINTRIN_H
|
|
@@ -25,6 +25,8 @@ extern "C" {
|
|
|
25
25
|
#pragma clang riscv intrinsic vector
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
#define __riscv_vlenb() __builtin_rvv_vlenb()
|
|
29
|
+
|
|
28
30
|
enum RVV_CSR {
|
|
29
31
|
RVV_VSTART = 0,
|
|
30
32
|
RVV_VXSAT,
|
|
@@ -33,7 +35,7 @@ enum RVV_CSR {
|
|
|
33
35
|
};
|
|
34
36
|
|
|
35
37
|
static __inline__ __attribute__((__always_inline__, __nodebug__))
|
|
36
|
-
unsigned long
|
|
38
|
+
unsigned long __riscv_vread_csr(enum RVV_CSR __csr) {
|
|
37
39
|
unsigned long __rv = 0;
|
|
38
40
|
switch (__csr) {
|
|
39
41
|
case RVV_VSTART:
|
|
@@ -53,7 +55,7 @@ unsigned long vread_csr(enum RVV_CSR __csr) {
|
|
|
53
55
|
}
|
|
54
56
|
|
|
55
57
|
static __inline__ __attribute__((__always_inline__, __nodebug__))
|
|
56
|
-
void
|
|
58
|
+
void __riscv_vwrite_csr(enum RVV_CSR __csr, unsigned long __value) {
|
|
57
59
|
switch (__csr) {
|
|
58
60
|
case RVV_VSTART:
|
|
59
61
|
__asm__ __volatile__ ("csrw\tvstart, %z0" : : "rJ"(__value) : "memory");
|
|
@@ -70,57 +72,64 @@ void vwrite_csr(enum RVV_CSR __csr, unsigned long __value) {
|
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
|
|
73
|
-
#define
|
|
74
|
-
#define
|
|
75
|
-
#define
|
|
76
|
-
#define
|
|
77
|
-
#define
|
|
78
|
-
#define
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
#define
|
|
82
|
-
#define
|
|
83
|
-
#define
|
|
84
|
-
#define
|
|
85
|
-
|
|
86
|
-
#define
|
|
87
|
-
|
|
88
|
-
#define
|
|
89
|
-
#define
|
|
90
|
-
|
|
91
|
-
#
|
|
92
|
-
#define
|
|
93
|
-
|
|
94
|
-
#define
|
|
95
|
-
|
|
96
|
-
#define
|
|
97
|
-
#define
|
|
98
|
-
|
|
99
|
-
#define
|
|
100
|
-
#
|
|
101
|
-
|
|
102
|
-
#define
|
|
103
|
-
#define
|
|
104
|
-
#define
|
|
105
|
-
#define
|
|
106
|
-
|
|
107
|
-
#define
|
|
108
|
-
|
|
109
|
-
#define
|
|
110
|
-
#define
|
|
111
|
-
#define
|
|
112
|
-
#define
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
#define
|
|
116
|
-
#define
|
|
117
|
-
#define
|
|
118
|
-
#define
|
|
119
|
-
|
|
120
|
-
#
|
|
121
|
-
#define
|
|
122
|
-
#define
|
|
123
|
-
#define
|
|
75
|
+
#define __riscv_vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
|
|
76
|
+
#define __riscv_vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
|
|
77
|
+
#define __riscv_vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0)
|
|
78
|
+
#define __riscv_vsetvl_e8m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 1)
|
|
79
|
+
#define __riscv_vsetvl_e8m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 2)
|
|
80
|
+
#define __riscv_vsetvl_e8m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 3)
|
|
81
|
+
|
|
82
|
+
#define __riscv_vsetvl_e16mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 7)
|
|
83
|
+
#define __riscv_vsetvl_e16m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 0)
|
|
84
|
+
#define __riscv_vsetvl_e16m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 1)
|
|
85
|
+
#define __riscv_vsetvl_e16m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 2)
|
|
86
|
+
#define __riscv_vsetvl_e16m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 3)
|
|
87
|
+
|
|
88
|
+
#define __riscv_vsetvl_e32m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 0)
|
|
89
|
+
#define __riscv_vsetvl_e32m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 1)
|
|
90
|
+
#define __riscv_vsetvl_e32m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 2)
|
|
91
|
+
#define __riscv_vsetvl_e32m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 3)
|
|
92
|
+
|
|
93
|
+
#if __riscv_v_elen >= 64
|
|
94
|
+
#define __riscv_vsetvl_e8mf8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 5)
|
|
95
|
+
#define __riscv_vsetvl_e16mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 6)
|
|
96
|
+
#define __riscv_vsetvl_e32mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 7)
|
|
97
|
+
|
|
98
|
+
#define __riscv_vsetvl_e64m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 0)
|
|
99
|
+
#define __riscv_vsetvl_e64m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 1)
|
|
100
|
+
#define __riscv_vsetvl_e64m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 2)
|
|
101
|
+
#define __riscv_vsetvl_e64m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 3)
|
|
102
|
+
#endif
|
|
103
|
+
|
|
104
|
+
#define __riscv_vsetvlmax_e8mf4() __builtin_rvv_vsetvlimax(0, 6)
|
|
105
|
+
#define __riscv_vsetvlmax_e8mf2() __builtin_rvv_vsetvlimax(0, 7)
|
|
106
|
+
#define __riscv_vsetvlmax_e8m1() __builtin_rvv_vsetvlimax(0, 0)
|
|
107
|
+
#define __riscv_vsetvlmax_e8m2() __builtin_rvv_vsetvlimax(0, 1)
|
|
108
|
+
#define __riscv_vsetvlmax_e8m4() __builtin_rvv_vsetvlimax(0, 2)
|
|
109
|
+
#define __riscv_vsetvlmax_e8m8() __builtin_rvv_vsetvlimax(0, 3)
|
|
110
|
+
|
|
111
|
+
#define __riscv_vsetvlmax_e16mf2() __builtin_rvv_vsetvlimax(1, 7)
|
|
112
|
+
#define __riscv_vsetvlmax_e16m1() __builtin_rvv_vsetvlimax(1, 0)
|
|
113
|
+
#define __riscv_vsetvlmax_e16m2() __builtin_rvv_vsetvlimax(1, 1)
|
|
114
|
+
#define __riscv_vsetvlmax_e16m4() __builtin_rvv_vsetvlimax(1, 2)
|
|
115
|
+
#define __riscv_vsetvlmax_e16m8() __builtin_rvv_vsetvlimax(1, 3)
|
|
116
|
+
|
|
117
|
+
#define __riscv_vsetvlmax_e32m1() __builtin_rvv_vsetvlimax(2, 0)
|
|
118
|
+
#define __riscv_vsetvlmax_e32m2() __builtin_rvv_vsetvlimax(2, 1)
|
|
119
|
+
#define __riscv_vsetvlmax_e32m4() __builtin_rvv_vsetvlimax(2, 2)
|
|
120
|
+
#define __riscv_vsetvlmax_e32m8() __builtin_rvv_vsetvlimax(2, 3)
|
|
121
|
+
|
|
122
|
+
#if __riscv_v_elen >= 64
|
|
123
|
+
#define __riscv_vsetvlmax_e8mf8() __builtin_rvv_vsetvlimax(0, 5)
|
|
124
|
+
#define __riscv_vsetvlmax_e16mf4() __builtin_rvv_vsetvlimax(1, 6)
|
|
125
|
+
#define __riscv_vsetvlmax_e32mf2() __builtin_rvv_vsetvlimax(2, 7)
|
|
126
|
+
|
|
127
|
+
#define __riscv_vsetvlmax_e64m1() __builtin_rvv_vsetvlimax(3, 0)
|
|
128
|
+
#define __riscv_vsetvlmax_e64m2() __builtin_rvv_vsetvlimax(3, 1)
|
|
129
|
+
#define __riscv_vsetvlmax_e64m4() __builtin_rvv_vsetvlimax(3, 2)
|
|
130
|
+
#define __riscv_vsetvlmax_e64m8() __builtin_rvv_vsetvlimax(3, 3)
|
|
131
|
+
#endif
|
|
132
|
+
|
|
124
133
|
typedef __rvv_bool64_t vbool64_t;
|
|
125
134
|
typedef __rvv_bool32_t vbool32_t;
|
|
126
135
|
typedef __rvv_bool16_t vbool16_t;
|
|
@@ -818,7 +818,7 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu32(__m128i __V1,
|
|
|
818
818
|
/// parameter, is copied to the result.
|
|
819
819
|
/// \param N
|
|
820
820
|
/// Specifies which bits from operand \a Y will be copied, which bits in the
|
|
821
|
-
/// result they will be
|
|
821
|
+
/// result they will be copied to, and which bits in the result will be
|
|
822
822
|
/// cleared. The following assignments are made: \n
|
|
823
823
|
/// Bits [7:6] specify the bits to copy from operand \a Y: \n
|
|
824
824
|
/// 00: Selects bits [31:0] from operand \a Y. \n
|
|
@@ -1145,7 +1145,7 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_testnzc_si128(__m128i __M,
|
|
|
1145
1145
|
/// A 128-bit integer vector containing the bits to be tested.
|
|
1146
1146
|
/// \returns TRUE if the bits specified in the operand are all set to 1; FALSE
|
|
1147
1147
|
/// otherwise.
|
|
1148
|
-
#define _mm_test_all_ones(V) _mm_testc_si128((V),
|
|
1148
|
+
#define _mm_test_all_ones(V) _mm_testc_si128((V), _mm_set1_epi32(-1))
|
|
1149
1149
|
|
|
1150
1150
|
/// Tests whether the specified bits in a 128-bit integer vector are
|
|
1151
1151
|
/// neither all zeros nor all ones.
|
|
@@ -8,13 +8,30 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
#ifndef __STDARG_H
|
|
11
|
-
#define __STDARG_H
|
|
12
11
|
|
|
12
|
+
#ifndef __GNUC_VA_LIST
|
|
13
|
+
#define __GNUC_VA_LIST
|
|
14
|
+
typedef __builtin_va_list __gnuc_va_list;
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
#ifdef __need___va_list
|
|
18
|
+
#undef __need___va_list
|
|
19
|
+
#else
|
|
20
|
+
#define __STDARG_H
|
|
13
21
|
#ifndef _VA_LIST
|
|
14
22
|
typedef __builtin_va_list va_list;
|
|
15
23
|
#define _VA_LIST
|
|
16
24
|
#endif
|
|
25
|
+
|
|
26
|
+
/* FIXME: This is using the placeholder dates Clang produces for these macros
|
|
27
|
+
in C2x mode; switch to the correct values once they've been published. */
|
|
28
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
29
|
+
/* C2x does not require the second parameter for va_start. */
|
|
30
|
+
#define va_start(ap, ...) __builtin_va_start(ap, 0)
|
|
31
|
+
#else
|
|
32
|
+
/* Versions before C2x do require the second parameter. */
|
|
17
33
|
#define va_start(ap, param) __builtin_va_start(ap, param)
|
|
34
|
+
#endif
|
|
18
35
|
#define va_end(ap) __builtin_va_end(ap)
|
|
19
36
|
#define va_arg(ap, type) __builtin_va_arg(ap, type)
|
|
20
37
|
|
|
@@ -23,13 +40,12 @@ typedef __builtin_va_list va_list;
|
|
|
23
40
|
*/
|
|
24
41
|
#define __va_copy(d,s) __builtin_va_copy(d,s)
|
|
25
42
|
|
|
26
|
-
#if __STDC_VERSION__
|
|
43
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
|
|
44
|
+
(defined(__cplusplus) && __cplusplus >= 201103L) || \
|
|
45
|
+
!defined(__STRICT_ANSI__)
|
|
27
46
|
#define va_copy(dest, src) __builtin_va_copy(dest, src)
|
|
28
47
|
#endif
|
|
29
48
|
|
|
30
|
-
#ifndef __GNUC_VA_LIST
|
|
31
|
-
#define __GNUC_VA_LIST 1
|
|
32
|
-
typedef __builtin_va_list __gnuc_va_list;
|
|
33
|
-
#endif
|
|
34
|
-
|
|
35
49
|
#endif /* __STDARG_H */
|
|
50
|
+
|
|
51
|
+
#endif /* not __STDARG_H */
|
|
@@ -15,10 +15,12 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Exclude the MSVC path as well as the MSVC header as of the 14.31.30818
|
|
17
17
|
* explicitly disallows `stdatomic.h` in the C mode via an `#error`. Fallback
|
|
18
|
-
* to the clang resource header until that is fully supported.
|
|
18
|
+
* to the clang resource header until that is fully supported. The
|
|
19
|
+
* `stdatomic.h` header requires C++ 23 or newer.
|
|
19
20
|
*/
|
|
20
21
|
#if __STDC_HOSTED__ && \
|
|
21
|
-
__has_include_next(<stdatomic.h>) &&
|
|
22
|
+
__has_include_next(<stdatomic.h>) && \
|
|
23
|
+
(!defined(_MSC_VER) || (defined(__cplusplus) && __cplusplus >= 202002L))
|
|
22
24
|
# include_next <stdatomic.h>
|
|
23
25
|
#else
|
|
24
26
|
|
|
@@ -45,7 +47,8 @@ extern "C" {
|
|
|
45
47
|
/* 7.17.2 Initialization */
|
|
46
48
|
|
|
47
49
|
#define ATOMIC_VAR_INIT(value) (value)
|
|
48
|
-
#if (__STDC_VERSION__
|
|
50
|
+
#if ((defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201710L) || \
|
|
51
|
+
(defined(__cplusplus) && __cplusplus >= 202002L)) && \
|
|
49
52
|
!defined(_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS)
|
|
50
53
|
/* ATOMIC_VAR_INIT was deprecated in C17 and C++20. */
|
|
51
54
|
#pragma clang deprecated(ATOMIC_VAR_INIT)
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
#define __bool_true_false_are_defined 1
|
|
14
14
|
|
|
15
|
-
#if __STDC_VERSION__ > 201710L
|
|
15
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ > 201710L
|
|
16
16
|
/* FIXME: We should be issuing a deprecation warning here, but cannot yet due
|
|
17
17
|
* to system headers which include this header file unconditionally.
|
|
18
18
|
*/
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
|
24
24
|
/* Define _Bool as a GNU extension. */
|
|
25
25
|
#define _Bool bool
|
|
26
|
-
#if __cplusplus < 201103L
|
|
26
|
+
#if defined(__cplusplus) && __cplusplus < 201103L
|
|
27
27
|
/* For C++98, define bool, false, true as a GNU extension. */
|
|
28
28
|
#define bool bool
|
|
29
29
|
#define false false
|
|
@@ -97,8 +97,15 @@ using ::std::nullptr_t;
|
|
|
97
97
|
#undef __need_NULL
|
|
98
98
|
#endif /* defined(__need_NULL) */
|
|
99
99
|
|
|
100
|
+
/* FIXME: This is using the placeholder dates Clang produces for these macros
|
|
101
|
+
in C2x mode; switch to the correct values once they've been published. */
|
|
102
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
103
|
+
typedef typeof(nullptr) nullptr_t;
|
|
104
|
+
#endif /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L */
|
|
105
|
+
|
|
100
106
|
#if defined(__need_STDDEF_H_misc)
|
|
101
|
-
#if __STDC_VERSION__ >= 201112L ||
|
|
107
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
|
|
108
|
+
(defined(__cplusplus) && __cplusplus >= 201103L)
|
|
102
109
|
#include "__stddef_max_align_t.h"
|
|
103
110
|
#endif
|
|
104
111
|
#define offsetof(t, d) __builtin_offsetof(t, d)
|