@cpp-linter/clang-tidy-linux-arm64 17.0.6 → 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/{17 → 18}/include/__clang_cuda_device_functions.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_math.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_hip_math.h +192 -171
- package/lib/clang/{17 → 18}/include/__clang_hip_runtime_wrapper.h +34 -26
- 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/{17 → 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/{17/include/adxintrin.h → 18/include/adcintrin.h} +27 -94
- package/lib/clang/18/include/adxintrin.h +102 -0
- package/lib/clang/{17 → 18}/include/altivec.h +31 -12
- package/lib/clang/{17 → 18}/include/ammintrin.h +4 -4
- package/lib/clang/{17 → 18}/include/arm_acle.h +111 -31
- package/lib/clang/{17 → 18}/include/arm_neon.h +85 -327
- package/lib/clang/18/include/arm_sme.h +2412 -0
- package/lib/clang/{17 → 18}/include/arm_sve.h +7386 -351
- package/lib/clang/18/include/arm_vector_types.h +345 -0
- package/lib/clang/{17 → 18}/include/avx2intrin.h +24 -3
- package/lib/clang/{17 → 18}/include/avx512bf16intrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512bitalgintrin.h +4 -1
- package/lib/clang/{17 → 18}/include/avx512bwintrin.h +28 -38
- package/lib/clang/{17 → 18}/include/avx512cdintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512dqintrin.h +4 -2
- package/lib/clang/{17 → 18}/include/avx512fintrin.h +7 -3
- package/lib/clang/{17 → 18}/include/avx512fp16intrin.h +6 -4
- package/lib/clang/{17 → 18}/include/avx512ifmaintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512ifmavlintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512pfintrin.h +0 -5
- package/lib/clang/{17 → 18}/include/avx512vbmi2intrin.h +1 -1
- package/lib/clang/{17 → 18}/include/avx512vbmiintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vbmivlintrin.h +8 -3
- package/lib/clang/{17 → 18}/include/avx512vlbf16intrin.h +8 -6
- package/lib/clang/{17 → 18}/include/avx512vlbitalgintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlbwintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlcdintrin.h +8 -3
- package/lib/clang/{17 → 18}/include/avx512vldqintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlfp16intrin.h +2 -2
- package/lib/clang/{17 → 18}/include/avx512vlintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvbmi2intrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvnniintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
- package/lib/clang/{17 → 18}/include/avx512vnniintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vp2intersectintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vpopcntdqintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
- package/lib/clang/{17 → 18}/include/avxintrin.h +9 -5
- package/lib/clang/{17 → 18}/include/bmiintrin.h +231 -46
- package/lib/clang/{17 → 18}/include/emmintrin.h +10 -10
- package/lib/clang/{17 → 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/{17 → 18}/include/immintrin.h +66 -3
- package/lib/clang/{17 → 18}/include/intrin.h +16 -0
- package/lib/clang/{17 → 18}/include/larchintrin.h +13 -1
- package/lib/clang/18/include/lasxintrin.h +3884 -0
- package/lib/clang/{17 → 18}/include/limits.h +2 -4
- package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 18/include/llvm_libc_wrappers/assert.h} +7 -7
- package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/ctype.h +17 -0
- package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
- package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/stdlib.h +4 -1
- package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
- package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 18/include/llvm_libc_wrappers/time.h} +9 -12
- package/lib/clang/18/include/lsxintrin.h +3750 -0
- package/lib/clang/{17 → 18}/include/mmintrin.h +7 -5
- package/lib/clang/{17 → 18}/include/module.modulemap +155 -2
- package/lib/clang/{17 → 18}/include/opencl-c-base.h +5 -0
- package/lib/clang/{17 → 18}/include/openmp_wrappers/cmath +1 -1
- package/lib/clang/{17 → 18}/include/pmmintrin.h +3 -2
- package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
- package/lib/clang/{17 → 18}/include/ppc_wrappers/smmintrin.h +35 -15
- package/lib/clang/18/include/riscv_bitmanip.h +195 -0
- package/lib/clang/18/include/riscv_crypto.h +170 -0
- package/lib/clang/{17 → 18}/include/riscv_ntlh.h +3 -5
- package/lib/clang/{17 → 18}/include/riscv_vector.h +31 -0
- package/lib/clang/{17 → 18}/include/smmintrin.h +3 -3
- package/lib/clang/{17 → 18}/include/stdalign.h +1 -3
- package/lib/clang/18/include/stdarg.h +79 -0
- package/lib/clang/{17 → 18}/include/stdatomic.h +3 -5
- package/lib/clang/18/include/stdckdint.h +42 -0
- package/lib/clang/18/include/stddef.h +123 -0
- package/lib/clang/{17 → 18}/include/stdint.h +19 -48
- package/lib/clang/{17 → 18}/include/stdnoreturn.h +2 -2
- package/lib/clang/{17 → 18}/include/tmmintrin.h +7 -2
- package/lib/clang/18/include/usermsrintrin.h +51 -0
- package/lib/clang/{17 → 18}/include/vaesintrin.h +4 -2
- package/lib/clang/{17 → 18}/include/vecintrin.h +217 -199
- package/lib/clang/{17 → 18}/include/x86gprintrin.h +5 -0
- package/lib/clang/{17 → 18}/include/xmmintrin.h +9 -5
- 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/hlsl/hlsl_intrinsics.h +0 -480
- package/lib/clang/17/include/ia32intrin.h +0 -441
- package/lib/clang/17/include/stdarg.h +0 -51
- package/lib/clang/17/include/stddef.h +0 -133
- /package/lib/clang/{17 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{17 → 18}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{17 → 18}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm64intr.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_bf16.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_cde.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_cmse.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_fp16.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_mve.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{17 → 18}/include/armintr.h +0 -0
- /package/lib/clang/{17 → 18}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniint16intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/builtins.h +0 -0
- /package/lib/clang/{17 → 18}/include/cet.h +0 -0
- /package/lib/clang/{17 → 18}/include/cetintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clwbintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clzerointrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cpuid.h +0 -0
- /package/lib/clang/{17 → 18}/include/crc32intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{17 → 18}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/f16cintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/float.h +0 -0
- /package/lib/clang/{17 → 18}/include/fma4intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/fmaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_types.h +0 -0
- /package/lib/clang/{17 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
- /package/lib/clang/{17 → 18}/include/hlsl.h +0 -0
- /package/lib/clang/{17 → 18}/include/hresetintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/htmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 18}/include/inttypes.h +0 -0
- /package/lib/clang/{17 → 18}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/iso646.h +0 -0
- /package/lib/clang/{17 → 18}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{17 → 18}/include/lwpintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/mm3dnow.h +0 -0
- /package/lib/clang/{17 → 18}/include/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 18}/include/movdirintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/msa.h +0 -0
- /package/lib/clang/{17 → 18}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/nmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/opencl-c.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{17 → 18}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/pkuintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/popcntintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/raointintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rtmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/s390intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/serializeintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sgxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sha512intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/shaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sifive_vector.h +0 -0
- /package/lib/clang/{17 → 18}/include/sm3intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sm4intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/stdbool.h +0 -0
- /package/lib/clang/{17 → 18}/include/tbmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/tgmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/uintrintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/unwind.h +0 -0
- /package/lib/clang/{17 → 18}/include/vadefs.h +0 -0
- /package/lib/clang/{17 → 18}/include/varargs.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{17 → 18}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{17 → 18}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/wmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/x86intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xopintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xtestintrin.h +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*===---- __stdarg_va_arg.h - Definitions of va_start, va_arg, va_end-------===
|
|
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 va_arg
|
|
11
|
+
|
|
12
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
13
|
+
/* C23 does not require the second parameter for va_start. */
|
|
14
|
+
#define va_start(ap, ...) __builtin_va_start(ap, 0)
|
|
15
|
+
#else
|
|
16
|
+
/* Versions before C23 do require the second parameter. */
|
|
17
|
+
#define va_start(ap, param) __builtin_va_start(ap, param)
|
|
18
|
+
#endif
|
|
19
|
+
#define va_end(ap) __builtin_va_end(ap)
|
|
20
|
+
#define va_arg(ap, type) __builtin_va_arg(ap, type)
|
|
21
|
+
|
|
22
|
+
#endif
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*===---- __stdarg_va_copy.h - Definition of va_copy------------------------===
|
|
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 va_copy
|
|
11
|
+
#define va_copy(dest, src) __builtin_va_copy(dest, src)
|
|
12
|
+
#endif
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*===---- __stdarg_va_list.h - Definition of va_list -----------------------===
|
|
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 _VA_LIST
|
|
11
|
+
#define _VA_LIST
|
|
12
|
+
typedef __builtin_va_list va_list;
|
|
13
|
+
#endif
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*===---- __stddef_max_align_t.h - Definition of max_align_t
|
|
1
|
+
/*===---- __stddef_max_align_t.h - Definition of max_align_t ---------------===
|
|
2
2
|
*
|
|
3
3
|
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
4
|
* See https://llvm.org/LICENSE.txt for license information.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*===---- __stddef_null.h - Definition of NULL -----------------------------===
|
|
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
|
+
#if !defined(NULL) || !__building_module(_Builtin_stddef)
|
|
11
|
+
|
|
12
|
+
/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define
|
|
13
|
+
* __need_NULL and rely on stddef.h to redefine NULL to the correct value again.
|
|
14
|
+
* Modules don't support redefining macros like that, but support that pattern
|
|
15
|
+
* in the non-modules case.
|
|
16
|
+
*/
|
|
17
|
+
#undef NULL
|
|
18
|
+
|
|
19
|
+
#ifdef __cplusplus
|
|
20
|
+
#if !defined(__MINGW32__) && !defined(_MSC_VER)
|
|
21
|
+
#define NULL __null
|
|
22
|
+
#else
|
|
23
|
+
#define NULL 0
|
|
24
|
+
#endif
|
|
25
|
+
#else
|
|
26
|
+
#define NULL ((void*)0)
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
#endif
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*===---- __stddef_nullptr_t.h - Definition of nullptr_t -------------------===
|
|
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
|
+
/*
|
|
11
|
+
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
|
|
12
|
+
* and needs to behave as if it was textual.
|
|
13
|
+
*/
|
|
14
|
+
#if !defined(_NULLPTR_T) || \
|
|
15
|
+
(__has_feature(modules) && !__building_module(_Builtin_stddef))
|
|
16
|
+
#define _NULLPTR_T
|
|
17
|
+
|
|
18
|
+
#ifdef __cplusplus
|
|
19
|
+
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
|
|
20
|
+
namespace std {
|
|
21
|
+
typedef decltype(nullptr) nullptr_t;
|
|
22
|
+
}
|
|
23
|
+
using ::std::nullptr_t;
|
|
24
|
+
#endif
|
|
25
|
+
#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
26
|
+
typedef typeof(nullptr) nullptr_t;
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
#endif
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*===---- __stddef_offsetof.h - Definition of offsetof ---------------------===
|
|
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
|
+
/*
|
|
11
|
+
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
|
|
12
|
+
* and needs to behave as if it was textual.
|
|
13
|
+
*/
|
|
14
|
+
#if !defined(offsetof) || \
|
|
15
|
+
(__has_feature(modules) && !__building_module(_Builtin_stddef))
|
|
16
|
+
#define offsetof(t, d) __builtin_offsetof(t, d)
|
|
17
|
+
#endif
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*===---- __stddef_ptrdiff_t.h - Definition of ptrdiff_t -------------------===
|
|
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
|
+
/*
|
|
11
|
+
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
|
|
12
|
+
* and needs to behave as if it was textual.
|
|
13
|
+
*/
|
|
14
|
+
#if !defined(_PTRDIFF_T) || \
|
|
15
|
+
(__has_feature(modules) && !__building_module(_Builtin_stddef))
|
|
16
|
+
#define _PTRDIFF_T
|
|
17
|
+
|
|
18
|
+
typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
|
19
|
+
|
|
20
|
+
#endif
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*===---- __stddef_rsize_t.h - Definition of rsize_t -----------------------===
|
|
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
|
+
/*
|
|
11
|
+
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
|
|
12
|
+
* and needs to behave as if it was textual.
|
|
13
|
+
*/
|
|
14
|
+
#if !defined(_RSIZE_T) || \
|
|
15
|
+
(__has_feature(modules) && !__building_module(_Builtin_stddef))
|
|
16
|
+
#define _RSIZE_T
|
|
17
|
+
|
|
18
|
+
typedef __SIZE_TYPE__ rsize_t;
|
|
19
|
+
|
|
20
|
+
#endif
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*===---- __stddef_size_t.h - Definition of size_t -------------------------===
|
|
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
|
+
/*
|
|
11
|
+
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
|
|
12
|
+
* and needs to behave as if it was textual.
|
|
13
|
+
*/
|
|
14
|
+
#if !defined(_SIZE_T) || \
|
|
15
|
+
(__has_feature(modules) && !__building_module(_Builtin_stddef))
|
|
16
|
+
#define _SIZE_T
|
|
17
|
+
|
|
18
|
+
typedef __SIZE_TYPE__ size_t;
|
|
19
|
+
|
|
20
|
+
#endif
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*===---- __stddef_unreachable.h - Definition of unreachable ---------------===
|
|
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 __cplusplus
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
|
|
14
|
+
* and needs to behave as if it was textual.
|
|
15
|
+
*/
|
|
16
|
+
#if !defined(unreachable) || \
|
|
17
|
+
(__has_feature(modules) && !__building_module(_Builtin_stddef))
|
|
18
|
+
#define unreachable() __builtin_unreachable()
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
#endif
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*===---- __stddef_wchar.h - Definition of wchar_t -------------------------===
|
|
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
|
+
#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED)
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header
|
|
14
|
+
* and needs to behave as if it was textual.
|
|
15
|
+
*/
|
|
16
|
+
#if !defined(_WCHAR_T) || \
|
|
17
|
+
(__has_feature(modules) && !__building_module(_Builtin_stddef))
|
|
18
|
+
#define _WCHAR_T
|
|
19
|
+
|
|
20
|
+
#ifdef _MSC_EXTENSIONS
|
|
21
|
+
#define _WCHAR_T_DEFINED
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
typedef __WCHAR_TYPE__ wchar_t;
|
|
25
|
+
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
#endif
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*===---- __stddef_wint.h - Definition of wint_t ---------------------------===
|
|
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 _WINT_T
|
|
11
|
+
#define _WINT_T
|
|
12
|
+
|
|
13
|
+
typedef __WINT_TYPE__ wint_t;
|
|
14
|
+
|
|
15
|
+
#endif
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*===----
|
|
1
|
+
/*===---- adcintrin.h - ADC intrinsics -------------------------------------===
|
|
2
2
|
*
|
|
3
3
|
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
4
|
* See https://llvm.org/LICENSE.txt for license information.
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
*===-----------------------------------------------------------------------===
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
#ifndef
|
|
11
|
-
#
|
|
12
|
-
#endif
|
|
10
|
+
#ifndef __ADCINTRIN_H
|
|
11
|
+
#define __ADCINTRIN_H
|
|
13
12
|
|
|
14
|
-
#
|
|
15
|
-
#
|
|
13
|
+
#if !defined(__i386__) && !defined(__x86_64__)
|
|
14
|
+
#error "This header is only meant to be used on x86 and x64 architecture"
|
|
15
|
+
#endif
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
18
|
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
|
|
@@ -28,8 +28,6 @@
|
|
|
28
28
|
extern "C" {
|
|
29
29
|
#endif
|
|
30
30
|
|
|
31
|
-
/* Intrinsics that are available only if __ADX__ is defined. */
|
|
32
|
-
|
|
33
31
|
/// Adds unsigned 32-bit integers \a __x and \a __y, plus 0 or 1 as indicated
|
|
34
32
|
/// by the carry flag \a __cf. Stores the unsigned 32-bit sum in the memory
|
|
35
33
|
/// at \a __p, and returns the 8-bit carry-out (carry flag).
|
|
@@ -42,7 +40,7 @@ extern "C" {
|
|
|
42
40
|
///
|
|
43
41
|
/// \headerfile <immintrin.h>
|
|
44
42
|
///
|
|
45
|
-
/// This intrinsic corresponds to the \c
|
|
43
|
+
/// This intrinsic corresponds to the \c ADC instruction.
|
|
46
44
|
///
|
|
47
45
|
/// \param __cf
|
|
48
46
|
/// The 8-bit unsigned carry flag; any non-zero value indicates carry.
|
|
@@ -53,75 +51,42 @@ extern "C" {
|
|
|
53
51
|
/// \param __p
|
|
54
52
|
/// Pointer to memory for storing the sum.
|
|
55
53
|
/// \returns The 8-bit unsigned carry-out value.
|
|
56
|
-
__INLINE unsigned char
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
__INLINE unsigned char __DEFAULT_FN_ATTRS _addcarry_u32(unsigned char __cf,
|
|
55
|
+
unsigned int __x,
|
|
56
|
+
unsigned int __y,
|
|
57
|
+
unsigned int *__p) {
|
|
60
58
|
return __builtin_ia32_addcarryx_u32(__cf, __x, __y, __p);
|
|
61
59
|
}
|
|
62
60
|
|
|
63
|
-
|
|
64
|
-
///
|
|
65
|
-
///
|
|
66
|
-
///
|
|
67
|
-
///
|
|
68
|
-
/// \code{.operation}
|
|
69
|
-
/// temp := (__cf == 0) ? 0 : 1
|
|
70
|
-
/// Store64(__p, __x + __y + temp)
|
|
71
|
-
/// result := CF
|
|
72
|
-
/// \endcode
|
|
73
|
-
///
|
|
74
|
-
/// \headerfile <immintrin.h>
|
|
75
|
-
///
|
|
76
|
-
/// This intrinsic corresponds to the \c ADCX instruction.
|
|
77
|
-
///
|
|
78
|
-
/// \param __cf
|
|
79
|
-
/// The 8-bit unsigned carry flag; any non-zero value indicates carry.
|
|
80
|
-
/// \param __x
|
|
81
|
-
/// A 64-bit unsigned addend.
|
|
82
|
-
/// \param __y
|
|
83
|
-
/// A 64-bit unsigned addend.
|
|
84
|
-
/// \param __p
|
|
85
|
-
/// Pointer to memory for storing the sum.
|
|
86
|
-
/// \returns The 8-bit unsigned carry-out value.
|
|
87
|
-
__INLINE unsigned char
|
|
88
|
-
__attribute__((__always_inline__, __nodebug__, __target__("adx")))
|
|
89
|
-
_addcarryx_u64(unsigned char __cf, unsigned long long __x,
|
|
90
|
-
unsigned long long __y, unsigned long long *__p) {
|
|
91
|
-
return __builtin_ia32_addcarryx_u64(__cf, __x, __y, __p);
|
|
92
|
-
}
|
|
93
|
-
#endif
|
|
94
|
-
|
|
95
|
-
/* Intrinsics that are also available if __ADX__ is undefined. */
|
|
96
|
-
|
|
97
|
-
/// Adds unsigned 32-bit integers \a __x and \a __y, plus 0 or 1 as indicated
|
|
98
|
-
/// by the carry flag \a __cf. Stores the unsigned 32-bit sum in the memory
|
|
99
|
-
/// at \a __p, and returns the 8-bit carry-out (carry flag).
|
|
61
|
+
/// Adds unsigned 32-bit integer \a __y to 0 or 1 as indicated by the carry
|
|
62
|
+
/// flag \a __cf, and subtracts the result from unsigned 32-bit integer
|
|
63
|
+
/// \a __x. Stores the unsigned 32-bit difference in the memory at \a __p,
|
|
64
|
+
/// and returns the 8-bit carry-out (carry or overflow flag).
|
|
100
65
|
///
|
|
101
66
|
/// \code{.operation}
|
|
102
67
|
/// temp := (__cf == 0) ? 0 : 1
|
|
103
|
-
/// Store32(__p, __x
|
|
68
|
+
/// Store32(__p, __x - (__y + temp))
|
|
104
69
|
/// result := CF
|
|
105
70
|
/// \endcode
|
|
106
71
|
///
|
|
107
72
|
/// \headerfile <immintrin.h>
|
|
108
73
|
///
|
|
109
|
-
/// This intrinsic corresponds to the \c
|
|
74
|
+
/// This intrinsic corresponds to the \c SBB instruction.
|
|
110
75
|
///
|
|
111
76
|
/// \param __cf
|
|
112
77
|
/// The 8-bit unsigned carry flag; any non-zero value indicates carry.
|
|
113
78
|
/// \param __x
|
|
114
|
-
///
|
|
79
|
+
/// The 32-bit unsigned minuend.
|
|
115
80
|
/// \param __y
|
|
116
|
-
///
|
|
81
|
+
/// The 32-bit unsigned subtrahend.
|
|
117
82
|
/// \param __p
|
|
118
|
-
/// Pointer to memory for storing the
|
|
83
|
+
/// Pointer to memory for storing the difference.
|
|
119
84
|
/// \returns The 8-bit unsigned carry-out value.
|
|
120
|
-
__INLINE unsigned char __DEFAULT_FN_ATTRS
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return
|
|
85
|
+
__INLINE unsigned char __DEFAULT_FN_ATTRS _subborrow_u32(unsigned char __cf,
|
|
86
|
+
unsigned int __x,
|
|
87
|
+
unsigned int __y,
|
|
88
|
+
unsigned int *__p) {
|
|
89
|
+
return __builtin_ia32_subborrow_u32(__cf, __x, __y, __p);
|
|
125
90
|
}
|
|
126
91
|
|
|
127
92
|
#ifdef __x86_64__
|
|
@@ -153,40 +118,7 @@ _addcarry_u64(unsigned char __cf, unsigned long long __x,
|
|
|
153
118
|
unsigned long long __y, unsigned long long *__p) {
|
|
154
119
|
return __builtin_ia32_addcarryx_u64(__cf, __x, __y, __p);
|
|
155
120
|
}
|
|
156
|
-
#endif
|
|
157
|
-
|
|
158
|
-
/// Adds unsigned 32-bit integer \a __y to 0 or 1 as indicated by the carry
|
|
159
|
-
/// flag \a __cf, and subtracts the result from unsigned 32-bit integer
|
|
160
|
-
/// \a __x. Stores the unsigned 32-bit difference in the memory at \a __p,
|
|
161
|
-
/// and returns the 8-bit carry-out (carry or overflow flag).
|
|
162
|
-
///
|
|
163
|
-
/// \code{.operation}
|
|
164
|
-
/// temp := (__cf == 0) ? 0 : 1
|
|
165
|
-
/// Store32(__p, __x - (__y + temp))
|
|
166
|
-
/// result := CF
|
|
167
|
-
/// \endcode
|
|
168
|
-
///
|
|
169
|
-
/// \headerfile <immintrin.h>
|
|
170
|
-
///
|
|
171
|
-
/// This intrinsic corresponds to the \c SBB instruction.
|
|
172
|
-
///
|
|
173
|
-
/// \param __cf
|
|
174
|
-
/// The 8-bit unsigned carry flag; any non-zero value indicates carry.
|
|
175
|
-
/// \param __x
|
|
176
|
-
/// The 32-bit unsigned minuend.
|
|
177
|
-
/// \param __y
|
|
178
|
-
/// The 32-bit unsigned subtrahend.
|
|
179
|
-
/// \param __p
|
|
180
|
-
/// Pointer to memory for storing the difference.
|
|
181
|
-
/// \returns The 8-bit unsigned carry-out value.
|
|
182
|
-
__INLINE unsigned char __DEFAULT_FN_ATTRS _subborrow_u32(unsigned char __cf,
|
|
183
|
-
unsigned int __x,
|
|
184
|
-
unsigned int __y,
|
|
185
|
-
unsigned int *__p) {
|
|
186
|
-
return __builtin_ia32_subborrow_u32(__cf, __x, __y, __p);
|
|
187
|
-
}
|
|
188
121
|
|
|
189
|
-
#ifdef __x86_64__
|
|
190
122
|
/// Adds unsigned 64-bit integer \a __y to 0 or 1 as indicated by the carry
|
|
191
123
|
/// flag \a __cf, and subtracts the result from unsigned 64-bit integer
|
|
192
124
|
/// \a __x. Stores the unsigned 64-bit difference in the memory at \a __p,
|
|
@@ -222,6 +154,7 @@ _subborrow_u64(unsigned char __cf, unsigned long long __x,
|
|
|
222
154
|
}
|
|
223
155
|
#endif
|
|
224
156
|
|
|
157
|
+
#undef __INLINE
|
|
225
158
|
#undef __DEFAULT_FN_ATTRS
|
|
226
159
|
|
|
227
|
-
#endif /*
|
|
160
|
+
#endif /* __ADCINTRIN_H */
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/*===---- adxintrin.h - ADX intrinsics -------------------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __IMMINTRIN_H
|
|
11
|
+
#error "Never use <adxintrin.h> directly; include <immintrin.h> instead."
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifndef __ADXINTRIN_H
|
|
15
|
+
#define __ADXINTRIN_H
|
|
16
|
+
|
|
17
|
+
/* Define the default attributes for the functions in this file. */
|
|
18
|
+
#define __DEFAULT_FN_ATTRS \
|
|
19
|
+
__attribute__((__always_inline__, __nodebug__, __target__("adx")))
|
|
20
|
+
|
|
21
|
+
/* Use C++ inline semantics in C++, GNU inline for C mode. */
|
|
22
|
+
#if defined(__cplusplus)
|
|
23
|
+
#define __INLINE __inline
|
|
24
|
+
#else
|
|
25
|
+
#define __INLINE static __inline
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
#if defined(__cplusplus)
|
|
29
|
+
extern "C" {
|
|
30
|
+
#endif
|
|
31
|
+
|
|
32
|
+
/* Intrinsics that are available only if __ADX__ is defined. */
|
|
33
|
+
|
|
34
|
+
/// Adds unsigned 32-bit integers \a __x and \a __y, plus 0 or 1 as indicated
|
|
35
|
+
/// by the carry flag \a __cf. Stores the unsigned 32-bit sum in the memory
|
|
36
|
+
/// at \a __p, and returns the 8-bit carry-out (carry flag).
|
|
37
|
+
///
|
|
38
|
+
/// \code{.operation}
|
|
39
|
+
/// temp := (__cf == 0) ? 0 : 1
|
|
40
|
+
/// Store32(__p, __x + __y + temp)
|
|
41
|
+
/// result := CF
|
|
42
|
+
/// \endcode
|
|
43
|
+
///
|
|
44
|
+
/// \headerfile <immintrin.h>
|
|
45
|
+
///
|
|
46
|
+
/// This intrinsic corresponds to the \c ADCX instruction.
|
|
47
|
+
///
|
|
48
|
+
/// \param __cf
|
|
49
|
+
/// The 8-bit unsigned carry flag; any non-zero value indicates carry.
|
|
50
|
+
/// \param __x
|
|
51
|
+
/// A 32-bit unsigned addend.
|
|
52
|
+
/// \param __y
|
|
53
|
+
/// A 32-bit unsigned addend.
|
|
54
|
+
/// \param __p
|
|
55
|
+
/// Pointer to memory for storing the sum.
|
|
56
|
+
/// \returns The 8-bit unsigned carry-out value.
|
|
57
|
+
__INLINE unsigned char __DEFAULT_FN_ATTRS _addcarryx_u32(unsigned char __cf,
|
|
58
|
+
unsigned int __x,
|
|
59
|
+
unsigned int __y,
|
|
60
|
+
unsigned int *__p) {
|
|
61
|
+
return __builtin_ia32_addcarryx_u32(__cf, __x, __y, __p);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
#ifdef __x86_64__
|
|
65
|
+
/// Adds unsigned 64-bit integers \a __x and \a __y, plus 0 or 1 as indicated
|
|
66
|
+
/// by the carry flag \a __cf. Stores the unsigned 64-bit sum in the memory
|
|
67
|
+
/// at \a __p, and returns the 8-bit carry-out (carry flag).
|
|
68
|
+
///
|
|
69
|
+
/// \code{.operation}
|
|
70
|
+
/// temp := (__cf == 0) ? 0 : 1
|
|
71
|
+
/// Store64(__p, __x + __y + temp)
|
|
72
|
+
/// result := CF
|
|
73
|
+
/// \endcode
|
|
74
|
+
///
|
|
75
|
+
/// \headerfile <immintrin.h>
|
|
76
|
+
///
|
|
77
|
+
/// This intrinsic corresponds to the \c ADCX instruction.
|
|
78
|
+
///
|
|
79
|
+
/// \param __cf
|
|
80
|
+
/// The 8-bit unsigned carry flag; any non-zero value indicates carry.
|
|
81
|
+
/// \param __x
|
|
82
|
+
/// A 64-bit unsigned addend.
|
|
83
|
+
/// \param __y
|
|
84
|
+
/// A 64-bit unsigned addend.
|
|
85
|
+
/// \param __p
|
|
86
|
+
/// Pointer to memory for storing the sum.
|
|
87
|
+
/// \returns The 8-bit unsigned carry-out value.
|
|
88
|
+
__INLINE unsigned char __DEFAULT_FN_ATTRS
|
|
89
|
+
_addcarryx_u64(unsigned char __cf, unsigned long long __x,
|
|
90
|
+
unsigned long long __y, unsigned long long *__p) {
|
|
91
|
+
return __builtin_ia32_addcarryx_u64(__cf, __x, __y, __p);
|
|
92
|
+
}
|
|
93
|
+
#endif
|
|
94
|
+
|
|
95
|
+
#if defined(__cplusplus)
|
|
96
|
+
}
|
|
97
|
+
#endif
|
|
98
|
+
|
|
99
|
+
#undef __INLINE
|
|
100
|
+
#undef __DEFAULT_FN_ATTRS
|
|
101
|
+
|
|
102
|
+
#endif /* __ADXINTRIN_H */
|
|
@@ -14647,67 +14647,86 @@ static __inline__ void __ATTRS_o_ai vec_stvrxl(vector float __a, int __b,
|
|
|
14647
14647
|
|
|
14648
14648
|
static __inline__ vector signed char __ATTRS_o_ai vec_promote(signed char __a,
|
|
14649
14649
|
int __b) {
|
|
14650
|
-
vector signed char
|
|
14651
|
-
|
|
14650
|
+
const vector signed char __zero = (vector signed char)0;
|
|
14651
|
+
vector signed char __res =
|
|
14652
|
+
__builtin_shufflevector(__zero, __zero, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
14653
|
+
-1, -1, -1, -1, -1, -1, -1, -1);
|
|
14654
|
+
__res[__b & 0xf] = __a;
|
|
14652
14655
|
return __res;
|
|
14653
14656
|
}
|
|
14654
14657
|
|
|
14655
14658
|
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
14656
14659
|
vec_promote(unsigned char __a, int __b) {
|
|
14657
|
-
vector unsigned char
|
|
14658
|
-
|
|
14660
|
+
const vector unsigned char __zero = (vector unsigned char)(0);
|
|
14661
|
+
vector unsigned char __res =
|
|
14662
|
+
__builtin_shufflevector(__zero, __zero, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
14663
|
+
-1, -1, -1, -1, -1, -1, -1, -1);
|
|
14664
|
+
__res[__b & 0xf] = __a;
|
|
14659
14665
|
return __res;
|
|
14660
14666
|
}
|
|
14661
14667
|
|
|
14662
14668
|
static __inline__ vector short __ATTRS_o_ai vec_promote(short __a, int __b) {
|
|
14663
|
-
vector short
|
|
14669
|
+
const vector short __zero = (vector short)(0);
|
|
14670
|
+
vector short __res =
|
|
14671
|
+
__builtin_shufflevector(__zero, __zero, -1, -1, -1, -1, -1, -1, -1, -1);
|
|
14664
14672
|
__res[__b & 0x7] = __a;
|
|
14665
14673
|
return __res;
|
|
14666
14674
|
}
|
|
14667
14675
|
|
|
14668
14676
|
static __inline__ vector unsigned short __ATTRS_o_ai
|
|
14669
14677
|
vec_promote(unsigned short __a, int __b) {
|
|
14670
|
-
vector unsigned short
|
|
14678
|
+
const vector unsigned short __zero = (vector unsigned short)(0);
|
|
14679
|
+
vector unsigned short __res =
|
|
14680
|
+
__builtin_shufflevector(__zero, __zero, -1, -1, -1, -1, -1, -1, -1, -1);
|
|
14671
14681
|
__res[__b & 0x7] = __a;
|
|
14672
14682
|
return __res;
|
|
14673
14683
|
}
|
|
14674
14684
|
|
|
14675
14685
|
static __inline__ vector int __ATTRS_o_ai vec_promote(int __a, int __b) {
|
|
14676
|
-
vector int
|
|
14686
|
+
const vector int __zero = (vector int)(0);
|
|
14687
|
+
vector int __res = __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1);
|
|
14677
14688
|
__res[__b & 0x3] = __a;
|
|
14678
14689
|
return __res;
|
|
14679
14690
|
}
|
|
14680
14691
|
|
|
14681
14692
|
static __inline__ vector unsigned int __ATTRS_o_ai vec_promote(unsigned int __a,
|
|
14682
14693
|
int __b) {
|
|
14683
|
-
vector unsigned int
|
|
14694
|
+
const vector unsigned int __zero = (vector unsigned int)(0);
|
|
14695
|
+
vector unsigned int __res =
|
|
14696
|
+
__builtin_shufflevector(__zero, __zero, -1, -1, -1, -1);
|
|
14684
14697
|
__res[__b & 0x3] = __a;
|
|
14685
14698
|
return __res;
|
|
14686
14699
|
}
|
|
14687
14700
|
|
|
14688
14701
|
static __inline__ vector float __ATTRS_o_ai vec_promote(float __a, int __b) {
|
|
14689
|
-
vector float
|
|
14702
|
+
const vector float __zero = (vector float)(0);
|
|
14703
|
+
vector float __res = __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1);
|
|
14690
14704
|
__res[__b & 0x3] = __a;
|
|
14691
14705
|
return __res;
|
|
14692
14706
|
}
|
|
14693
14707
|
|
|
14694
14708
|
#ifdef __VSX__
|
|
14695
14709
|
static __inline__ vector double __ATTRS_o_ai vec_promote(double __a, int __b) {
|
|
14696
|
-
vector double
|
|
14710
|
+
const vector double __zero = (vector double)(0);
|
|
14711
|
+
vector double __res = __builtin_shufflevector(__zero, __zero, -1, -1);
|
|
14697
14712
|
__res[__b & 0x1] = __a;
|
|
14698
14713
|
return __res;
|
|
14699
14714
|
}
|
|
14700
14715
|
|
|
14701
14716
|
static __inline__ vector signed long long __ATTRS_o_ai
|
|
14702
14717
|
vec_promote(signed long long __a, int __b) {
|
|
14703
|
-
vector signed long long
|
|
14718
|
+
const vector signed long long __zero = (vector signed long long)(0);
|
|
14719
|
+
vector signed long long __res =
|
|
14720
|
+
__builtin_shufflevector(__zero, __zero, -1, -1);
|
|
14704
14721
|
__res[__b & 0x1] = __a;
|
|
14705
14722
|
return __res;
|
|
14706
14723
|
}
|
|
14707
14724
|
|
|
14708
14725
|
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
14709
14726
|
vec_promote(unsigned long long __a, int __b) {
|
|
14710
|
-
vector unsigned long long
|
|
14727
|
+
const vector unsigned long long __zero = (vector unsigned long long)(0);
|
|
14728
|
+
vector unsigned long long __res =
|
|
14729
|
+
__builtin_shufflevector(__zero, __zero, -1, -1);
|
|
14711
14730
|
__res[__b & 0x1] = __a;
|
|
14712
14731
|
return __res;
|
|
14713
14732
|
}
|