@cpp-linter/clang-tidy-darwin-x64 16.0.3 → 18.1.5
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/{16 → 18}/include/__clang_cuda_device_functions.h +2 -2
- package/lib/clang/{16 → 18}/include/__clang_cuda_intrinsics.h +191 -0
- package/lib/clang/{16 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
- package/lib/clang/{16 → 18}/include/__clang_cuda_math.h +3 -3
- package/lib/clang/{16 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
- package/lib/clang/{16 → 18}/include/__clang_hip_cmath.h +1 -1
- package/lib/clang/{16 → 18}/include/__clang_hip_libdevice_declares.h +32 -30
- package/lib/clang/{16 → 18}/include/__clang_hip_math.h +244 -238
- package/lib/clang/{16 → 18}/include/__clang_hip_runtime_wrapper.h +44 -23
- package/lib/clang/18/include/__stdarg___gnuc_va_list.h +13 -0
- package/lib/clang/18/include/__stdarg___va_copy.h +12 -0
- package/lib/clang/18/include/__stdarg_va_arg.h +22 -0
- package/lib/clang/18/include/__stdarg_va_copy.h +12 -0
- package/lib/clang/18/include/__stdarg_va_list.h +13 -0
- package/lib/clang/{16 → 18}/include/__stddef_max_align_t.h +1 -1
- package/lib/clang/18/include/__stddef_null.h +29 -0
- package/lib/clang/18/include/__stddef_nullptr_t.h +29 -0
- package/lib/clang/18/include/__stddef_offsetof.h +17 -0
- package/lib/clang/18/include/__stddef_ptrdiff_t.h +20 -0
- package/lib/clang/18/include/__stddef_rsize_t.h +20 -0
- package/lib/clang/18/include/__stddef_size_t.h +20 -0
- package/lib/clang/18/include/__stddef_unreachable.h +21 -0
- package/lib/clang/18/include/__stddef_wchar_t.h +28 -0
- package/lib/clang/18/include/__stddef_wint_t.h +15 -0
- package/lib/clang/18/include/adcintrin.h +160 -0
- package/lib/clang/18/include/adxintrin.h +102 -0
- package/lib/clang/{16 → 18}/include/altivec.h +167 -136
- package/lib/clang/{16 → 18}/include/ammintrin.h +4 -4
- package/lib/clang/18/include/amxcomplexintrin.h +169 -0
- package/lib/clang/{16 → 18}/include/arm_acle.h +124 -40
- package/lib/clang/{16 → 18}/include/arm_neon.h +249 -328
- package/lib/clang/18/include/arm_sme.h +2412 -0
- package/lib/clang/{16 → 18}/include/arm_sve.h +7454 -364
- package/lib/clang/18/include/arm_vector_types.h +345 -0
- package/lib/clang/18/include/avx2intrin.h +5284 -0
- package/lib/clang/{16 → 18}/include/avx512bf16intrin.h +3 -2
- package/lib/clang/{16 → 18}/include/avx512bitalgintrin.h +4 -1
- package/lib/clang/{16 → 18}/include/avx512bwintrin.h +28 -38
- package/lib/clang/{16 → 18}/include/avx512cdintrin.h +3 -1
- package/lib/clang/{16 → 18}/include/avx512dqintrin.h +4 -2
- package/lib/clang/{16 → 18}/include/avx512fintrin.h +24 -10
- package/lib/clang/{16 → 18}/include/avx512fp16intrin.h +18 -12
- package/lib/clang/{16 → 18}/include/avx512ifmaintrin.h +3 -1
- package/lib/clang/{16 → 18}/include/avx512ifmavlintrin.h +8 -2
- package/lib/clang/{16 → 18}/include/avx512pfintrin.h +0 -5
- package/lib/clang/{16 → 18}/include/avx512vbmi2intrin.h +1 -1
- package/lib/clang/{16 → 18}/include/avx512vbmiintrin.h +3 -2
- package/lib/clang/{16 → 18}/include/avx512vbmivlintrin.h +8 -3
- package/lib/clang/{16 → 18}/include/avx512vlbf16intrin.h +8 -6
- package/lib/clang/{16 → 18}/include/avx512vlbitalgintrin.h +8 -2
- package/lib/clang/{16 → 18}/include/avx512vlbwintrin.h +8 -2
- package/lib/clang/{16 → 18}/include/avx512vlcdintrin.h +8 -3
- package/lib/clang/{16 → 18}/include/avx512vldqintrin.h +8 -2
- package/lib/clang/{16 → 18}/include/avx512vlfp16intrin.h +2 -2
- package/lib/clang/{16 → 18}/include/avx512vlintrin.h +8 -2
- package/lib/clang/{16 → 18}/include/avx512vlvbmi2intrin.h +8 -2
- package/lib/clang/{16 → 18}/include/avx512vlvnniintrin.h +8 -2
- package/lib/clang/{16 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
- package/lib/clang/{16 → 18}/include/avx512vnniintrin.h +3 -2
- package/lib/clang/{16 → 18}/include/avx512vp2intersectintrin.h +3 -2
- package/lib/clang/{16 → 18}/include/avx512vpopcntdqintrin.h +3 -1
- package/lib/clang/{16 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
- package/lib/clang/{16 → 18}/include/avxintrin.h +29 -12
- package/lib/clang/18/include/avxvnniint16intrin.h +473 -0
- package/lib/clang/18/include/bmi2intrin.h +255 -0
- package/lib/clang/{16 → 18}/include/bmiintrin.h +231 -46
- package/lib/clang/{16 → 18}/include/clflushoptintrin.h +9 -0
- package/lib/clang/{16 → 18}/include/clzerointrin.h +7 -5
- package/lib/clang/18/include/cuda_wrappers/bits/basic_string.h +9 -0
- package/lib/clang/18/include/cuda_wrappers/bits/basic_string.tcc +9 -0
- package/lib/clang/18/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
- package/lib/clang/{16 → 18}/include/emmintrin.h +10 -10
- package/lib/clang/18/include/fmaintrin.h +780 -0
- package/lib/clang/{16 → 18}/include/gfniintrin.h +23 -6
- package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +624 -0
- package/lib/clang/18/include/ia32intrin.h +863 -0
- package/lib/clang/{16 → 18}/include/immintrin.h +182 -11
- package/lib/clang/{16 → 18}/include/intrin.h +16 -0
- package/lib/clang/{16 → 18}/include/larchintrin.h +13 -1
- package/lib/clang/18/include/lasxintrin.h +3884 -0
- package/lib/clang/{16 → 18}/include/limits.h +7 -5
- package/lib/clang/18/include/llvm_libc_wrappers/assert.h +34 -0
- package/lib/clang/18/include/llvm_libc_wrappers/ctype.h +102 -0
- package/lib/clang/18/include/llvm_libc_wrappers/inttypes.h +34 -0
- package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
- package/lib/clang/18/include/llvm_libc_wrappers/stdlib.h +45 -0
- package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
- package/lib/clang/18/include/llvm_libc_wrappers/time.h +34 -0
- package/lib/clang/18/include/lsxintrin.h +3750 -0
- package/lib/clang/{16 → 18}/include/mmintrin.h +7 -5
- package/lib/clang/{16 → 18}/include/module.modulemap +155 -2
- package/lib/clang/18/include/mwaitxintrin.h +62 -0
- package/lib/clang/{16 → 18}/include/opencl-c-base.h +8 -0
- package/lib/clang/{16 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -1
- package/lib/clang/{16 → 18}/include/openmp_wrappers/cmath +1 -1
- package/lib/clang/{16 → 18}/include/openmp_wrappers/new +1 -1
- package/lib/clang/{16 → 18}/include/pmmintrin.h +15 -8
- package/lib/clang/{16 → 18}/include/ppc_wrappers/emmintrin.h +2 -1
- package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
- package/lib/clang/{16 → 18}/include/ppc_wrappers/smmintrin.h +37 -17
- package/lib/clang/18/include/rdseedintrin.h +105 -0
- package/lib/clang/18/include/riscv_bitmanip.h +195 -0
- package/lib/clang/18/include/riscv_crypto.h +170 -0
- package/lib/clang/18/include/riscv_ntlh.h +26 -0
- package/lib/clang/18/include/riscv_vector.h +431 -0
- package/lib/clang/18/include/sha512intrin.h +200 -0
- package/lib/clang/18/include/shaintrin.h +189 -0
- package/lib/clang/18/include/sifive_vector.h +16 -0
- package/lib/clang/18/include/sm3intrin.h +238 -0
- package/lib/clang/18/include/sm4intrin.h +269 -0
- package/lib/clang/{16 → 18}/include/smmintrin.h +3 -3
- package/lib/clang/{16 → 18}/include/stdalign.h +3 -0
- package/lib/clang/18/include/stdarg.h +79 -0
- package/lib/clang/{16 → 18}/include/stdatomic.h +7 -2
- package/lib/clang/18/include/stdckdint.h +42 -0
- package/lib/clang/18/include/stddef.h +123 -0
- package/lib/clang/{16 → 18}/include/stdint.h +19 -48
- package/lib/clang/{16 → 18}/include/stdnoreturn.h +2 -2
- package/lib/clang/{16 → 18}/include/tmmintrin.h +7 -2
- package/lib/clang/18/include/usermsrintrin.h +51 -0
- package/lib/clang/{16 → 18}/include/vaesintrin.h +4 -2
- package/lib/clang/{16 → 18}/include/vecintrin.h +217 -199
- package/lib/clang/{16 → 18}/include/wasm_simd128.h +132 -12
- package/lib/clang/{16 → 18}/include/x86gprintrin.h +5 -0
- package/lib/clang/{16 → 18}/include/xmmintrin.h +9 -5
- package/lib/clang/18/include/xsavecintrin.h +84 -0
- package/package.json +6 -6
- package/lib/clang/16/include/adxintrin.h +0 -72
- package/lib/clang/16/include/avx2intrin.h +0 -1148
- package/lib/clang/16/include/bmi2intrin.h +0 -81
- package/lib/clang/16/include/fmaintrin.h +0 -216
- package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +0 -223
- package/lib/clang/16/include/ia32intrin.h +0 -441
- package/lib/clang/16/include/mwaitxintrin.h +0 -33
- package/lib/clang/16/include/rdseedintrin.h +0 -42
- package/lib/clang/16/include/riscv_vector.h +0 -211
- package/lib/clang/16/include/shaintrin.h +0 -61
- package/lib/clang/16/include/stdarg.h +0 -51
- package/lib/clang/16/include/stddef.h +0 -128
- package/lib/clang/16/include/xsavecintrin.h +0 -34
- /package/lib/clang/{16 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{16 → 18}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{16 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{16 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{16 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{16 → 18}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{16 → 18}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{16 → 18}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{16 → 18}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/amxintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/arm64intr.h +0 -0
- /package/lib/clang/{16 → 18}/include/arm_bf16.h +0 -0
- /package/lib/clang/{16 → 18}/include/arm_cde.h +0 -0
- /package/lib/clang/{16 → 18}/include/arm_cmse.h +0 -0
- /package/lib/clang/{16 → 18}/include/arm_fp16.h +0 -0
- /package/lib/clang/{16 → 18}/include/arm_mve.h +0 -0
- /package/lib/clang/{16 → 18}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{16 → 18}/include/armintr.h +0 -0
- /package/lib/clang/{16 → 18}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/builtins.h +0 -0
- /package/lib/clang/{16 → 18}/include/cet.h +0 -0
- /package/lib/clang/{16 → 18}/include/cetintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/clwbintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/cpuid.h +0 -0
- /package/lib/clang/{16 → 18}/include/crc32intrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{16 → 18}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{16 → 18}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{16 → 18}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{16 → 18}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/f16cintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/float.h +0 -0
- /package/lib/clang/{16 → 18}/include/fma4intrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{16 → 18}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{16 → 18}/include/hexagon_types.h +0 -0
- /package/lib/clang/{16 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
- /package/lib/clang/{16 → 18}/include/hlsl.h +0 -0
- /package/lib/clang/{16 → 18}/include/hresetintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/htmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{16 → 18}/include/inttypes.h +0 -0
- /package/lib/clang/{16 → 18}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/iso646.h +0 -0
- /package/lib/clang/{16 → 18}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/lwpintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/mm3dnow.h +0 -0
- /package/lib/clang/{16 → 18}/include/mm_malloc.h +0 -0
- /package/lib/clang/{16 → 18}/include/movdirintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/msa.h +0 -0
- /package/lib/clang/{16 → 18}/include/nmmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/opencl-c.h +0 -0
- /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{16 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{16 → 18}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{16 → 18}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/pkuintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/popcntintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/raointintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/rtmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/s390intrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/serializeintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/sgxintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/stdbool.h +0 -0
- /package/lib/clang/{16 → 18}/include/tbmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/tgmath.h +0 -0
- /package/lib/clang/{16 → 18}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/uintrintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/unwind.h +0 -0
- /package/lib/clang/{16 → 18}/include/vadefs.h +0 -0
- /package/lib/clang/{16 → 18}/include/varargs.h +0 -0
- /package/lib/clang/{16 → 18}/include/velintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{16 → 18}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{16 → 18}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/wmmintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/x86intrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/xopintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{16 → 18}/include/xtestintrin.h +0 -0
|
@@ -269,13 +269,35 @@
|
|
|
269
269
|
#include <avxneconvertintrin.h>
|
|
270
270
|
#endif
|
|
271
271
|
|
|
272
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
273
|
+
defined(__SHA512__)
|
|
274
|
+
#include <sha512intrin.h>
|
|
275
|
+
#endif
|
|
276
|
+
|
|
277
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
278
|
+
defined(__SM3__)
|
|
279
|
+
#include <sm3intrin.h>
|
|
280
|
+
#endif
|
|
281
|
+
|
|
282
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
283
|
+
defined(__SM4__)
|
|
284
|
+
#include <sm4intrin.h>
|
|
285
|
+
#endif
|
|
286
|
+
|
|
287
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
288
|
+
defined(__AVXVNNIINT16__)
|
|
289
|
+
#include <avxvnniint16intrin.h>
|
|
290
|
+
#endif
|
|
291
|
+
|
|
272
292
|
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
273
293
|
defined(__RDPID__)
|
|
274
|
-
///
|
|
294
|
+
/// Reads the value of the IA32_TSC_AUX MSR (0xc0000103).
|
|
275
295
|
///
|
|
276
296
|
/// \headerfile <immintrin.h>
|
|
277
297
|
///
|
|
278
298
|
/// This intrinsic corresponds to the <c> RDPID </c> instruction.
|
|
299
|
+
///
|
|
300
|
+
/// \returns The 32-bit contents of the MSR.
|
|
279
301
|
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("rdpid")))
|
|
280
302
|
_rdpid_u32(void) {
|
|
281
303
|
return __builtin_ia32_rdpid();
|
|
@@ -284,30 +306,53 @@ _rdpid_u32(void) {
|
|
|
284
306
|
|
|
285
307
|
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
286
308
|
defined(__RDRND__)
|
|
309
|
+
/// Returns a 16-bit hardware-generated random value.
|
|
310
|
+
///
|
|
311
|
+
/// \headerfile <immintrin.h>
|
|
312
|
+
///
|
|
313
|
+
/// This intrinsic corresponds to the <c> RDRAND </c> instruction.
|
|
314
|
+
///
|
|
315
|
+
/// \param __p
|
|
316
|
+
/// A pointer to a 16-bit memory location to place the random value.
|
|
317
|
+
/// \returns 1 if the value was successfully generated, 0 otherwise.
|
|
287
318
|
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
|
|
288
319
|
_rdrand16_step(unsigned short *__p)
|
|
289
320
|
{
|
|
290
321
|
return (int)__builtin_ia32_rdrand16_step(__p);
|
|
291
322
|
}
|
|
292
323
|
|
|
324
|
+
/// Returns a 32-bit hardware-generated random value.
|
|
325
|
+
///
|
|
326
|
+
/// \headerfile <immintrin.h>
|
|
327
|
+
///
|
|
328
|
+
/// This intrinsic corresponds to the <c> RDRAND </c> instruction.
|
|
329
|
+
///
|
|
330
|
+
/// \param __p
|
|
331
|
+
/// A pointer to a 32-bit memory location to place the random value.
|
|
332
|
+
/// \returns 1 if the value was successfully generated, 0 otherwise.
|
|
293
333
|
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
|
|
294
334
|
_rdrand32_step(unsigned int *__p)
|
|
295
335
|
{
|
|
296
336
|
return (int)__builtin_ia32_rdrand32_step(__p);
|
|
297
337
|
}
|
|
298
338
|
|
|
299
|
-
|
|
339
|
+
/// Returns a 64-bit hardware-generated random value.
|
|
340
|
+
///
|
|
341
|
+
/// \headerfile <immintrin.h>
|
|
342
|
+
///
|
|
343
|
+
/// This intrinsic corresponds to the <c> RDRAND </c> instruction.
|
|
344
|
+
///
|
|
345
|
+
/// \param __p
|
|
346
|
+
/// A pointer to a 64-bit memory location to place the random value.
|
|
347
|
+
/// \returns 1 if the value was successfully generated, 0 otherwise.
|
|
300
348
|
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
|
|
301
349
|
_rdrand64_step(unsigned long long *__p)
|
|
302
350
|
{
|
|
351
|
+
#ifdef __x86_64__
|
|
303
352
|
return (int)__builtin_ia32_rdrand64_step(__p);
|
|
304
|
-
}
|
|
305
353
|
#else
|
|
306
|
-
// We need to emulate the functionality of 64-bit rdrand with 2 32-bit
|
|
307
|
-
// rdrand instructions.
|
|
308
|
-
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
|
|
309
|
-
_rdrand64_step(unsigned long long *__p)
|
|
310
|
-
{
|
|
354
|
+
// We need to emulate the functionality of 64-bit rdrand with 2 32-bit
|
|
355
|
+
// rdrand instructions.
|
|
311
356
|
unsigned int __lo, __hi;
|
|
312
357
|
unsigned int __res_lo = __builtin_ia32_rdrand32_step(&__lo);
|
|
313
358
|
unsigned int __res_hi = __builtin_ia32_rdrand32_step(&__hi);
|
|
@@ -318,55 +363,115 @@ _rdrand64_step(unsigned long long *__p)
|
|
|
318
363
|
*__p = 0;
|
|
319
364
|
return 0;
|
|
320
365
|
}
|
|
321
|
-
}
|
|
322
366
|
#endif
|
|
367
|
+
}
|
|
323
368
|
#endif /* __RDRND__ */
|
|
324
369
|
|
|
325
370
|
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
326
371
|
defined(__FSGSBASE__)
|
|
327
372
|
#ifdef __x86_64__
|
|
373
|
+
/// Reads the FS base register.
|
|
374
|
+
///
|
|
375
|
+
/// \headerfile <immintrin.h>
|
|
376
|
+
///
|
|
377
|
+
/// This intrinsic corresponds to the <c> RDFSBASE </c> instruction.
|
|
378
|
+
///
|
|
379
|
+
/// \returns The lower 32 bits of the FS base register.
|
|
328
380
|
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
329
381
|
_readfsbase_u32(void)
|
|
330
382
|
{
|
|
331
383
|
return __builtin_ia32_rdfsbase32();
|
|
332
384
|
}
|
|
333
385
|
|
|
386
|
+
/// Reads the FS base register.
|
|
387
|
+
///
|
|
388
|
+
/// \headerfile <immintrin.h>
|
|
389
|
+
///
|
|
390
|
+
/// This intrinsic corresponds to the <c> RDFSBASE </c> instruction.
|
|
391
|
+
///
|
|
392
|
+
/// \returns The contents of the FS base register.
|
|
334
393
|
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
335
394
|
_readfsbase_u64(void)
|
|
336
395
|
{
|
|
337
396
|
return __builtin_ia32_rdfsbase64();
|
|
338
397
|
}
|
|
339
398
|
|
|
399
|
+
/// Reads the GS base register.
|
|
400
|
+
///
|
|
401
|
+
/// \headerfile <immintrin.h>
|
|
402
|
+
///
|
|
403
|
+
/// This intrinsic corresponds to the <c> RDGSBASE </c> instruction.
|
|
404
|
+
///
|
|
405
|
+
/// \returns The lower 32 bits of the GS base register.
|
|
340
406
|
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
341
407
|
_readgsbase_u32(void)
|
|
342
408
|
{
|
|
343
409
|
return __builtin_ia32_rdgsbase32();
|
|
344
410
|
}
|
|
345
411
|
|
|
412
|
+
/// Reads the GS base register.
|
|
413
|
+
///
|
|
414
|
+
/// \headerfile <immintrin.h>
|
|
415
|
+
///
|
|
416
|
+
/// This intrinsic corresponds to the <c> RDGSBASE </c> instruction.
|
|
417
|
+
///
|
|
418
|
+
/// \returns The contents of the GS base register.
|
|
346
419
|
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
347
420
|
_readgsbase_u64(void)
|
|
348
421
|
{
|
|
349
422
|
return __builtin_ia32_rdgsbase64();
|
|
350
423
|
}
|
|
351
424
|
|
|
425
|
+
/// Modifies the FS base register.
|
|
426
|
+
///
|
|
427
|
+
/// \headerfile <immintrin.h>
|
|
428
|
+
///
|
|
429
|
+
/// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
|
|
430
|
+
///
|
|
431
|
+
/// \param __V
|
|
432
|
+
/// Value to use for the lower 32 bits of the FS base register.
|
|
352
433
|
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
353
434
|
_writefsbase_u32(unsigned int __V)
|
|
354
435
|
{
|
|
355
436
|
__builtin_ia32_wrfsbase32(__V);
|
|
356
437
|
}
|
|
357
438
|
|
|
439
|
+
/// Modifies the FS base register.
|
|
440
|
+
///
|
|
441
|
+
/// \headerfile <immintrin.h>
|
|
442
|
+
///
|
|
443
|
+
/// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
|
|
444
|
+
///
|
|
445
|
+
/// \param __V
|
|
446
|
+
/// Value to use for the FS base register.
|
|
358
447
|
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
359
448
|
_writefsbase_u64(unsigned long long __V)
|
|
360
449
|
{
|
|
361
450
|
__builtin_ia32_wrfsbase64(__V);
|
|
362
451
|
}
|
|
363
452
|
|
|
453
|
+
/// Modifies the GS base register.
|
|
454
|
+
///
|
|
455
|
+
/// \headerfile <immintrin.h>
|
|
456
|
+
///
|
|
457
|
+
/// This intrinsic corresponds to the <c> WRGSBASE </c> instruction.
|
|
458
|
+
///
|
|
459
|
+
/// \param __V
|
|
460
|
+
/// Value to use for the lower 32 bits of the GS base register.
|
|
364
461
|
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
365
462
|
_writegsbase_u32(unsigned int __V)
|
|
366
463
|
{
|
|
367
464
|
__builtin_ia32_wrgsbase32(__V);
|
|
368
465
|
}
|
|
369
466
|
|
|
467
|
+
/// Modifies the GS base register.
|
|
468
|
+
///
|
|
469
|
+
/// \headerfile <immintrin.h>
|
|
470
|
+
///
|
|
471
|
+
/// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
|
|
472
|
+
///
|
|
473
|
+
/// \param __V
|
|
474
|
+
/// Value to use for GS base register.
|
|
370
475
|
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
371
476
|
_writegsbase_u64(unsigned long long __V)
|
|
372
477
|
{
|
|
@@ -385,6 +490,15 @@ _writegsbase_u64(unsigned long long __V)
|
|
|
385
490
|
* field inside of it.
|
|
386
491
|
*/
|
|
387
492
|
|
|
493
|
+
/// Load a 16-bit value from memory and swap its bytes.
|
|
494
|
+
///
|
|
495
|
+
/// \headerfile <x86intrin.h>
|
|
496
|
+
///
|
|
497
|
+
/// This intrinsic corresponds to the MOVBE instruction.
|
|
498
|
+
///
|
|
499
|
+
/// \param __P
|
|
500
|
+
/// A pointer to the 16-bit value to load.
|
|
501
|
+
/// \returns The byte-swapped value.
|
|
388
502
|
static __inline__ short __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
389
503
|
_loadbe_i16(void const * __P) {
|
|
390
504
|
struct __loadu_i16 {
|
|
@@ -393,6 +507,16 @@ _loadbe_i16(void const * __P) {
|
|
|
393
507
|
return (short)__builtin_bswap16(((const struct __loadu_i16*)__P)->__v);
|
|
394
508
|
}
|
|
395
509
|
|
|
510
|
+
/// Swap the bytes of a 16-bit value and store it to memory.
|
|
511
|
+
///
|
|
512
|
+
/// \headerfile <x86intrin.h>
|
|
513
|
+
///
|
|
514
|
+
/// This intrinsic corresponds to the MOVBE instruction.
|
|
515
|
+
///
|
|
516
|
+
/// \param __P
|
|
517
|
+
/// A pointer to the memory for storing the swapped value.
|
|
518
|
+
/// \param __D
|
|
519
|
+
/// The 16-bit value to be byte-swapped.
|
|
396
520
|
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
397
521
|
_storebe_i16(void * __P, short __D) {
|
|
398
522
|
struct __storeu_i16 {
|
|
@@ -401,6 +525,15 @@ _storebe_i16(void * __P, short __D) {
|
|
|
401
525
|
((struct __storeu_i16*)__P)->__v = __builtin_bswap16((unsigned short)__D);
|
|
402
526
|
}
|
|
403
527
|
|
|
528
|
+
/// Load a 32-bit value from memory and swap its bytes.
|
|
529
|
+
///
|
|
530
|
+
/// \headerfile <x86intrin.h>
|
|
531
|
+
///
|
|
532
|
+
/// This intrinsic corresponds to the MOVBE instruction.
|
|
533
|
+
///
|
|
534
|
+
/// \param __P
|
|
535
|
+
/// A pointer to the 32-bit value to load.
|
|
536
|
+
/// \returns The byte-swapped value.
|
|
404
537
|
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
405
538
|
_loadbe_i32(void const * __P) {
|
|
406
539
|
struct __loadu_i32 {
|
|
@@ -409,6 +542,16 @@ _loadbe_i32(void const * __P) {
|
|
|
409
542
|
return (int)__builtin_bswap32(((const struct __loadu_i32*)__P)->__v);
|
|
410
543
|
}
|
|
411
544
|
|
|
545
|
+
/// Swap the bytes of a 32-bit value and store it to memory.
|
|
546
|
+
///
|
|
547
|
+
/// \headerfile <x86intrin.h>
|
|
548
|
+
///
|
|
549
|
+
/// This intrinsic corresponds to the MOVBE instruction.
|
|
550
|
+
///
|
|
551
|
+
/// \param __P
|
|
552
|
+
/// A pointer to the memory for storing the swapped value.
|
|
553
|
+
/// \param __D
|
|
554
|
+
/// The 32-bit value to be byte-swapped.
|
|
412
555
|
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
413
556
|
_storebe_i32(void * __P, int __D) {
|
|
414
557
|
struct __storeu_i32 {
|
|
@@ -418,6 +561,15 @@ _storebe_i32(void * __P, int __D) {
|
|
|
418
561
|
}
|
|
419
562
|
|
|
420
563
|
#ifdef __x86_64__
|
|
564
|
+
/// Load a 64-bit value from memory and swap its bytes.
|
|
565
|
+
///
|
|
566
|
+
/// \headerfile <x86intrin.h>
|
|
567
|
+
///
|
|
568
|
+
/// This intrinsic corresponds to the MOVBE instruction.
|
|
569
|
+
///
|
|
570
|
+
/// \param __P
|
|
571
|
+
/// A pointer to the 64-bit value to load.
|
|
572
|
+
/// \returns The byte-swapped value.
|
|
421
573
|
static __inline__ long long __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
422
574
|
_loadbe_i64(void const * __P) {
|
|
423
575
|
struct __loadu_i64 {
|
|
@@ -426,6 +578,16 @@ _loadbe_i64(void const * __P) {
|
|
|
426
578
|
return (long long)__builtin_bswap64(((const struct __loadu_i64*)__P)->__v);
|
|
427
579
|
}
|
|
428
580
|
|
|
581
|
+
/// Swap the bytes of a 64-bit value and store it to memory.
|
|
582
|
+
///
|
|
583
|
+
/// \headerfile <x86intrin.h>
|
|
584
|
+
///
|
|
585
|
+
/// This intrinsic corresponds to the MOVBE instruction.
|
|
586
|
+
///
|
|
587
|
+
/// \param __P
|
|
588
|
+
/// A pointer to the memory for storing the swapped value.
|
|
589
|
+
/// \param __D
|
|
590
|
+
/// The 64-bit value to be byte-swapped.
|
|
429
591
|
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
430
592
|
_storebe_i64(void * __P, long long __D) {
|
|
431
593
|
struct __storeu_i64 {
|
|
@@ -475,9 +637,13 @@ _storebe_i64(void * __P, long long __D) {
|
|
|
475
637
|
#include <cetintrin.h>
|
|
476
638
|
#endif
|
|
477
639
|
|
|
478
|
-
/*
|
|
479
|
-
|
|
640
|
+
/* Intrinsics inside adcintrin.h are available at all times. */
|
|
641
|
+
#include <adcintrin.h>
|
|
642
|
+
|
|
643
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
644
|
+
defined(__ADX__)
|
|
480
645
|
#include <adxintrin.h>
|
|
646
|
+
#endif
|
|
481
647
|
|
|
482
648
|
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
483
649
|
defined(__RDSEED__)
|
|
@@ -538,6 +704,11 @@ _storebe_i64(void * __P, long long __D) {
|
|
|
538
704
|
#include <amxintrin.h>
|
|
539
705
|
#endif
|
|
540
706
|
|
|
707
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
708
|
+
defined(__AMX_COMPLEX__)
|
|
709
|
+
#include <amxcomplexintrin.h>
|
|
710
|
+
#endif
|
|
711
|
+
|
|
541
712
|
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
542
713
|
defined(__AVX512VP2INTERSECT__)
|
|
543
714
|
#include <avx512vp2intersectintrin.h>
|
|
@@ -572,6 +572,22 @@ unsigned char __readx18byte(unsigned long offset);
|
|
|
572
572
|
unsigned short __readx18word(unsigned long offset);
|
|
573
573
|
unsigned long __readx18dword(unsigned long offset);
|
|
574
574
|
unsigned __int64 __readx18qword(unsigned long offset);
|
|
575
|
+
|
|
576
|
+
double _CopyDoubleFromInt64(__int64);
|
|
577
|
+
float _CopyFloatFromInt32(__int32);
|
|
578
|
+
__int32 _CopyInt32FromFloat(float);
|
|
579
|
+
__int64 _CopyInt64FromDouble(double);
|
|
580
|
+
|
|
581
|
+
unsigned int _CountLeadingOnes(unsigned long);
|
|
582
|
+
unsigned int _CountLeadingOnes64(unsigned __int64);
|
|
583
|
+
unsigned int _CountLeadingSigns(long);
|
|
584
|
+
unsigned int _CountLeadingSigns64(__int64);
|
|
585
|
+
unsigned int _CountLeadingZeros(unsigned long);
|
|
586
|
+
unsigned int _CountLeadingZeros64(unsigned _int64);
|
|
587
|
+
unsigned int _CountOneBits(unsigned long);
|
|
588
|
+
unsigned int _CountOneBits64(unsigned __int64);
|
|
589
|
+
|
|
590
|
+
void __cdecl __prefetch(void *);
|
|
575
591
|
#endif
|
|
576
592
|
|
|
577
593
|
/*----------------------------------------------------------------------------*\
|
|
@@ -156,7 +156,7 @@ extern __inline unsigned char
|
|
|
156
156
|
return (unsigned char)__builtin_loongarch_iocsrrd_b((unsigned int)_1);
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
extern __inline unsigned
|
|
159
|
+
extern __inline unsigned short
|
|
160
160
|
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
|
161
161
|
__iocsrrd_h(unsigned int _1) {
|
|
162
162
|
return (unsigned short)__builtin_loongarch_iocsrrd_h((unsigned int)_1);
|
|
@@ -228,6 +228,18 @@ extern __inline void
|
|
|
228
228
|
((void)__builtin_loongarch_ldpte_d((long int)(_1), (_2)))
|
|
229
229
|
#endif
|
|
230
230
|
|
|
231
|
+
#define __frecipe_s(/*float*/ _1) \
|
|
232
|
+
(float)__builtin_loongarch_frecipe_s((float)_1)
|
|
233
|
+
|
|
234
|
+
#define __frecipe_d(/*double*/ _1) \
|
|
235
|
+
(double)__builtin_loongarch_frecipe_d((double)_1)
|
|
236
|
+
|
|
237
|
+
#define __frsqrte_s(/*float*/ _1) \
|
|
238
|
+
(float)__builtin_loongarch_frsqrte_s((float)_1)
|
|
239
|
+
|
|
240
|
+
#define __frsqrte_d(/*double*/ _1) \
|
|
241
|
+
(double)__builtin_loongarch_frsqrte_d((double)_1)
|
|
242
|
+
|
|
231
243
|
#ifdef __cplusplus
|
|
232
244
|
}
|
|
233
245
|
#endif
|