@cpp-linter/clang-tidy-linux-arm64 17.0.6 → 18.1.8
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
|
@@ -155,9 +155,9 @@ _mm_insert_si64(__m128i __x, __m128i __y)
|
|
|
155
155
|
/// \param __a
|
|
156
156
|
/// The 64-bit double-precision floating-point register value to be stored.
|
|
157
157
|
static __inline__ void __DEFAULT_FN_ATTRS
|
|
158
|
-
_mm_stream_sd(
|
|
158
|
+
_mm_stream_sd(void *__p, __m128d __a)
|
|
159
159
|
{
|
|
160
|
-
__builtin_ia32_movntsd(__p, (__v2df)__a);
|
|
160
|
+
__builtin_ia32_movntsd((double *)__p, (__v2df)__a);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
/// Stores a 32-bit single-precision floating-point value in a 32-bit
|
|
@@ -173,9 +173,9 @@ _mm_stream_sd(double *__p, __m128d __a)
|
|
|
173
173
|
/// \param __a
|
|
174
174
|
/// The 32-bit single-precision floating-point register value to be stored.
|
|
175
175
|
static __inline__ void __DEFAULT_FN_ATTRS
|
|
176
|
-
_mm_stream_ss(
|
|
176
|
+
_mm_stream_ss(void *__p, __m128 __a)
|
|
177
177
|
{
|
|
178
|
-
__builtin_ia32_movntss(__p, (__v4sf)__a);
|
|
178
|
+
__builtin_ia32_movntss((float *)__p, (__v4sf)__a);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
#undef __DEFAULT_FN_ATTRS
|
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
6
|
*
|
|
7
|
+
* The Arm C Language Extensions specifications can be found in the following
|
|
8
|
+
* link: https://github.com/ARM-software/acle/releases
|
|
9
|
+
*
|
|
10
|
+
* The ACLE section numbers are subject to change. When consulting the
|
|
11
|
+
* specifications, it is recommended to search using section titles if
|
|
12
|
+
* the section numbers look outdated.
|
|
13
|
+
*
|
|
7
14
|
*===-----------------------------------------------------------------------===
|
|
8
15
|
*/
|
|
9
16
|
|
|
@@ -20,8 +27,8 @@
|
|
|
20
27
|
extern "C" {
|
|
21
28
|
#endif
|
|
22
29
|
|
|
23
|
-
/*
|
|
24
|
-
/*
|
|
30
|
+
/* 7 SYNCHRONIZATION, BARRIER AND HINT INTRINSICS */
|
|
31
|
+
/* 7.3 Memory barriers */
|
|
25
32
|
#if !__has_builtin(__dmb)
|
|
26
33
|
#define __dmb(i) __builtin_arm_dmb(i)
|
|
27
34
|
#endif
|
|
@@ -32,7 +39,7 @@ extern "C" {
|
|
|
32
39
|
#define __isb(i) __builtin_arm_isb(i)
|
|
33
40
|
#endif
|
|
34
41
|
|
|
35
|
-
/*
|
|
42
|
+
/* 7.4 Hints */
|
|
36
43
|
|
|
37
44
|
#if !__has_builtin(__wfi)
|
|
38
45
|
static __inline__ void __attribute__((__always_inline__, __nodebug__)) __wfi(void) {
|
|
@@ -68,7 +75,7 @@ static __inline__ void __attribute__((__always_inline__, __nodebug__)) __yield(v
|
|
|
68
75
|
#define __dbg(t) __builtin_arm_dbg(t)
|
|
69
76
|
#endif
|
|
70
77
|
|
|
71
|
-
/*
|
|
78
|
+
/* 7.5 Swap */
|
|
72
79
|
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
73
80
|
__swp(uint32_t __x, volatile uint32_t *__p) {
|
|
74
81
|
uint32_t v;
|
|
@@ -78,8 +85,8 @@ __swp(uint32_t __x, volatile uint32_t *__p) {
|
|
|
78
85
|
return v;
|
|
79
86
|
}
|
|
80
87
|
|
|
81
|
-
/*
|
|
82
|
-
/*
|
|
88
|
+
/* 7.6 Memory prefetch intrinsics */
|
|
89
|
+
/* 7.6.1 Data prefetch */
|
|
83
90
|
#define __pld(addr) __pldx(0, 0, 0, addr)
|
|
84
91
|
|
|
85
92
|
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
@@ -90,7 +97,7 @@ __swp(uint32_t __x, volatile uint32_t *__p) {
|
|
|
90
97
|
__builtin_arm_prefetch(addr, access_kind, cache_level, retention_policy, 1)
|
|
91
98
|
#endif
|
|
92
99
|
|
|
93
|
-
/*
|
|
100
|
+
/* 7.6.2 Instruction prefetch */
|
|
94
101
|
#define __pli(addr) __plix(0, 0, addr)
|
|
95
102
|
|
|
96
103
|
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
@@ -101,15 +108,15 @@ __swp(uint32_t __x, volatile uint32_t *__p) {
|
|
|
101
108
|
__builtin_arm_prefetch(addr, 0, cache_level, retention_policy, 0)
|
|
102
109
|
#endif
|
|
103
110
|
|
|
104
|
-
/*
|
|
111
|
+
/* 7.7 NOP */
|
|
105
112
|
#if !defined(_MSC_VER) || !defined(__aarch64__)
|
|
106
113
|
static __inline__ void __attribute__((__always_inline__, __nodebug__)) __nop(void) {
|
|
107
114
|
__builtin_arm_nop();
|
|
108
115
|
}
|
|
109
116
|
#endif
|
|
110
117
|
|
|
111
|
-
/*
|
|
112
|
-
/*
|
|
118
|
+
/* 8 DATA-PROCESSING INTRINSICS */
|
|
119
|
+
/* 8.2 Miscellaneous data-processing intrinsics */
|
|
113
120
|
/* ROR */
|
|
114
121
|
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
115
122
|
__ror(uint32_t __x, uint32_t __y) {
|
|
@@ -248,9 +255,7 @@ __rbitl(unsigned long __t) {
|
|
|
248
255
|
#endif
|
|
249
256
|
}
|
|
250
257
|
|
|
251
|
-
/*
|
|
252
|
-
* 9.3 16-bit multiplications
|
|
253
|
-
*/
|
|
258
|
+
/* 8.3 16-bit multiplications */
|
|
254
259
|
#if defined(__ARM_FEATURE_DSP) && __ARM_FEATURE_DSP
|
|
255
260
|
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__))
|
|
256
261
|
__smulbb(int32_t __a, int32_t __b) {
|
|
@@ -279,18 +284,18 @@ __smulwt(int32_t __a, int32_t __b) {
|
|
|
279
284
|
#endif
|
|
280
285
|
|
|
281
286
|
/*
|
|
282
|
-
*
|
|
287
|
+
* 8.4 Saturating intrinsics
|
|
283
288
|
*
|
|
284
289
|
* FIXME: Change guard to their corresponding __ARM_FEATURE flag when Q flag
|
|
285
290
|
* intrinsics are implemented and the flag is enabled.
|
|
286
291
|
*/
|
|
287
|
-
/*
|
|
292
|
+
/* 8.4.1 Width-specified saturation intrinsics */
|
|
288
293
|
#if defined(__ARM_FEATURE_SAT) && __ARM_FEATURE_SAT
|
|
289
294
|
#define __ssat(x, y) __builtin_arm_ssat(x, y)
|
|
290
295
|
#define __usat(x, y) __builtin_arm_usat(x, y)
|
|
291
296
|
#endif
|
|
292
297
|
|
|
293
|
-
/*
|
|
298
|
+
/* 8.4.2 Saturating addition and subtraction intrinsics */
|
|
294
299
|
#if defined(__ARM_FEATURE_DSP) && __ARM_FEATURE_DSP
|
|
295
300
|
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
296
301
|
__qadd(int32_t __t, int32_t __v) {
|
|
@@ -308,7 +313,7 @@ __qdbl(int32_t __t) {
|
|
|
308
313
|
}
|
|
309
314
|
#endif
|
|
310
315
|
|
|
311
|
-
/*
|
|
316
|
+
/* 8.4.3 Accumultating multiplications */
|
|
312
317
|
#if defined(__ARM_FEATURE_DSP) && __ARM_FEATURE_DSP
|
|
313
318
|
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
314
319
|
__smlabb(int32_t __a, int32_t __b, int32_t __c) {
|
|
@@ -337,13 +342,13 @@ __smlawt(int32_t __a, int32_t __b, int32_t __c) {
|
|
|
337
342
|
#endif
|
|
338
343
|
|
|
339
344
|
|
|
340
|
-
/*
|
|
345
|
+
/* 8.5.4 Parallel 16-bit saturation */
|
|
341
346
|
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
342
347
|
#define __ssat16(x, y) __builtin_arm_ssat16(x, y)
|
|
343
348
|
#define __usat16(x, y) __builtin_arm_usat16(x, y)
|
|
344
349
|
#endif
|
|
345
350
|
|
|
346
|
-
/*
|
|
351
|
+
/* 8.5.5 Packing and unpacking */
|
|
347
352
|
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
348
353
|
typedef int32_t int8x4_t;
|
|
349
354
|
typedef int32_t int16x2_t;
|
|
@@ -368,7 +373,7 @@ __uxtb16(int8x4_t __a) {
|
|
|
368
373
|
}
|
|
369
374
|
#endif
|
|
370
375
|
|
|
371
|
-
/*
|
|
376
|
+
/* 8.5.6 Parallel selection */
|
|
372
377
|
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
373
378
|
static __inline__ uint8x4_t __attribute__((__always_inline__, __nodebug__))
|
|
374
379
|
__sel(uint8x4_t __a, uint8x4_t __b) {
|
|
@@ -376,7 +381,7 @@ __sel(uint8x4_t __a, uint8x4_t __b) {
|
|
|
376
381
|
}
|
|
377
382
|
#endif
|
|
378
383
|
|
|
379
|
-
/*
|
|
384
|
+
/* 8.5.7 Parallel 8-bit addition and subtraction */
|
|
380
385
|
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
381
386
|
static __inline__ int8x4_t __attribute__((__always_inline__, __nodebug__))
|
|
382
387
|
__qadd8(int8x4_t __a, int8x4_t __b) {
|
|
@@ -428,7 +433,7 @@ __usub8(uint8x4_t __a, uint8x4_t __b) {
|
|
|
428
433
|
}
|
|
429
434
|
#endif
|
|
430
435
|
|
|
431
|
-
/*
|
|
436
|
+
/* 8.5.8 Sum of 8-bit absolute differences */
|
|
432
437
|
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
433
438
|
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
434
439
|
__usad8(uint8x4_t __a, uint8x4_t __b) {
|
|
@@ -440,7 +445,7 @@ __usada8(uint8x4_t __a, uint8x4_t __b, uint32_t __c) {
|
|
|
440
445
|
}
|
|
441
446
|
#endif
|
|
442
447
|
|
|
443
|
-
/*
|
|
448
|
+
/* 8.5.9 Parallel 16-bit addition and subtraction */
|
|
444
449
|
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
445
450
|
static __inline__ int16x2_t __attribute__((__always_inline__, __nodebug__))
|
|
446
451
|
__qadd16(int16x2_t __a, int16x2_t __b) {
|
|
@@ -540,7 +545,7 @@ __usub16(uint16x2_t __a, uint16x2_t __b) {
|
|
|
540
545
|
}
|
|
541
546
|
#endif
|
|
542
547
|
|
|
543
|
-
/*
|
|
548
|
+
/* 8.5.10 Parallel 16-bit multiplications */
|
|
544
549
|
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
545
550
|
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
546
551
|
__smlad(int16x2_t __a, int16x2_t __b, int32_t __c) {
|
|
@@ -592,7 +597,22 @@ __smusdx(int16x2_t __a, int16x2_t __b) {
|
|
|
592
597
|
}
|
|
593
598
|
#endif
|
|
594
599
|
|
|
595
|
-
/*
|
|
600
|
+
/* 8.6 Floating-point data-processing intrinsics */
|
|
601
|
+
#if (defined(__ARM_FEATURE_DIRECTED_ROUNDING) && \
|
|
602
|
+
(__ARM_FEATURE_DIRECTED_ROUNDING)) && \
|
|
603
|
+
(defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE)
|
|
604
|
+
static __inline__ double __attribute__((__always_inline__, __nodebug__))
|
|
605
|
+
__rintn(double __a) {
|
|
606
|
+
return __builtin_roundeven(__a);
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
static __inline__ float __attribute__((__always_inline__, __nodebug__))
|
|
610
|
+
__rintnf(float __a) {
|
|
611
|
+
return __builtin_roundevenf(__a);
|
|
612
|
+
}
|
|
613
|
+
#endif
|
|
614
|
+
|
|
615
|
+
/* 8.8 CRC32 intrinsics */
|
|
596
616
|
#if (defined(__ARM_FEATURE_CRC32) && __ARM_FEATURE_CRC32) || \
|
|
597
617
|
(defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE)
|
|
598
618
|
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
@@ -636,6 +656,7 @@ __crc32cd(uint32_t __a, uint64_t __b) {
|
|
|
636
656
|
}
|
|
637
657
|
#endif
|
|
638
658
|
|
|
659
|
+
/* 8.6 Floating-point data-processing intrinsics */
|
|
639
660
|
/* Armv8.3-A Javascript conversion intrinsic */
|
|
640
661
|
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
641
662
|
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("v8.3a")))
|
|
@@ -687,7 +708,7 @@ __rint64x(double __a) {
|
|
|
687
708
|
}
|
|
688
709
|
#endif
|
|
689
710
|
|
|
690
|
-
/* Armv8.7-A load/store 64-byte intrinsics */
|
|
711
|
+
/* 8.9 Armv8.7-A load/store 64-byte intrinsics */
|
|
691
712
|
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
692
713
|
typedef struct {
|
|
693
714
|
uint64_t val[8];
|
|
@@ -713,7 +734,7 @@ __arm_st64bv0(void *__addr, data512_t __value) {
|
|
|
713
734
|
}
|
|
714
735
|
#endif
|
|
715
736
|
|
|
716
|
-
/*
|
|
737
|
+
/* 11.1 Special register intrinsics */
|
|
717
738
|
#define __arm_rsr(sysreg) __builtin_arm_rsr(sysreg)
|
|
718
739
|
#define __arm_rsr64(sysreg) __builtin_arm_rsr64(sysreg)
|
|
719
740
|
#define __arm_rsr128(sysreg) __builtin_arm_rsr128(sysreg)
|
|
@@ -727,7 +748,7 @@ __arm_st64bv0(void *__addr, data512_t __value) {
|
|
|
727
748
|
#define __arm_wsrf(sysreg, v) __arm_wsr(sysreg, __builtin_bit_cast(uint32_t, v))
|
|
728
749
|
#define __arm_wsrf64(sysreg, v) __arm_wsr64(sysreg, __builtin_bit_cast(uint64_t, v))
|
|
729
750
|
|
|
730
|
-
/* Memory Tagging Extensions (MTE) Intrinsics */
|
|
751
|
+
/* 10.3 Memory Tagging Extensions (MTE) Intrinsics */
|
|
731
752
|
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
732
753
|
#define __arm_mte_create_random_tag(__ptr, __mask) __builtin_arm_irg(__ptr, __mask)
|
|
733
754
|
#define __arm_mte_increment_tag(__ptr, __tag_offset) __builtin_arm_addg(__ptr, __tag_offset)
|
|
@@ -736,12 +757,71 @@ __arm_st64bv0(void *__addr, data512_t __value) {
|
|
|
736
757
|
#define __arm_mte_set_tag(__ptr) __builtin_arm_stg(__ptr)
|
|
737
758
|
#define __arm_mte_ptrdiff(__ptra, __ptrb) __builtin_arm_subp(__ptra, __ptrb)
|
|
738
759
|
|
|
739
|
-
/* Memory Operations Intrinsics */
|
|
760
|
+
/* 18 Memory Operations Intrinsics */
|
|
740
761
|
#define __arm_mops_memset_tag(__tagged_address, __value, __size) \
|
|
741
762
|
__builtin_arm_mops_memset_tag(__tagged_address, __value, __size)
|
|
742
763
|
#endif
|
|
743
764
|
|
|
744
|
-
/*
|
|
765
|
+
/* 11.3 Coprocessor Intrinsics */
|
|
766
|
+
#if defined(__ARM_FEATURE_COPROC)
|
|
767
|
+
|
|
768
|
+
#if (__ARM_FEATURE_COPROC & 0x1)
|
|
769
|
+
|
|
770
|
+
#if (__ARM_ARCH < 8)
|
|
771
|
+
#define __arm_cdp(coproc, opc1, CRd, CRn, CRm, opc2) \
|
|
772
|
+
__builtin_arm_cdp(coproc, opc1, CRd, CRn, CRm, opc2)
|
|
773
|
+
#endif /* __ARM_ARCH < 8 */
|
|
774
|
+
|
|
775
|
+
#define __arm_ldc(coproc, CRd, p) __builtin_arm_ldc(coproc, CRd, p)
|
|
776
|
+
#define __arm_stc(coproc, CRd, p) __builtin_arm_stc(coproc, CRd, p)
|
|
777
|
+
|
|
778
|
+
#define __arm_mcr(coproc, opc1, value, CRn, CRm, opc2) \
|
|
779
|
+
__builtin_arm_mcr(coproc, opc1, value, CRn, CRm, opc2)
|
|
780
|
+
#define __arm_mrc(coproc, opc1, CRn, CRm, opc2) \
|
|
781
|
+
__builtin_arm_mrc(coproc, opc1, CRn, CRm, opc2)
|
|
782
|
+
|
|
783
|
+
#if (__ARM_ARCH != 4) && (__ARM_ARCH < 8)
|
|
784
|
+
#define __arm_ldcl(coproc, CRd, p) __builtin_arm_ldcl(coproc, CRd, p)
|
|
785
|
+
#define __arm_stcl(coproc, CRd, p) __builtin_arm_stcl(coproc, CRd, p)
|
|
786
|
+
#endif /* (__ARM_ARCH != 4) && (__ARM_ARCH != 8) */
|
|
787
|
+
|
|
788
|
+
#if (__ARM_ARCH_8M_MAIN__) || (__ARM_ARCH_8_1M_MAIN__)
|
|
789
|
+
#define __arm_cdp(coproc, opc1, CRd, CRn, CRm, opc2) \
|
|
790
|
+
__builtin_arm_cdp(coproc, opc1, CRd, CRn, CRm, opc2)
|
|
791
|
+
#define __arm_ldcl(coproc, CRd, p) __builtin_arm_ldcl(coproc, CRd, p)
|
|
792
|
+
#define __arm_stcl(coproc, CRd, p) __builtin_arm_stcl(coproc, CRd, p)
|
|
793
|
+
#endif /* ___ARM_ARCH_8M_MAIN__ */
|
|
794
|
+
|
|
795
|
+
#endif /* __ARM_FEATURE_COPROC & 0x1 */
|
|
796
|
+
|
|
797
|
+
#if (__ARM_FEATURE_COPROC & 0x2)
|
|
798
|
+
#define __arm_cdp2(coproc, opc1, CRd, CRn, CRm, opc2) \
|
|
799
|
+
__builtin_arm_cdp2(coproc, opc1, CRd, CRn, CRm, opc2)
|
|
800
|
+
#define __arm_ldc2(coproc, CRd, p) __builtin_arm_ldc2(coproc, CRd, p)
|
|
801
|
+
#define __arm_stc2(coproc, CRd, p) __builtin_arm_stc2(coproc, CRd, p)
|
|
802
|
+
#define __arm_ldc2l(coproc, CRd, p) __builtin_arm_ldc2l(coproc, CRd, p)
|
|
803
|
+
#define __arm_stc2l(coproc, CRd, p) __builtin_arm_stc2l(coproc, CRd, p)
|
|
804
|
+
#define __arm_mcr2(coproc, opc1, value, CRn, CRm, opc2) \
|
|
805
|
+
__builtin_arm_mcr2(coproc, opc1, value, CRn, CRm, opc2)
|
|
806
|
+
#define __arm_mrc2(coproc, opc1, CRn, CRm, opc2) \
|
|
807
|
+
__builtin_arm_mrc2(coproc, opc1, CRn, CRm, opc2)
|
|
808
|
+
#endif
|
|
809
|
+
|
|
810
|
+
#if (__ARM_FEATURE_COPROC & 0x4)
|
|
811
|
+
#define __arm_mcrr(coproc, opc1, value, CRm) \
|
|
812
|
+
__builtin_arm_mcrr(coproc, opc1, value, CRm)
|
|
813
|
+
#define __arm_mrrc(coproc, opc1, CRm) __builtin_arm_mrrc(coproc, opc1, CRm)
|
|
814
|
+
#endif
|
|
815
|
+
|
|
816
|
+
#if (__ARM_FEATURE_COPROC & 0x8)
|
|
817
|
+
#define __arm_mcrr2(coproc, opc1, value, CRm) \
|
|
818
|
+
__builtin_arm_mcrr2(coproc, opc1, value, CRm)
|
|
819
|
+
#define __arm_mrrc2(coproc, opc1, CRm) __builtin_arm_mrrc2(coproc, opc1, CRm)
|
|
820
|
+
#endif
|
|
821
|
+
|
|
822
|
+
#endif // __ARM_FEATURE_COPROC
|
|
823
|
+
|
|
824
|
+
/* 17 Transactional Memory Extension (TME) Intrinsics */
|
|
745
825
|
#if defined(__ARM_FEATURE_TME) && __ARM_FEATURE_TME
|
|
746
826
|
|
|
747
827
|
#define _TMFAILURE_REASON 0x00007fffu
|
|
@@ -763,7 +843,7 @@ __arm_st64bv0(void *__addr, data512_t __value) {
|
|
|
763
843
|
|
|
764
844
|
#endif /* __ARM_FEATURE_TME */
|
|
765
845
|
|
|
766
|
-
/* Armv8.5-A Random number generation intrinsics */
|
|
846
|
+
/* 8.7 Armv8.5-A Random number generation intrinsics */
|
|
767
847
|
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
768
848
|
static __inline__ int __attribute__((__always_inline__, __nodebug__, target("rand")))
|
|
769
849
|
__rndr(uint64_t *__p) {
|