@cpp-linter/clang-tidy-darwin-x64 17.0.6 → 19.1.0
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 +2 -2
- package/lib/clang/{17 → 19}/include/__clang_cuda_device_functions.h +2 -2
- package/lib/clang/{17 → 19}/include/__clang_cuda_intrinsics.h +1 -3
- package/lib/clang/{17 → 19}/include/__clang_cuda_libdevice_declares.h +2 -2
- package/lib/clang/{17 → 19}/include/__clang_cuda_math.h +2 -2
- package/lib/clang/{17 → 19}/include/__clang_cuda_runtime_wrapper.h +2 -2
- package/lib/clang/{17 → 19}/include/__clang_hip_math.h +192 -171
- package/lib/clang/{17 → 19}/include/__clang_hip_runtime_wrapper.h +34 -26
- package/lib/clang/19/include/__stdarg___gnuc_va_list.h +13 -0
- package/lib/clang/19/include/__stdarg___va_copy.h +12 -0
- package/lib/clang/19/include/__stdarg_header_macro.h +12 -0
- package/lib/clang/19/include/__stdarg_va_arg.h +22 -0
- package/lib/clang/19/include/__stdarg_va_copy.h +12 -0
- package/lib/clang/19/include/__stdarg_va_list.h +13 -0
- package/lib/clang/19/include/__stddef_header_macro.h +12 -0
- package/lib/clang/{17 → 19}/include/__stddef_max_align_t.h +1 -1
- package/lib/clang/19/include/__stddef_null.h +29 -0
- package/lib/clang/19/include/__stddef_nullptr_t.h +29 -0
- package/lib/clang/19/include/__stddef_offsetof.h +17 -0
- package/lib/clang/19/include/__stddef_ptrdiff_t.h +20 -0
- package/lib/clang/19/include/__stddef_rsize_t.h +20 -0
- package/lib/clang/19/include/__stddef_size_t.h +20 -0
- package/lib/clang/19/include/__stddef_unreachable.h +21 -0
- package/lib/clang/19/include/__stddef_wchar_t.h +28 -0
- package/lib/clang/19/include/__stddef_wint_t.h +15 -0
- package/lib/clang/{17/include/adxintrin.h → 19/include/adcintrin.h} +27 -94
- package/lib/clang/19/include/adxintrin.h +102 -0
- package/lib/clang/{17 → 19}/include/altivec.h +31 -12
- package/lib/clang/{17 → 19}/include/ammintrin.h +4 -4
- package/lib/clang/{17 → 19}/include/arm_acle.h +138 -32
- package/lib/clang/{17 → 19}/include/arm_fp16.h +1 -1
- package/lib/clang/{17 → 19}/include/arm_neon.h +43361 -43608
- package/lib/clang/19/include/arm_sme.h +2819 -0
- package/lib/clang/{17 → 19}/include/arm_sve.h +30202 -23615
- package/lib/clang/19/include/arm_vector_types.h +345 -0
- package/lib/clang/{17 → 19}/include/avx2intrin.h +24 -3
- package/lib/clang/{17 → 19}/include/avx512bf16intrin.h +3 -2
- package/lib/clang/{17 → 19}/include/avx512bitalgintrin.h +4 -1
- package/lib/clang/{17 → 19}/include/avx512bwintrin.h +28 -38
- package/lib/clang/{17 → 19}/include/avx512cdintrin.h +3 -1
- package/lib/clang/{17 → 19}/include/avx512dqintrin.h +4 -2
- package/lib/clang/{17 → 19}/include/avx512fintrin.h +7 -3
- package/lib/clang/{17 → 19}/include/avx512fp16intrin.h +44 -42
- package/lib/clang/{17 → 19}/include/avx512ifmaintrin.h +3 -1
- package/lib/clang/{17 → 19}/include/avx512ifmavlintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vbmi2intrin.h +1 -1
- package/lib/clang/{17 → 19}/include/avx512vbmiintrin.h +3 -2
- package/lib/clang/{17 → 19}/include/avx512vbmivlintrin.h +8 -3
- package/lib/clang/{17 → 19}/include/avx512vlbf16intrin.h +8 -6
- package/lib/clang/{17 → 19}/include/avx512vlbitalgintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlbwintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlcdintrin.h +8 -3
- package/lib/clang/{17 → 19}/include/avx512vldqintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlfp16intrin.h +2 -2
- package/lib/clang/{17 → 19}/include/avx512vlintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlvbmi2intrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlvnniintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlvp2intersectintrin.h +6 -4
- package/lib/clang/{17 → 19}/include/avx512vnniintrin.h +3 -2
- package/lib/clang/{17 → 19}/include/avx512vp2intersectintrin.h +3 -2
- package/lib/clang/{17 → 19}/include/avx512vpopcntdqintrin.h +3 -1
- package/lib/clang/{17 → 19}/include/avx512vpopcntdqvlintrin.h +6 -2
- package/lib/clang/{17 → 19}/include/avxintrin.h +67 -49
- package/lib/clang/{17 → 19}/include/bmiintrin.h +233 -50
- package/lib/clang/{17 → 19}/include/builtins.h +3 -0
- package/lib/clang/{17 → 19}/include/cpuid.h +23 -3
- package/lib/clang/{17 → 19}/include/cuda_wrappers/algorithm +1 -1
- package/lib/clang/{17 → 19}/include/emmintrin.h +311 -180
- package/lib/clang/{17 → 19}/include/float.h +28 -0
- package/lib/clang/{17 → 19}/include/fmaintrin.h +32 -16
- package/lib/clang/{17 → 19}/include/gfniintrin.h +23 -6
- package/lib/clang/{17 → 19}/include/hlsl/hlsl_basic_types.h +10 -3
- package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +1697 -0
- package/lib/clang/19/include/ia32intrin.h +863 -0
- package/lib/clang/{17 → 19}/include/immintrin.h +149 -160
- package/lib/clang/{17 → 19}/include/intrin.h +61 -221
- package/lib/clang/19/include/intrin0.h +247 -0
- package/lib/clang/{17 → 19}/include/inttypes.h +4 -0
- package/lib/clang/{17 → 19}/include/iso646.h +4 -0
- package/lib/clang/{17 → 19}/include/keylockerintrin.h +5 -8
- package/lib/clang/{17 → 19}/include/larchintrin.h +13 -1
- package/lib/clang/19/include/lasxintrin.h +3884 -0
- package/lib/clang/{17 → 19}/include/limits.h +7 -4
- package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 19/include/llvm_libc_wrappers/assert.h} +7 -7
- package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/ctype.h +17 -0
- package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +80 -0
- package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/stdlib.h +4 -1
- package/lib/clang/19/include/llvm_libc_wrappers/string.h +96 -0
- package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 19/include/llvm_libc_wrappers/time.h} +9 -12
- package/lib/clang/19/include/lsxintrin.h +3750 -0
- package/lib/clang/19/include/mm3dnow.h +22 -0
- package/lib/clang/{17 → 19}/include/mmintrin.h +83 -89
- package/lib/clang/19/include/module.modulemap +330 -0
- package/lib/clang/{17 → 19}/include/opencl-c-base.h +9 -0
- package/lib/clang/{17 → 19}/include/opencl-c.h +15 -0
- package/lib/clang/{17 → 19}/include/openmp_wrappers/cmath +1 -1
- package/lib/clang/{17 → 19}/include/pmmintrin.h +3 -2
- package/lib/clang/19/include/ppc_wrappers/nmmintrin.h +26 -0
- package/lib/clang/{17 → 19}/include/ppc_wrappers/smmintrin.h +35 -15
- package/lib/clang/{17 → 19}/include/prfchwintrin.h +10 -8
- package/lib/clang/19/include/ptrauth.h +330 -0
- package/lib/clang/19/include/riscv_bitmanip.h +195 -0
- package/lib/clang/19/include/riscv_crypto.h +170 -0
- package/lib/clang/{17 → 19}/include/riscv_ntlh.h +3 -5
- package/lib/clang/{17 → 19}/include/riscv_vector.h +31 -4
- package/lib/clang/19/include/sifive_vector.h +118 -0
- package/lib/clang/{17 → 19}/include/smmintrin.h +15 -15
- package/lib/clang/{17 → 19}/include/stdalign.h +6 -3
- package/lib/clang/19/include/stdarg.h +75 -0
- package/lib/clang/{17 → 19}/include/stdatomic.h +14 -6
- package/lib/clang/{17 → 19}/include/stdbool.h +5 -0
- package/lib/clang/19/include/stdckdint.h +42 -0
- package/lib/clang/19/include/stddef.h +139 -0
- package/lib/clang/{17 → 19}/include/stdint.h +24 -48
- package/lib/clang/{17 → 19}/include/stdnoreturn.h +8 -2
- package/lib/clang/{17 → 19}/include/tmmintrin.h +27 -18
- package/lib/clang/19/include/usermsrintrin.h +51 -0
- package/lib/clang/{17 → 19}/include/vaesintrin.h +4 -2
- package/lib/clang/{17 → 19}/include/varargs.h +5 -1
- package/lib/clang/{17 → 19}/include/vecintrin.h +217 -199
- package/lib/clang/{17 → 19}/include/x86gprintrin.h +10 -12
- package/lib/clang/19/include/x86intrin.h +53 -0
- package/lib/clang/{17 → 19}/include/xmmintrin.h +294 -104
- package/lib/clang/19/include/yvals_core.h +25 -0
- package/lib/clang/19/include/zos_wrappers/builtins.h +18 -0
- package/package.json +6 -6
- package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
- package/lib/clang/17/include/avx512erintrin.h +0 -271
- package/lib/clang/17/include/avx512pfintrin.h +0 -97
- package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +0 -480
- package/lib/clang/17/include/ia32intrin.h +0 -441
- package/lib/clang/17/include/mm3dnow.h +0 -157
- package/lib/clang/17/include/module.modulemap +0 -164
- package/lib/clang/17/include/sifive_vector.h +0 -16
- package/lib/clang/17/include/stdarg.h +0 -51
- package/lib/clang/17/include/stddef.h +0 -133
- package/lib/clang/17/include/x86intrin.h +0 -67
- /package/lib/clang/{17 → 19}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{17 → 19}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{17 → 19}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{17 → 19}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/amxintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm64intr.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_bf16.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_cde.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_cmse.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_mve.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{17 → 19}/include/armintr.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxvnniint16intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/cet.h +0 -0
- /package/lib/clang/{17 → 19}/include/cetintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/clwbintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/clzerointrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/crc32intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{17 → 19}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/f16cintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/fma4intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{17 → 19}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 19}/include/hexagon_types.h +0 -0
- /package/lib/clang/{17 → 19}/include/hlsl.h +0 -0
- /package/lib/clang/{17 → 19}/include/hresetintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/htmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 19}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{17 → 19}/include/lwpintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 19}/include/movdirintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/msa.h +0 -0
- /package/lib/clang/{17 → 19}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/nmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{17 → 19}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/pkuintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/popcntintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/raointintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/rtmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/s390intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/serializeintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/sgxintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/sha512intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/shaintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/sm3intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/sm4intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/tbmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/tgmath.h +0 -0
- /package/lib/clang/{17 → 19}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/uintrintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/unwind.h +0 -0
- /package/lib/clang/{17 → 19}/include/vadefs.h +0 -0
- /package/lib/clang/{17 → 19}/include/velintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{17 → 19}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{17 → 19}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{17 → 19}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/wmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xopintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xtestintrin.h +0 -0
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
#ifndef __INTRIN_H
|
|
16
16
|
#define __INTRIN_H
|
|
17
17
|
|
|
18
|
+
#include <intrin0.h>
|
|
19
|
+
|
|
18
20
|
/* First include the standard intrinsics. */
|
|
19
|
-
#if defined(__i386__) || defined(__x86_64__)
|
|
21
|
+
#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
|
|
20
22
|
#include <x86intrin.h>
|
|
21
23
|
#endif
|
|
22
24
|
|
|
@@ -24,7 +26,7 @@
|
|
|
24
26
|
#include <armintr.h>
|
|
25
27
|
#endif
|
|
26
28
|
|
|
27
|
-
#if defined(__aarch64__)
|
|
29
|
+
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
28
30
|
#include <arm64intr.h>
|
|
29
31
|
#endif
|
|
30
32
|
|
|
@@ -131,8 +133,6 @@ void __writefsqword(unsigned long, unsigned __int64);
|
|
|
131
133
|
void __writefsword(unsigned long, unsigned short);
|
|
132
134
|
void __writemsr(unsigned long, unsigned __int64);
|
|
133
135
|
void *_AddressOfReturnAddress(void);
|
|
134
|
-
unsigned char _BitScanForward(unsigned long *_Index, unsigned long _Mask);
|
|
135
|
-
unsigned char _BitScanReverse(unsigned long *_Index, unsigned long _Mask);
|
|
136
136
|
unsigned char _bittest(long const *, long);
|
|
137
137
|
unsigned char _bittestandcomplement(long *, long);
|
|
138
138
|
unsigned char _bittestandreset(long *, long);
|
|
@@ -151,7 +151,6 @@ long _InterlockedExchangeAdd_HLERelease(long volatile *, long);
|
|
|
151
151
|
__int64 _InterlockedExchangeAdd64_HLEAcquire(__int64 volatile *, __int64);
|
|
152
152
|
__int64 _InterlockedExchangeAdd64_HLERelease(__int64 volatile *, __int64);
|
|
153
153
|
void _ReadBarrier(void);
|
|
154
|
-
void _ReadWriteBarrier(void);
|
|
155
154
|
unsigned int _rorx_u32(unsigned int, const unsigned int);
|
|
156
155
|
int _sarx_i32(int, unsigned int);
|
|
157
156
|
#if __STDC_HOSTED__
|
|
@@ -167,7 +166,7 @@ unsigned __int32 xbegin(void);
|
|
|
167
166
|
void _xend(void);
|
|
168
167
|
|
|
169
168
|
/* These additional intrinsics are turned on in x64/amd64/x86_64 mode. */
|
|
170
|
-
#
|
|
169
|
+
#if defined(__x86_64__) && !defined(__arm64ec__)
|
|
171
170
|
void __addgsbyte(unsigned long, unsigned char);
|
|
172
171
|
void __addgsdword(unsigned long, unsigned long);
|
|
173
172
|
void __addgsqword(unsigned long, unsigned __int64);
|
|
@@ -182,12 +181,6 @@ unsigned char __readgsbyte(unsigned long);
|
|
|
182
181
|
unsigned long __readgsdword(unsigned long);
|
|
183
182
|
unsigned __int64 __readgsqword(unsigned long);
|
|
184
183
|
unsigned short __readgsword(unsigned long);
|
|
185
|
-
unsigned __int64 __shiftleft128(unsigned __int64 _LowPart,
|
|
186
|
-
unsigned __int64 _HighPart,
|
|
187
|
-
unsigned char _Shift);
|
|
188
|
-
unsigned __int64 __shiftright128(unsigned __int64 _LowPart,
|
|
189
|
-
unsigned __int64 _HighPart,
|
|
190
|
-
unsigned char _Shift);
|
|
191
184
|
void __stosq(unsigned __int64 *, unsigned __int64, size_t);
|
|
192
185
|
unsigned char __vmx_on(unsigned __int64 *);
|
|
193
186
|
unsigned char __vmx_vmclear(unsigned __int64 *);
|
|
@@ -236,216 +229,15 @@ unsigned __int64 _shlx_u64(unsigned __int64, unsigned int);
|
|
|
236
229
|
unsigned __int64 _shrx_u64(unsigned __int64, unsigned int);
|
|
237
230
|
__int64 __mulh(__int64, __int64);
|
|
238
231
|
unsigned __int64 __umulh(unsigned __int64, unsigned __int64);
|
|
239
|
-
__int64 _mul128(__int64, __int64, __int64*);
|
|
240
|
-
unsigned __int64 _umul128(unsigned __int64,
|
|
241
|
-
unsigned __int64,
|
|
242
|
-
unsigned __int64*);
|
|
232
|
+
__int64 _mul128(__int64, __int64, __int64 *);
|
|
243
233
|
|
|
244
234
|
#endif /* __x86_64__ */
|
|
245
235
|
|
|
246
|
-
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
|
|
247
|
-
|
|
248
|
-
unsigned char _BitScanForward64(unsigned long *_Index, unsigned __int64 _Mask);
|
|
249
|
-
unsigned char _BitScanReverse64(unsigned long *_Index, unsigned __int64 _Mask);
|
|
250
|
-
|
|
251
|
-
#endif
|
|
252
|
-
|
|
253
|
-
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
|
|
254
|
-
__int64 _InterlockedDecrement64(__int64 volatile *_Addend);
|
|
255
|
-
__int64 _InterlockedExchange64(__int64 volatile *_Target, __int64 _Value);
|
|
256
|
-
__int64 _InterlockedExchangeAdd64(__int64 volatile *_Addend, __int64 _Value);
|
|
257
|
-
__int64 _InterlockedExchangeSub64(__int64 volatile *_Subend, __int64 _Value);
|
|
258
|
-
__int64 _InterlockedIncrement64(__int64 volatile *_Addend);
|
|
259
|
-
__int64 _InterlockedOr64(__int64 volatile *_Value, __int64 _Mask);
|
|
260
|
-
__int64 _InterlockedXor64(__int64 volatile *_Value, __int64 _Mask);
|
|
261
|
-
__int64 _InterlockedAnd64(__int64 volatile *_Value, __int64 _Mask);
|
|
262
|
-
|
|
263
|
-
#endif
|
|
264
|
-
|
|
265
|
-
/*----------------------------------------------------------------------------*\
|
|
266
|
-
|* Interlocked Exchange Add
|
|
267
|
-
\*----------------------------------------------------------------------------*/
|
|
268
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
269
|
-
char _InterlockedExchangeAdd8_acq(char volatile *_Addend, char _Value);
|
|
270
|
-
char _InterlockedExchangeAdd8_nf(char volatile *_Addend, char _Value);
|
|
271
|
-
char _InterlockedExchangeAdd8_rel(char volatile *_Addend, char _Value);
|
|
272
|
-
short _InterlockedExchangeAdd16_acq(short volatile *_Addend, short _Value);
|
|
273
|
-
short _InterlockedExchangeAdd16_nf(short volatile *_Addend, short _Value);
|
|
274
|
-
short _InterlockedExchangeAdd16_rel(short volatile *_Addend, short _Value);
|
|
275
|
-
long _InterlockedExchangeAdd_acq(long volatile *_Addend, long _Value);
|
|
276
|
-
long _InterlockedExchangeAdd_nf(long volatile *_Addend, long _Value);
|
|
277
|
-
long _InterlockedExchangeAdd_rel(long volatile *_Addend, long _Value);
|
|
278
|
-
__int64 _InterlockedExchangeAdd64_acq(__int64 volatile *_Addend, __int64 _Value);
|
|
279
|
-
__int64 _InterlockedExchangeAdd64_nf(__int64 volatile *_Addend, __int64 _Value);
|
|
280
|
-
__int64 _InterlockedExchangeAdd64_rel(__int64 volatile *_Addend, __int64 _Value);
|
|
281
|
-
#endif
|
|
282
|
-
/*----------------------------------------------------------------------------*\
|
|
283
|
-
|* Interlocked Increment
|
|
284
|
-
\*----------------------------------------------------------------------------*/
|
|
285
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
286
|
-
short _InterlockedIncrement16_acq(short volatile *_Value);
|
|
287
|
-
short _InterlockedIncrement16_nf(short volatile *_Value);
|
|
288
|
-
short _InterlockedIncrement16_rel(short volatile *_Value);
|
|
289
|
-
long _InterlockedIncrement_acq(long volatile *_Value);
|
|
290
|
-
long _InterlockedIncrement_nf(long volatile *_Value);
|
|
291
|
-
long _InterlockedIncrement_rel(long volatile *_Value);
|
|
292
|
-
__int64 _InterlockedIncrement64_acq(__int64 volatile *_Value);
|
|
293
|
-
__int64 _InterlockedIncrement64_nf(__int64 volatile *_Value);
|
|
294
|
-
__int64 _InterlockedIncrement64_rel(__int64 volatile *_Value);
|
|
295
|
-
#endif
|
|
296
|
-
/*----------------------------------------------------------------------------*\
|
|
297
|
-
|* Interlocked Decrement
|
|
298
|
-
\*----------------------------------------------------------------------------*/
|
|
299
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
300
|
-
short _InterlockedDecrement16_acq(short volatile *_Value);
|
|
301
|
-
short _InterlockedDecrement16_nf(short volatile *_Value);
|
|
302
|
-
short _InterlockedDecrement16_rel(short volatile *_Value);
|
|
303
|
-
long _InterlockedDecrement_acq(long volatile *_Value);
|
|
304
|
-
long _InterlockedDecrement_nf(long volatile *_Value);
|
|
305
|
-
long _InterlockedDecrement_rel(long volatile *_Value);
|
|
306
|
-
__int64 _InterlockedDecrement64_acq(__int64 volatile *_Value);
|
|
307
|
-
__int64 _InterlockedDecrement64_nf(__int64 volatile *_Value);
|
|
308
|
-
__int64 _InterlockedDecrement64_rel(__int64 volatile *_Value);
|
|
309
|
-
#endif
|
|
310
|
-
/*----------------------------------------------------------------------------*\
|
|
311
|
-
|* Interlocked And
|
|
312
|
-
\*----------------------------------------------------------------------------*/
|
|
313
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
314
|
-
char _InterlockedAnd8_acq(char volatile *_Value, char _Mask);
|
|
315
|
-
char _InterlockedAnd8_nf(char volatile *_Value, char _Mask);
|
|
316
|
-
char _InterlockedAnd8_rel(char volatile *_Value, char _Mask);
|
|
317
|
-
short _InterlockedAnd16_acq(short volatile *_Value, short _Mask);
|
|
318
|
-
short _InterlockedAnd16_nf(short volatile *_Value, short _Mask);
|
|
319
|
-
short _InterlockedAnd16_rel(short volatile *_Value, short _Mask);
|
|
320
|
-
long _InterlockedAnd_acq(long volatile *_Value, long _Mask);
|
|
321
|
-
long _InterlockedAnd_nf(long volatile *_Value, long _Mask);
|
|
322
|
-
long _InterlockedAnd_rel(long volatile *_Value, long _Mask);
|
|
323
|
-
__int64 _InterlockedAnd64_acq(__int64 volatile *_Value, __int64 _Mask);
|
|
324
|
-
__int64 _InterlockedAnd64_nf(__int64 volatile *_Value, __int64 _Mask);
|
|
325
|
-
__int64 _InterlockedAnd64_rel(__int64 volatile *_Value, __int64 _Mask);
|
|
326
|
-
#endif
|
|
327
|
-
/*----------------------------------------------------------------------------*\
|
|
328
|
-
|* Bit Counting and Testing
|
|
329
|
-
\*----------------------------------------------------------------------------*/
|
|
330
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
331
|
-
unsigned char _interlockedbittestandset_acq(long volatile *_BitBase,
|
|
332
|
-
long _BitPos);
|
|
333
|
-
unsigned char _interlockedbittestandset_nf(long volatile *_BitBase,
|
|
334
|
-
long _BitPos);
|
|
335
|
-
unsigned char _interlockedbittestandset_rel(long volatile *_BitBase,
|
|
336
|
-
long _BitPos);
|
|
337
|
-
unsigned char _interlockedbittestandreset_acq(long volatile *_BitBase,
|
|
338
|
-
long _BitPos);
|
|
339
|
-
unsigned char _interlockedbittestandreset_nf(long volatile *_BitBase,
|
|
340
|
-
long _BitPos);
|
|
341
|
-
unsigned char _interlockedbittestandreset_rel(long volatile *_BitBase,
|
|
342
|
-
long _BitPos);
|
|
343
|
-
#endif
|
|
344
|
-
/*----------------------------------------------------------------------------*\
|
|
345
|
-
|* Interlocked Or
|
|
346
|
-
\*----------------------------------------------------------------------------*/
|
|
347
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
348
|
-
char _InterlockedOr8_acq(char volatile *_Value, char _Mask);
|
|
349
|
-
char _InterlockedOr8_nf(char volatile *_Value, char _Mask);
|
|
350
|
-
char _InterlockedOr8_rel(char volatile *_Value, char _Mask);
|
|
351
|
-
short _InterlockedOr16_acq(short volatile *_Value, short _Mask);
|
|
352
|
-
short _InterlockedOr16_nf(short volatile *_Value, short _Mask);
|
|
353
|
-
short _InterlockedOr16_rel(short volatile *_Value, short _Mask);
|
|
354
|
-
long _InterlockedOr_acq(long volatile *_Value, long _Mask);
|
|
355
|
-
long _InterlockedOr_nf(long volatile *_Value, long _Mask);
|
|
356
|
-
long _InterlockedOr_rel(long volatile *_Value, long _Mask);
|
|
357
|
-
__int64 _InterlockedOr64_acq(__int64 volatile *_Value, __int64 _Mask);
|
|
358
|
-
__int64 _InterlockedOr64_nf(__int64 volatile *_Value, __int64 _Mask);
|
|
359
|
-
__int64 _InterlockedOr64_rel(__int64 volatile *_Value, __int64 _Mask);
|
|
360
|
-
#endif
|
|
361
|
-
/*----------------------------------------------------------------------------*\
|
|
362
|
-
|* Interlocked Xor
|
|
363
|
-
\*----------------------------------------------------------------------------*/
|
|
364
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
365
|
-
char _InterlockedXor8_acq(char volatile *_Value, char _Mask);
|
|
366
|
-
char _InterlockedXor8_nf(char volatile *_Value, char _Mask);
|
|
367
|
-
char _InterlockedXor8_rel(char volatile *_Value, char _Mask);
|
|
368
|
-
short _InterlockedXor16_acq(short volatile *_Value, short _Mask);
|
|
369
|
-
short _InterlockedXor16_nf(short volatile *_Value, short _Mask);
|
|
370
|
-
short _InterlockedXor16_rel(short volatile *_Value, short _Mask);
|
|
371
|
-
long _InterlockedXor_acq(long volatile *_Value, long _Mask);
|
|
372
|
-
long _InterlockedXor_nf(long volatile *_Value, long _Mask);
|
|
373
|
-
long _InterlockedXor_rel(long volatile *_Value, long _Mask);
|
|
374
|
-
__int64 _InterlockedXor64_acq(__int64 volatile *_Value, __int64 _Mask);
|
|
375
|
-
__int64 _InterlockedXor64_nf(__int64 volatile *_Value, __int64 _Mask);
|
|
376
|
-
__int64 _InterlockedXor64_rel(__int64 volatile *_Value, __int64 _Mask);
|
|
377
|
-
#endif
|
|
378
|
-
/*----------------------------------------------------------------------------*\
|
|
379
|
-
|* Interlocked Exchange
|
|
380
|
-
\*----------------------------------------------------------------------------*/
|
|
381
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
382
|
-
char _InterlockedExchange8_acq(char volatile *_Target, char _Value);
|
|
383
|
-
char _InterlockedExchange8_nf(char volatile *_Target, char _Value);
|
|
384
|
-
char _InterlockedExchange8_rel(char volatile *_Target, char _Value);
|
|
385
|
-
short _InterlockedExchange16_acq(short volatile *_Target, short _Value);
|
|
386
|
-
short _InterlockedExchange16_nf(short volatile *_Target, short _Value);
|
|
387
|
-
short _InterlockedExchange16_rel(short volatile *_Target, short _Value);
|
|
388
|
-
long _InterlockedExchange_acq(long volatile *_Target, long _Value);
|
|
389
|
-
long _InterlockedExchange_nf(long volatile *_Target, long _Value);
|
|
390
|
-
long _InterlockedExchange_rel(long volatile *_Target, long _Value);
|
|
391
|
-
__int64 _InterlockedExchange64_acq(__int64 volatile *_Target, __int64 _Value);
|
|
392
|
-
__int64 _InterlockedExchange64_nf(__int64 volatile *_Target, __int64 _Value);
|
|
393
|
-
__int64 _InterlockedExchange64_rel(__int64 volatile *_Target, __int64 _Value);
|
|
394
|
-
#endif
|
|
395
|
-
/*----------------------------------------------------------------------------*\
|
|
396
|
-
|* Interlocked Compare Exchange
|
|
397
|
-
\*----------------------------------------------------------------------------*/
|
|
398
|
-
#if defined(__arm__) || defined(__aarch64__)
|
|
399
|
-
char _InterlockedCompareExchange8_acq(char volatile *_Destination,
|
|
400
|
-
char _Exchange, char _Comparand);
|
|
401
|
-
char _InterlockedCompareExchange8_nf(char volatile *_Destination,
|
|
402
|
-
char _Exchange, char _Comparand);
|
|
403
|
-
char _InterlockedCompareExchange8_rel(char volatile *_Destination,
|
|
404
|
-
char _Exchange, char _Comparand);
|
|
405
|
-
short _InterlockedCompareExchange16_acq(short volatile *_Destination,
|
|
406
|
-
short _Exchange, short _Comparand);
|
|
407
|
-
short _InterlockedCompareExchange16_nf(short volatile *_Destination,
|
|
408
|
-
short _Exchange, short _Comparand);
|
|
409
|
-
short _InterlockedCompareExchange16_rel(short volatile *_Destination,
|
|
410
|
-
short _Exchange, short _Comparand);
|
|
411
|
-
long _InterlockedCompareExchange_acq(long volatile *_Destination,
|
|
412
|
-
long _Exchange, long _Comparand);
|
|
413
|
-
long _InterlockedCompareExchange_nf(long volatile *_Destination,
|
|
414
|
-
long _Exchange, long _Comparand);
|
|
415
|
-
long _InterlockedCompareExchange_rel(long volatile *_Destination,
|
|
416
|
-
long _Exchange, long _Comparand);
|
|
417
|
-
__int64 _InterlockedCompareExchange64_acq(__int64 volatile *_Destination,
|
|
418
|
-
__int64 _Exchange, __int64 _Comparand);
|
|
419
|
-
__int64 _InterlockedCompareExchange64_nf(__int64 volatile *_Destination,
|
|
420
|
-
__int64 _Exchange, __int64 _Comparand);
|
|
421
|
-
__int64 _InterlockedCompareExchange64_rel(__int64 volatile *_Destination,
|
|
422
|
-
__int64 _Exchange, __int64 _Comparand);
|
|
423
|
-
#endif
|
|
424
|
-
#if defined(__x86_64__) || defined(__aarch64__)
|
|
425
|
-
unsigned char _InterlockedCompareExchange128(__int64 volatile *_Destination,
|
|
426
|
-
__int64 _ExchangeHigh,
|
|
427
|
-
__int64 _ExchangeLow,
|
|
428
|
-
__int64 *_ComparandResult);
|
|
429
|
-
#endif
|
|
430
|
-
#if defined(__aarch64__)
|
|
431
|
-
unsigned char _InterlockedCompareExchange128_acq(__int64 volatile *_Destination,
|
|
432
|
-
__int64 _ExchangeHigh,
|
|
433
|
-
__int64 _ExchangeLow,
|
|
434
|
-
__int64 *_ComparandResult);
|
|
435
|
-
unsigned char _InterlockedCompareExchange128_nf(__int64 volatile *_Destination,
|
|
436
|
-
__int64 _ExchangeHigh,
|
|
437
|
-
__int64 _ExchangeLow,
|
|
438
|
-
__int64 *_ComparandResult);
|
|
439
|
-
unsigned char _InterlockedCompareExchange128_rel(__int64 volatile *_Destination,
|
|
440
|
-
__int64 _ExchangeHigh,
|
|
441
|
-
__int64 _ExchangeLow,
|
|
442
|
-
__int64 *_ComparandResult);
|
|
443
|
-
#endif
|
|
444
|
-
|
|
445
236
|
/*----------------------------------------------------------------------------*\
|
|
446
237
|
|* movs, stos
|
|
447
238
|
\*----------------------------------------------------------------------------*/
|
|
448
|
-
|
|
239
|
+
|
|
240
|
+
#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
|
|
449
241
|
static __inline__ void __DEFAULT_FN_ATTRS __movsb(unsigned char *__dst,
|
|
450
242
|
unsigned char const *__src,
|
|
451
243
|
size_t __n) {
|
|
@@ -514,7 +306,7 @@ static __inline__ void __DEFAULT_FN_ATTRS __stosw(unsigned short *__dst,
|
|
|
514
306
|
: "memory");
|
|
515
307
|
}
|
|
516
308
|
#endif
|
|
517
|
-
#
|
|
309
|
+
#if defined(__x86_64__) && !defined(__arm64ec__)
|
|
518
310
|
static __inline__ void __DEFAULT_FN_ATTRS __movsq(
|
|
519
311
|
unsigned long long *__dst, unsigned long long const *__src, size_t __n) {
|
|
520
312
|
__asm__ __volatile__("rep movsq"
|
|
@@ -533,10 +325,40 @@ static __inline__ void __DEFAULT_FN_ATTRS __stosq(unsigned __int64 *__dst,
|
|
|
533
325
|
/*----------------------------------------------------------------------------*\
|
|
534
326
|
|* Misc
|
|
535
327
|
\*----------------------------------------------------------------------------*/
|
|
536
|
-
#if defined(__i386__) || defined(__x86_64__)
|
|
328
|
+
#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
|
|
537
329
|
static __inline__ void __DEFAULT_FN_ATTRS __halt(void) {
|
|
538
330
|
__asm__ volatile("hlt");
|
|
539
331
|
}
|
|
332
|
+
|
|
333
|
+
static inline unsigned char __inbyte(unsigned short port) {
|
|
334
|
+
unsigned char ret;
|
|
335
|
+
__asm__ __volatile__("inb %w1, %b0" : "=a"(ret) : "Nd"(port));
|
|
336
|
+
return ret;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
static inline unsigned short __inword(unsigned short port) {
|
|
340
|
+
unsigned short ret;
|
|
341
|
+
__asm__ __volatile__("inw %w1, %w0" : "=a"(ret) : "Nd"(port));
|
|
342
|
+
return ret;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
static inline unsigned long __indword(unsigned short port) {
|
|
346
|
+
unsigned long ret;
|
|
347
|
+
__asm__ __volatile__("inl %w1, %k0" : "=a"(ret) : "Nd"(port));
|
|
348
|
+
return ret;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
static inline void __outbyte(unsigned short port, unsigned char data) {
|
|
352
|
+
__asm__ __volatile__("outb %b0, %w1" : : "a"(data), "Nd"(port));
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
static inline void __outword(unsigned short port, unsigned short data) {
|
|
356
|
+
__asm__ __volatile__("outw %w0, %w1" : : "a"(data), "Nd"(port));
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
static inline void __outdword(unsigned short port, unsigned long data) {
|
|
360
|
+
__asm__ __volatile__("outl %k0, %w1" : : "a"(data), "Nd"(port));
|
|
361
|
+
}
|
|
540
362
|
#endif
|
|
541
363
|
|
|
542
364
|
#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__)
|
|
@@ -548,9 +370,10 @@ static __inline__ void __DEFAULT_FN_ATTRS __nop(void) {
|
|
|
548
370
|
/*----------------------------------------------------------------------------*\
|
|
549
371
|
|* MS AArch64 specific
|
|
550
372
|
\*----------------------------------------------------------------------------*/
|
|
551
|
-
#if defined(__aarch64__)
|
|
373
|
+
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
552
374
|
unsigned __int64 __getReg(int);
|
|
553
375
|
long _InterlockedAdd(long volatile *Addend, long Value);
|
|
376
|
+
__int64 _InterlockedAdd64(__int64 volatile *Addend, __int64 Value);
|
|
554
377
|
__int64 _ReadStatusReg(int);
|
|
555
378
|
void _WriteStatusReg(int, __int64);
|
|
556
379
|
|
|
@@ -572,12 +395,29 @@ unsigned char __readx18byte(unsigned long offset);
|
|
|
572
395
|
unsigned short __readx18word(unsigned long offset);
|
|
573
396
|
unsigned long __readx18dword(unsigned long offset);
|
|
574
397
|
unsigned __int64 __readx18qword(unsigned long offset);
|
|
398
|
+
|
|
399
|
+
double _CopyDoubleFromInt64(__int64);
|
|
400
|
+
float _CopyFloatFromInt32(__int32);
|
|
401
|
+
__int32 _CopyInt32FromFloat(float);
|
|
402
|
+
__int64 _CopyInt64FromDouble(double);
|
|
403
|
+
|
|
404
|
+
unsigned int _CountLeadingOnes(unsigned long);
|
|
405
|
+
unsigned int _CountLeadingOnes64(unsigned __int64);
|
|
406
|
+
unsigned int _CountLeadingSigns(long);
|
|
407
|
+
unsigned int _CountLeadingSigns64(__int64);
|
|
408
|
+
unsigned int _CountOneBits(unsigned long);
|
|
409
|
+
unsigned int _CountOneBits64(unsigned __int64);
|
|
410
|
+
|
|
411
|
+
unsigned int __hlt(unsigned int, ...);
|
|
412
|
+
|
|
413
|
+
void __cdecl __prefetch(const void *);
|
|
414
|
+
|
|
575
415
|
#endif
|
|
576
416
|
|
|
577
417
|
/*----------------------------------------------------------------------------*\
|
|
578
418
|
|* Privileged intrinsics
|
|
579
419
|
\*----------------------------------------------------------------------------*/
|
|
580
|
-
#if defined(__i386__) || defined(__x86_64__)
|
|
420
|
+
#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
|
|
581
421
|
static __inline__ unsigned __int64 __DEFAULT_FN_ATTRS
|
|
582
422
|
__readmsr(unsigned long __register) {
|
|
583
423
|
// Loads the contents of a 64-bit model specific register (MSR) specified in
|
|
@@ -591,7 +431,6 @@ __readmsr(unsigned long __register) {
|
|
|
591
431
|
__asm__ ("rdmsr" : "=d"(__edx), "=a"(__eax) : "c"(__register));
|
|
592
432
|
return (((unsigned __int64)__edx) << 32) | (unsigned __int64)__eax;
|
|
593
433
|
}
|
|
594
|
-
#endif
|
|
595
434
|
|
|
596
435
|
static __inline__ unsigned __LPTRINT_TYPE__ __DEFAULT_FN_ATTRS __readcr3(void) {
|
|
597
436
|
unsigned __LPTRINT_TYPE__ __cr3_val;
|
|
@@ -607,6 +446,7 @@ static __inline__ void __DEFAULT_FN_ATTRS
|
|
|
607
446
|
__writecr3(unsigned __INTPTR_TYPE__ __cr3_val) {
|
|
608
447
|
__asm__ ("mov {%0, %%cr3|cr3, %0}" : : "r"(__cr3_val) : "memory");
|
|
609
448
|
}
|
|
449
|
+
#endif
|
|
610
450
|
|
|
611
451
|
#ifdef __cplusplus
|
|
612
452
|
}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/* ===-------- intrin.h ---------------------------------------------------===
|
|
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
|
+
/* Only include this if we're compiling for the windows platform. */
|
|
11
|
+
#ifndef _MSC_VER
|
|
12
|
+
#include_next <intrin0.h>
|
|
13
|
+
#else
|
|
14
|
+
|
|
15
|
+
#ifndef __INTRIN0_H
|
|
16
|
+
#define __INTRIN0_H
|
|
17
|
+
|
|
18
|
+
#if defined(__x86_64__) && !defined(__arm64ec__)
|
|
19
|
+
#include <adcintrin.h>
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
#ifdef __cplusplus
|
|
23
|
+
extern "C" {
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
unsigned char _BitScanForward(unsigned long *_Index, unsigned long _Mask);
|
|
27
|
+
unsigned char _BitScanReverse(unsigned long *_Index, unsigned long _Mask);
|
|
28
|
+
void _ReadWriteBarrier(void);
|
|
29
|
+
|
|
30
|
+
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
31
|
+
unsigned int _CountLeadingZeros(unsigned long);
|
|
32
|
+
unsigned int _CountLeadingZeros64(unsigned _int64);
|
|
33
|
+
unsigned char _InterlockedCompareExchange128_acq(__int64 volatile *_Destination,
|
|
34
|
+
__int64 _ExchangeHigh,
|
|
35
|
+
__int64 _ExchangeLow,
|
|
36
|
+
__int64 *_ComparandResult);
|
|
37
|
+
unsigned char _InterlockedCompareExchange128_nf(__int64 volatile *_Destination,
|
|
38
|
+
__int64 _ExchangeHigh,
|
|
39
|
+
__int64 _ExchangeLow,
|
|
40
|
+
__int64 *_ComparandResult);
|
|
41
|
+
unsigned char _InterlockedCompareExchange128_rel(__int64 volatile *_Destination,
|
|
42
|
+
__int64 _ExchangeHigh,
|
|
43
|
+
__int64 _ExchangeLow,
|
|
44
|
+
__int64 *_ComparandResult);
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
#ifdef __x86_64__ && !defined(__arm64ec__)
|
|
48
|
+
unsigned __int64 _umul128(unsigned __int64, unsigned __int64,
|
|
49
|
+
unsigned __int64 *);
|
|
50
|
+
unsigned __int64 __shiftleft128(unsigned __int64 _LowPart,
|
|
51
|
+
unsigned __int64 _HighPart,
|
|
52
|
+
unsigned char _Shift);
|
|
53
|
+
unsigned __int64 __shiftright128(unsigned __int64 _LowPart,
|
|
54
|
+
unsigned __int64 _HighPart,
|
|
55
|
+
unsigned char _Shift);
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
|
|
59
|
+
void _mm_pause(void);
|
|
60
|
+
#endif
|
|
61
|
+
|
|
62
|
+
#if defined(__x86_64__) || defined(__aarch64__)
|
|
63
|
+
unsigned char _InterlockedCompareExchange128(__int64 volatile *_Destination,
|
|
64
|
+
__int64 _ExchangeHigh,
|
|
65
|
+
__int64 _ExchangeLow,
|
|
66
|
+
__int64 *_ComparandResult);
|
|
67
|
+
#endif
|
|
68
|
+
|
|
69
|
+
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
|
|
70
|
+
unsigned char _BitScanForward64(unsigned long *_Index, unsigned __int64 _Mask);
|
|
71
|
+
unsigned char _BitScanReverse64(unsigned long *_Index, unsigned __int64 _Mask);
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
|
|
75
|
+
defined(__aarch64__)
|
|
76
|
+
__int64 _InterlockedDecrement64(__int64 volatile *_Addend);
|
|
77
|
+
__int64 _InterlockedExchange64(__int64 volatile *_Target, __int64 _Value);
|
|
78
|
+
__int64 _InterlockedExchangeAdd64(__int64 volatile *_Addend, __int64 _Value);
|
|
79
|
+
__int64 _InterlockedExchangeSub64(__int64 volatile *_Subend, __int64 _Value);
|
|
80
|
+
__int64 _InterlockedIncrement64(__int64 volatile *_Addend);
|
|
81
|
+
__int64 _InterlockedOr64(__int64 volatile *_Value, __int64 _Mask);
|
|
82
|
+
__int64 _InterlockedXor64(__int64 volatile *_Value, __int64 _Mask);
|
|
83
|
+
__int64 _InterlockedAnd64(__int64 volatile *_Value, __int64 _Mask);
|
|
84
|
+
#endif
|
|
85
|
+
|
|
86
|
+
#if defined(__arm__) || defined(__aarch64__) || defined(__arm64ec__)
|
|
87
|
+
/*----------------------------------------------------------------------------*\
|
|
88
|
+
|* Interlocked Exchange Add
|
|
89
|
+
\*----------------------------------------------------------------------------*/
|
|
90
|
+
char _InterlockedExchangeAdd8_acq(char volatile *_Addend, char _Value);
|
|
91
|
+
char _InterlockedExchangeAdd8_nf(char volatile *_Addend, char _Value);
|
|
92
|
+
char _InterlockedExchangeAdd8_rel(char volatile *_Addend, char _Value);
|
|
93
|
+
short _InterlockedExchangeAdd16_acq(short volatile *_Addend, short _Value);
|
|
94
|
+
short _InterlockedExchangeAdd16_nf(short volatile *_Addend, short _Value);
|
|
95
|
+
short _InterlockedExchangeAdd16_rel(short volatile *_Addend, short _Value);
|
|
96
|
+
long _InterlockedExchangeAdd_acq(long volatile *_Addend, long _Value);
|
|
97
|
+
long _InterlockedExchangeAdd_nf(long volatile *_Addend, long _Value);
|
|
98
|
+
long _InterlockedExchangeAdd_rel(long volatile *_Addend, long _Value);
|
|
99
|
+
__int64 _InterlockedExchangeAdd64_acq(__int64 volatile *_Addend,
|
|
100
|
+
__int64 _Value);
|
|
101
|
+
__int64 _InterlockedExchangeAdd64_nf(__int64 volatile *_Addend, __int64 _Value);
|
|
102
|
+
__int64 _InterlockedExchangeAdd64_rel(__int64 volatile *_Addend,
|
|
103
|
+
__int64 _Value);
|
|
104
|
+
|
|
105
|
+
/*----------------------------------------------------------------------------*\
|
|
106
|
+
|* Interlocked Increment
|
|
107
|
+
\*----------------------------------------------------------------------------*/
|
|
108
|
+
short _InterlockedIncrement16_acq(short volatile *_Value);
|
|
109
|
+
short _InterlockedIncrement16_nf(short volatile *_Value);
|
|
110
|
+
short _InterlockedIncrement16_rel(short volatile *_Value);
|
|
111
|
+
long _InterlockedIncrement_acq(long volatile *_Value);
|
|
112
|
+
long _InterlockedIncrement_nf(long volatile *_Value);
|
|
113
|
+
long _InterlockedIncrement_rel(long volatile *_Value);
|
|
114
|
+
__int64 _InterlockedIncrement64_acq(__int64 volatile *_Value);
|
|
115
|
+
__int64 _InterlockedIncrement64_nf(__int64 volatile *_Value);
|
|
116
|
+
__int64 _InterlockedIncrement64_rel(__int64 volatile *_Value);
|
|
117
|
+
|
|
118
|
+
/*----------------------------------------------------------------------------*\
|
|
119
|
+
|* Interlocked Decrement
|
|
120
|
+
\*----------------------------------------------------------------------------*/
|
|
121
|
+
short _InterlockedDecrement16_acq(short volatile *_Value);
|
|
122
|
+
short _InterlockedDecrement16_nf(short volatile *_Value);
|
|
123
|
+
short _InterlockedDecrement16_rel(short volatile *_Value);
|
|
124
|
+
long _InterlockedDecrement_acq(long volatile *_Value);
|
|
125
|
+
long _InterlockedDecrement_nf(long volatile *_Value);
|
|
126
|
+
long _InterlockedDecrement_rel(long volatile *_Value);
|
|
127
|
+
__int64 _InterlockedDecrement64_acq(__int64 volatile *_Value);
|
|
128
|
+
__int64 _InterlockedDecrement64_nf(__int64 volatile *_Value);
|
|
129
|
+
__int64 _InterlockedDecrement64_rel(__int64 volatile *_Value);
|
|
130
|
+
|
|
131
|
+
/*----------------------------------------------------------------------------*\
|
|
132
|
+
|* Interlocked And
|
|
133
|
+
\*----------------------------------------------------------------------------*/
|
|
134
|
+
char _InterlockedAnd8_acq(char volatile *_Value, char _Mask);
|
|
135
|
+
char _InterlockedAnd8_nf(char volatile *_Value, char _Mask);
|
|
136
|
+
char _InterlockedAnd8_rel(char volatile *_Value, char _Mask);
|
|
137
|
+
short _InterlockedAnd16_acq(short volatile *_Value, short _Mask);
|
|
138
|
+
short _InterlockedAnd16_nf(short volatile *_Value, short _Mask);
|
|
139
|
+
short _InterlockedAnd16_rel(short volatile *_Value, short _Mask);
|
|
140
|
+
long _InterlockedAnd_acq(long volatile *_Value, long _Mask);
|
|
141
|
+
long _InterlockedAnd_nf(long volatile *_Value, long _Mask);
|
|
142
|
+
long _InterlockedAnd_rel(long volatile *_Value, long _Mask);
|
|
143
|
+
__int64 _InterlockedAnd64_acq(__int64 volatile *_Value, __int64 _Mask);
|
|
144
|
+
__int64 _InterlockedAnd64_nf(__int64 volatile *_Value, __int64 _Mask);
|
|
145
|
+
__int64 _InterlockedAnd64_rel(__int64 volatile *_Value, __int64 _Mask);
|
|
146
|
+
|
|
147
|
+
/*----------------------------------------------------------------------------*\
|
|
148
|
+
|* Bit Counting and Testing
|
|
149
|
+
\*----------------------------------------------------------------------------*/
|
|
150
|
+
unsigned char _interlockedbittestandset_acq(long volatile *_BitBase,
|
|
151
|
+
long _BitPos);
|
|
152
|
+
unsigned char _interlockedbittestandset_nf(long volatile *_BitBase,
|
|
153
|
+
long _BitPos);
|
|
154
|
+
unsigned char _interlockedbittestandset_rel(long volatile *_BitBase,
|
|
155
|
+
long _BitPos);
|
|
156
|
+
unsigned char _interlockedbittestandreset_acq(long volatile *_BitBase,
|
|
157
|
+
long _BitPos);
|
|
158
|
+
unsigned char _interlockedbittestandreset_nf(long volatile *_BitBase,
|
|
159
|
+
long _BitPos);
|
|
160
|
+
unsigned char _interlockedbittestandreset_rel(long volatile *_BitBase,
|
|
161
|
+
long _BitPos);
|
|
162
|
+
|
|
163
|
+
/*----------------------------------------------------------------------------*\
|
|
164
|
+
|* Interlocked Or
|
|
165
|
+
\*----------------------------------------------------------------------------*/
|
|
166
|
+
char _InterlockedOr8_acq(char volatile *_Value, char _Mask);
|
|
167
|
+
char _InterlockedOr8_nf(char volatile *_Value, char _Mask);
|
|
168
|
+
char _InterlockedOr8_rel(char volatile *_Value, char _Mask);
|
|
169
|
+
short _InterlockedOr16_acq(short volatile *_Value, short _Mask);
|
|
170
|
+
short _InterlockedOr16_nf(short volatile *_Value, short _Mask);
|
|
171
|
+
short _InterlockedOr16_rel(short volatile *_Value, short _Mask);
|
|
172
|
+
long _InterlockedOr_acq(long volatile *_Value, long _Mask);
|
|
173
|
+
long _InterlockedOr_nf(long volatile *_Value, long _Mask);
|
|
174
|
+
long _InterlockedOr_rel(long volatile *_Value, long _Mask);
|
|
175
|
+
__int64 _InterlockedOr64_acq(__int64 volatile *_Value, __int64 _Mask);
|
|
176
|
+
__int64 _InterlockedOr64_nf(__int64 volatile *_Value, __int64 _Mask);
|
|
177
|
+
__int64 _InterlockedOr64_rel(__int64 volatile *_Value, __int64 _Mask);
|
|
178
|
+
|
|
179
|
+
/*----------------------------------------------------------------------------*\
|
|
180
|
+
|* Interlocked Xor
|
|
181
|
+
\*----------------------------------------------------------------------------*/
|
|
182
|
+
char _InterlockedXor8_acq(char volatile *_Value, char _Mask);
|
|
183
|
+
char _InterlockedXor8_nf(char volatile *_Value, char _Mask);
|
|
184
|
+
char _InterlockedXor8_rel(char volatile *_Value, char _Mask);
|
|
185
|
+
short _InterlockedXor16_acq(short volatile *_Value, short _Mask);
|
|
186
|
+
short _InterlockedXor16_nf(short volatile *_Value, short _Mask);
|
|
187
|
+
short _InterlockedXor16_rel(short volatile *_Value, short _Mask);
|
|
188
|
+
long _InterlockedXor_acq(long volatile *_Value, long _Mask);
|
|
189
|
+
long _InterlockedXor_nf(long volatile *_Value, long _Mask);
|
|
190
|
+
long _InterlockedXor_rel(long volatile *_Value, long _Mask);
|
|
191
|
+
__int64 _InterlockedXor64_acq(__int64 volatile *_Value, __int64 _Mask);
|
|
192
|
+
__int64 _InterlockedXor64_nf(__int64 volatile *_Value, __int64 _Mask);
|
|
193
|
+
__int64 _InterlockedXor64_rel(__int64 volatile *_Value, __int64 _Mask);
|
|
194
|
+
|
|
195
|
+
/*----------------------------------------------------------------------------*\
|
|
196
|
+
|* Interlocked Exchange
|
|
197
|
+
\*----------------------------------------------------------------------------*/
|
|
198
|
+
char _InterlockedExchange8_acq(char volatile *_Target, char _Value);
|
|
199
|
+
char _InterlockedExchange8_nf(char volatile *_Target, char _Value);
|
|
200
|
+
char _InterlockedExchange8_rel(char volatile *_Target, char _Value);
|
|
201
|
+
short _InterlockedExchange16_acq(short volatile *_Target, short _Value);
|
|
202
|
+
short _InterlockedExchange16_nf(short volatile *_Target, short _Value);
|
|
203
|
+
short _InterlockedExchange16_rel(short volatile *_Target, short _Value);
|
|
204
|
+
long _InterlockedExchange_acq(long volatile *_Target, long _Value);
|
|
205
|
+
long _InterlockedExchange_nf(long volatile *_Target, long _Value);
|
|
206
|
+
long _InterlockedExchange_rel(long volatile *_Target, long _Value);
|
|
207
|
+
__int64 _InterlockedExchange64_acq(__int64 volatile *_Target, __int64 _Value);
|
|
208
|
+
__int64 _InterlockedExchange64_nf(__int64 volatile *_Target, __int64 _Value);
|
|
209
|
+
__int64 _InterlockedExchange64_rel(__int64 volatile *_Target, __int64 _Value);
|
|
210
|
+
|
|
211
|
+
/*----------------------------------------------------------------------------*\
|
|
212
|
+
|* Interlocked Compare Exchange
|
|
213
|
+
\*----------------------------------------------------------------------------*/
|
|
214
|
+
char _InterlockedCompareExchange8_acq(char volatile *_Destination,
|
|
215
|
+
char _Exchange, char _Comparand);
|
|
216
|
+
char _InterlockedCompareExchange8_nf(char volatile *_Destination,
|
|
217
|
+
char _Exchange, char _Comparand);
|
|
218
|
+
char _InterlockedCompareExchange8_rel(char volatile *_Destination,
|
|
219
|
+
char _Exchange, char _Comparand);
|
|
220
|
+
short _InterlockedCompareExchange16_acq(short volatile *_Destination,
|
|
221
|
+
short _Exchange, short _Comparand);
|
|
222
|
+
short _InterlockedCompareExchange16_nf(short volatile *_Destination,
|
|
223
|
+
short _Exchange, short _Comparand);
|
|
224
|
+
short _InterlockedCompareExchange16_rel(short volatile *_Destination,
|
|
225
|
+
short _Exchange, short _Comparand);
|
|
226
|
+
long _InterlockedCompareExchange_acq(long volatile *_Destination,
|
|
227
|
+
long _Exchange, long _Comparand);
|
|
228
|
+
long _InterlockedCompareExchange_nf(long volatile *_Destination, long _Exchange,
|
|
229
|
+
long _Comparand);
|
|
230
|
+
long _InterlockedCompareExchange_rel(long volatile *_Destination,
|
|
231
|
+
long _Exchange, long _Comparand);
|
|
232
|
+
__int64 _InterlockedCompareExchange64_acq(__int64 volatile *_Destination,
|
|
233
|
+
__int64 _Exchange,
|
|
234
|
+
__int64 _Comparand);
|
|
235
|
+
__int64 _InterlockedCompareExchange64_nf(__int64 volatile *_Destination,
|
|
236
|
+
__int64 _Exchange, __int64 _Comparand);
|
|
237
|
+
__int64 _InterlockedCompareExchange64_rel(__int64 volatile *_Destination,
|
|
238
|
+
__int64 _Exchange,
|
|
239
|
+
__int64 _Comparand);
|
|
240
|
+
#endif
|
|
241
|
+
|
|
242
|
+
#ifdef __cplusplus
|
|
243
|
+
}
|
|
244
|
+
#endif
|
|
245
|
+
|
|
246
|
+
#endif /* __INTRIN0_H */
|
|
247
|
+
#endif /* _MSC_VER */
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
#if !defined(_AIX) || !defined(_STD_TYPES_T)
|
|
14
14
|
#define __CLANG_INTTYPES_H
|
|
15
15
|
#endif
|
|
16
|
+
#if defined(__MVS__) && __has_include_next(<inttypes.h>)
|
|
17
|
+
#include_next <inttypes.h>
|
|
18
|
+
#else
|
|
16
19
|
|
|
17
20
|
#if defined(_MSC_VER) && _MSC_VER < 1800
|
|
18
21
|
#error MSVC does not have inttypes.h prior to Visual Studio 2013
|
|
@@ -94,4 +97,5 @@
|
|
|
94
97
|
#define SCNxFAST32 "x"
|
|
95
98
|
#endif
|
|
96
99
|
|
|
100
|
+
#endif /* __MVS__ */
|
|
97
101
|
#endif /* __CLANG_INTTYPES_H */
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
|
|
10
10
|
#ifndef __ISO646_H
|
|
11
11
|
#define __ISO646_H
|
|
12
|
+
#if defined(__MVS__) && __has_include_next(<iso646.h>)
|
|
13
|
+
#include_next <iso646.h>
|
|
14
|
+
#else
|
|
12
15
|
|
|
13
16
|
#ifndef __cplusplus
|
|
14
17
|
#define and &&
|
|
@@ -24,4 +27,5 @@
|
|
|
24
27
|
#define xor_eq ^=
|
|
25
28
|
#endif
|
|
26
29
|
|
|
30
|
+
#endif /* __MVS__ */
|
|
27
31
|
#endif /* __ISO646_H */
|