@cpp-linter/clang-tidy-win32-x64 15.0.2 → 16.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
- package/lib/clang/{15.0.2 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
- package/lib/clang/{15.0.2 → 16}/include/__clang_hip_math.h +10 -13
- package/lib/clang/{15.0.2 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
- package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
- package/lib/clang/{15.0.2 → 16}/include/altivec.h +14 -14
- package/lib/clang/16/include/amxfp16intrin.h +58 -0
- package/lib/clang/{15.0.2 → 16}/include/amxintrin.h +32 -0
- package/lib/clang/{15.0.2 → 16}/include/arm_acle.h +76 -75
- package/lib/clang/{15.0.2 → 16}/include/arm_fp16.h +1 -1
- package/lib/clang/{15.0.2 → 16}/include/arm_neon.h +26428 -26598
- package/lib/clang/{15.0.2 → 16}/include/arm_neon_sve_bridge.h +0 -2
- package/lib/clang/{15.0.2 → 16}/include/arm_sve.h +7784 -7936
- package/lib/clang/{15.0.2 → 16}/include/avx512bf16intrin.h +18 -15
- package/lib/clang/{15.0.2 → 16}/include/avx512fintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/avx512fp16intrin.h +6 -9
- package/lib/clang/{15.0.2 → 16}/include/avx512ifmavlintrin.h +13 -27
- package/lib/clang/{15.0.2 → 16}/include/avx512vlbf16intrin.h +31 -38
- package/lib/clang/{15.0.2 → 16}/include/avx512vlbwintrin.h +352 -0
- package/lib/clang/{15.0.2 → 16}/include/avx512vlfp16intrin.h +3 -0
- package/lib/clang/16/include/avxifmaintrin.h +177 -0
- package/lib/clang/{15.0.2 → 16}/include/avxintrin.h +12 -2
- package/lib/clang/16/include/avxneconvertintrin.h +484 -0
- package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
- package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
- package/lib/clang/{15.0.2 → 16}/include/cpuid.h +11 -1
- package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
- package/lib/clang/{15.0.2 → 16}/include/emmintrin.h +11 -1
- package/lib/clang/{15.0.2 → 16}/include/float.h +17 -10
- package/lib/clang/{15.0.2 → 16}/include/gfniintrin.h +7 -5
- package/lib/clang/{15.0.2 → 16}/include/hlsl/hlsl_basic_types.h +3 -0
- package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
- package/lib/clang/{15.0.2 → 16}/include/immintrin.h +41 -9
- package/lib/clang/16/include/larchintrin.h +234 -0
- package/lib/clang/{15.0.2 → 16}/include/limits.h +3 -2
- package/lib/clang/{15.0.2 → 16}/include/opencl-c-base.h +19 -0
- package/lib/clang/{15.0.2 → 16}/include/opencl-c.h +175 -145
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/emmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/mm_malloc.h +1 -1
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/mmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/pmmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/smmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/tmmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/xmmintrin.h +2 -2
- package/lib/clang/16/include/prfchiintrin.h +61 -0
- package/lib/clang/16/include/raointintrin.h +203 -0
- package/lib/clang/{15.0.2 → 16}/include/riscv_vector.h +62 -53
- package/lib/clang/{15.0.2 → 16}/include/smmintrin.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/stdarg.h +23 -7
- package/lib/clang/{15.0.2 → 16}/include/stdatomic.h +6 -3
- package/lib/clang/{15.0.2 → 16}/include/stdbool.h +2 -2
- package/lib/clang/{15.0.2 → 16}/include/stddef.h +8 -1
- package/lib/clang/{15.0.2 → 16}/include/stdint.h +158 -40
- package/lib/clang/{15.0.2 → 16}/include/stdnoreturn.h +1 -1
- package/lib/clang/{15.0.2 → 16}/include/unwind.h +2 -1
- package/lib/clang/{15.0.2 → 16}/include/velintrin.h +1 -1
- package/lib/clang/{15.0.2 → 16}/include/x86gprintrin.h +19 -7
- package/lib/clang/{15.0.2 → 16}/include/xmmintrin.h +1 -2
- package/package.json +6 -6
- package/lib/clang/15.0.2/include/hlsl/hlsl_intrinsics.h +0 -15
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_intrinsics.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/adxintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ammintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm64intr.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm_bf16.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm_cde.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm_cmse.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/arm_mve.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/armintr.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/bmiintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/builtins.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cet.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cetintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/clwbintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/clzerointrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/crc32intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/f16cintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/fma4intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/fmaintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hexagon_types.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hlsl.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hresetintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/htmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ia32intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/inttypes.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/iso646.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/lwpintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/mm3dnow.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/mm_malloc.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/mmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/module.modulemap +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/movdirintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/msa.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/nmmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/pkuintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/pmmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/popcntintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/rtmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/s390intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/serializeintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/sgxintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/shaintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/stdalign.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/tbmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/tgmath.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/tmmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/uintrintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/vadefs.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/vaesintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/varargs.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/vecintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/wmmintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/x86intrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xopintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{15.0.2 → 16}/include/xtestintrin.h +0 -0
|
@@ -64,7 +64,7 @@ static __inline__ void __attribute__((__always_inline__, __nodebug__)) __yield(v
|
|
|
64
64
|
}
|
|
65
65
|
#endif
|
|
66
66
|
|
|
67
|
-
#if __ARM_32BIT_STATE
|
|
67
|
+
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
68
68
|
#define __dbg(t) __builtin_arm_dbg(t)
|
|
69
69
|
#endif
|
|
70
70
|
|
|
@@ -82,7 +82,7 @@ __swp(uint32_t __x, volatile uint32_t *__p) {
|
|
|
82
82
|
/* 8.6.1 Data prefetch */
|
|
83
83
|
#define __pld(addr) __pldx(0, 0, 0, addr)
|
|
84
84
|
|
|
85
|
-
#if __ARM_32BIT_STATE
|
|
85
|
+
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
86
86
|
#define __pldx(access_kind, cache_level, retention_policy, addr) \
|
|
87
87
|
__builtin_arm_prefetch(addr, access_kind, 1)
|
|
88
88
|
#else
|
|
@@ -93,7 +93,7 @@ __swp(uint32_t __x, volatile uint32_t *__p) {
|
|
|
93
93
|
/* 8.6.2 Instruction prefetch */
|
|
94
94
|
#define __pli(addr) __plix(0, 0, addr)
|
|
95
95
|
|
|
96
|
-
#if __ARM_32BIT_STATE
|
|
96
|
+
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
97
97
|
#define __plix(cache_level, retention_policy, addr) \
|
|
98
98
|
__builtin_arm_prefetch(addr, 0, 0)
|
|
99
99
|
#else
|
|
@@ -140,17 +140,17 @@ __rorl(unsigned long __x, uint32_t __y) {
|
|
|
140
140
|
/* CLZ */
|
|
141
141
|
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
142
142
|
__clz(uint32_t __t) {
|
|
143
|
-
return __builtin_clz(__t);
|
|
143
|
+
return (uint32_t)__builtin_clz(__t);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
static __inline__ unsigned long __attribute__((__always_inline__, __nodebug__))
|
|
147
147
|
__clzl(unsigned long __t) {
|
|
148
|
-
return __builtin_clzl(__t);
|
|
148
|
+
return (unsigned long)__builtin_clzl(__t);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
152
152
|
__clzll(uint64_t __t) {
|
|
153
|
-
return __builtin_clzll(__t);
|
|
153
|
+
return (uint64_t)__builtin_clzll(__t);
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
/* CLS */
|
|
@@ -201,7 +201,7 @@ __rev16(uint32_t __t) {
|
|
|
201
201
|
|
|
202
202
|
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
203
203
|
__rev16ll(uint64_t __t) {
|
|
204
|
-
return (((uint64_t)__rev16(__t >> 32)) << 32) | __rev16(__t);
|
|
204
|
+
return (((uint64_t)__rev16(__t >> 32)) << 32) | (uint64_t)__rev16((uint32_t)__t);
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
static __inline__ unsigned long __attribute__((__always_inline__, __nodebug__))
|
|
@@ -216,7 +216,7 @@ __rev16l(unsigned long __t) {
|
|
|
216
216
|
/* REVSH */
|
|
217
217
|
static __inline__ int16_t __attribute__((__always_inline__, __nodebug__))
|
|
218
218
|
__revsh(int16_t __t) {
|
|
219
|
-
return __builtin_bswap16(__t);
|
|
219
|
+
return (int16_t)__builtin_bswap16((uint16_t)__t);
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
/* RBIT */
|
|
@@ -227,7 +227,7 @@ __rbit(uint32_t __t) {
|
|
|
227
227
|
|
|
228
228
|
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
229
229
|
__rbitll(uint64_t __t) {
|
|
230
|
-
#if __ARM_32BIT_STATE
|
|
230
|
+
#if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
|
|
231
231
|
return (((uint64_t)__builtin_arm_rbit(__t)) << 32) |
|
|
232
232
|
__builtin_arm_rbit(__t >> 32);
|
|
233
233
|
#else
|
|
@@ -247,7 +247,7 @@ __rbitl(unsigned long __t) {
|
|
|
247
247
|
/*
|
|
248
248
|
* 9.3 16-bit multiplications
|
|
249
249
|
*/
|
|
250
|
-
#if __ARM_FEATURE_DSP
|
|
250
|
+
#if defined(__ARM_FEATURE_DSP) && __ARM_FEATURE_DSP
|
|
251
251
|
static __inline__ int32_t __attribute__((__always_inline__,__nodebug__))
|
|
252
252
|
__smulbb(int32_t __a, int32_t __b) {
|
|
253
253
|
return __builtin_arm_smulbb(__a, __b);
|
|
@@ -277,17 +277,17 @@ __smulwt(int32_t __a, int32_t __b) {
|
|
|
277
277
|
/*
|
|
278
278
|
* 9.4 Saturating intrinsics
|
|
279
279
|
*
|
|
280
|
-
* FIXME: Change guard to their
|
|
280
|
+
* FIXME: Change guard to their corresponding __ARM_FEATURE flag when Q flag
|
|
281
281
|
* intrinsics are implemented and the flag is enabled.
|
|
282
282
|
*/
|
|
283
283
|
/* 9.4.1 Width-specified saturation intrinsics */
|
|
284
|
-
#if __ARM_FEATURE_SAT
|
|
284
|
+
#if defined(__ARM_FEATURE_SAT) && __ARM_FEATURE_SAT
|
|
285
285
|
#define __ssat(x, y) __builtin_arm_ssat(x, y)
|
|
286
286
|
#define __usat(x, y) __builtin_arm_usat(x, y)
|
|
287
287
|
#endif
|
|
288
288
|
|
|
289
289
|
/* 9.4.2 Saturating addition and subtraction intrinsics */
|
|
290
|
-
#if __ARM_FEATURE_DSP
|
|
290
|
+
#if defined(__ARM_FEATURE_DSP) && __ARM_FEATURE_DSP
|
|
291
291
|
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
292
292
|
__qadd(int32_t __t, int32_t __v) {
|
|
293
293
|
return __builtin_arm_qadd(__t, __v);
|
|
@@ -305,7 +305,7 @@ __qdbl(int32_t __t) {
|
|
|
305
305
|
#endif
|
|
306
306
|
|
|
307
307
|
/* 9.4.3 Accumultating multiplications */
|
|
308
|
-
#if __ARM_FEATURE_DSP
|
|
308
|
+
#if defined(__ARM_FEATURE_DSP) && __ARM_FEATURE_DSP
|
|
309
309
|
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
310
310
|
__smlabb(int32_t __a, int32_t __b, int32_t __c) {
|
|
311
311
|
return __builtin_arm_smlabb(__a, __b, __c);
|
|
@@ -334,13 +334,13 @@ __smlawt(int32_t __a, int32_t __b, int32_t __c) {
|
|
|
334
334
|
|
|
335
335
|
|
|
336
336
|
/* 9.5.4 Parallel 16-bit saturation */
|
|
337
|
-
#if __ARM_FEATURE_SIMD32
|
|
337
|
+
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
338
338
|
#define __ssat16(x, y) __builtin_arm_ssat16(x, y)
|
|
339
339
|
#define __usat16(x, y) __builtin_arm_usat16(x, y)
|
|
340
340
|
#endif
|
|
341
341
|
|
|
342
342
|
/* 9.5.5 Packing and unpacking */
|
|
343
|
-
#if __ARM_FEATURE_SIMD32
|
|
343
|
+
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
344
344
|
typedef int32_t int8x4_t;
|
|
345
345
|
typedef int32_t int16x2_t;
|
|
346
346
|
typedef uint32_t uint8x4_t;
|
|
@@ -365,7 +365,7 @@ __uxtb16(int8x4_t __a) {
|
|
|
365
365
|
#endif
|
|
366
366
|
|
|
367
367
|
/* 9.5.6 Parallel selection */
|
|
368
|
-
#if __ARM_FEATURE_SIMD32
|
|
368
|
+
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
369
369
|
static __inline__ uint8x4_t __attribute__((__always_inline__, __nodebug__))
|
|
370
370
|
__sel(uint8x4_t __a, uint8x4_t __b) {
|
|
371
371
|
return __builtin_arm_sel(__a, __b);
|
|
@@ -373,7 +373,7 @@ __sel(uint8x4_t __a, uint8x4_t __b) {
|
|
|
373
373
|
#endif
|
|
374
374
|
|
|
375
375
|
/* 9.5.7 Parallel 8-bit addition and subtraction */
|
|
376
|
-
#if __ARM_FEATURE_SIMD32
|
|
376
|
+
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
377
377
|
static __inline__ int8x4_t __attribute__((__always_inline__, __nodebug__))
|
|
378
378
|
__qadd8(int8x4_t __a, int8x4_t __b) {
|
|
379
379
|
return __builtin_arm_qadd8(__a, __b);
|
|
@@ -425,7 +425,7 @@ __usub8(uint8x4_t __a, uint8x4_t __b) {
|
|
|
425
425
|
#endif
|
|
426
426
|
|
|
427
427
|
/* 9.5.8 Sum of 8-bit absolute differences */
|
|
428
|
-
#if __ARM_FEATURE_SIMD32
|
|
428
|
+
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
429
429
|
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
430
430
|
__usad8(uint8x4_t __a, uint8x4_t __b) {
|
|
431
431
|
return __builtin_arm_usad8(__a, __b);
|
|
@@ -437,7 +437,7 @@ __usada8(uint8x4_t __a, uint8x4_t __b, uint32_t __c) {
|
|
|
437
437
|
#endif
|
|
438
438
|
|
|
439
439
|
/* 9.5.9 Parallel 16-bit addition and subtraction */
|
|
440
|
-
#if __ARM_FEATURE_SIMD32
|
|
440
|
+
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
441
441
|
static __inline__ int16x2_t __attribute__((__always_inline__, __nodebug__))
|
|
442
442
|
__qadd16(int16x2_t __a, int16x2_t __b) {
|
|
443
443
|
return __builtin_arm_qadd16(__a, __b);
|
|
@@ -537,7 +537,7 @@ __usub16(uint16x2_t __a, uint16x2_t __b) {
|
|
|
537
537
|
#endif
|
|
538
538
|
|
|
539
539
|
/* 9.5.10 Parallel 16-bit multiplications */
|
|
540
|
-
#if __ARM_FEATURE_SIMD32
|
|
540
|
+
#if defined(__ARM_FEATURE_SIMD32) && __ARM_FEATURE_SIMD32
|
|
541
541
|
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
542
542
|
__smlad(int16x2_t __a, int16x2_t __b, int32_t __c) {
|
|
543
543
|
return __builtin_arm_smlad(__a, __b, __c);
|
|
@@ -589,155 +589,156 @@ __smusdx(int16x2_t __a, int16x2_t __b) {
|
|
|
589
589
|
#endif
|
|
590
590
|
|
|
591
591
|
/* 9.7 CRC32 intrinsics */
|
|
592
|
-
#if __ARM_FEATURE_CRC32
|
|
593
|
-
|
|
592
|
+
#if (defined(__ARM_FEATURE_CRC32) && __ARM_FEATURE_CRC32) || \
|
|
593
|
+
(defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE)
|
|
594
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
594
595
|
__crc32b(uint32_t __a, uint8_t __b) {
|
|
595
596
|
return __builtin_arm_crc32b(__a, __b);
|
|
596
597
|
}
|
|
597
598
|
|
|
598
|
-
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
599
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
599
600
|
__crc32h(uint32_t __a, uint16_t __b) {
|
|
600
601
|
return __builtin_arm_crc32h(__a, __b);
|
|
601
602
|
}
|
|
602
603
|
|
|
603
|
-
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
604
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
604
605
|
__crc32w(uint32_t __a, uint32_t __b) {
|
|
605
606
|
return __builtin_arm_crc32w(__a, __b);
|
|
606
607
|
}
|
|
607
608
|
|
|
608
|
-
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
609
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
609
610
|
__crc32d(uint32_t __a, uint64_t __b) {
|
|
610
611
|
return __builtin_arm_crc32d(__a, __b);
|
|
611
612
|
}
|
|
612
613
|
|
|
613
|
-
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
614
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
614
615
|
__crc32cb(uint32_t __a, uint8_t __b) {
|
|
615
616
|
return __builtin_arm_crc32cb(__a, __b);
|
|
616
617
|
}
|
|
617
618
|
|
|
618
|
-
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
619
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
619
620
|
__crc32ch(uint32_t __a, uint16_t __b) {
|
|
620
621
|
return __builtin_arm_crc32ch(__a, __b);
|
|
621
622
|
}
|
|
622
623
|
|
|
623
|
-
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
624
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
624
625
|
__crc32cw(uint32_t __a, uint32_t __b) {
|
|
625
626
|
return __builtin_arm_crc32cw(__a, __b);
|
|
626
627
|
}
|
|
627
628
|
|
|
628
|
-
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
629
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__, target("crc")))
|
|
629
630
|
__crc32cd(uint32_t __a, uint64_t __b) {
|
|
630
631
|
return __builtin_arm_crc32cd(__a, __b);
|
|
631
632
|
}
|
|
632
633
|
#endif
|
|
633
634
|
|
|
634
635
|
/* Armv8.3-A Javascript conversion intrinsic */
|
|
635
|
-
#if __ARM_64BIT_STATE &&
|
|
636
|
-
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
|
|
636
|
+
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
637
|
+
static __inline__ int32_t __attribute__((__always_inline__, __nodebug__, target("v8.3a")))
|
|
637
638
|
__jcvt(double __a) {
|
|
638
639
|
return __builtin_arm_jcvt(__a);
|
|
639
640
|
}
|
|
640
641
|
#endif
|
|
641
642
|
|
|
642
643
|
/* Armv8.5-A FP rounding intrinsics */
|
|
643
|
-
#if __ARM_64BIT_STATE &&
|
|
644
|
-
static __inline__ float __attribute__((__always_inline__, __nodebug__))
|
|
645
|
-
|
|
646
|
-
return
|
|
644
|
+
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
645
|
+
static __inline__ float __attribute__((__always_inline__, __nodebug__, target("v8.5a")))
|
|
646
|
+
__rint32zf(float __a) {
|
|
647
|
+
return __builtin_arm_rint32zf(__a);
|
|
647
648
|
}
|
|
648
649
|
|
|
649
|
-
static __inline__ double __attribute__((__always_inline__, __nodebug__))
|
|
650
|
-
|
|
651
|
-
return
|
|
650
|
+
static __inline__ double __attribute__((__always_inline__, __nodebug__, target("v8.5a")))
|
|
651
|
+
__rint32z(double __a) {
|
|
652
|
+
return __builtin_arm_rint32z(__a);
|
|
652
653
|
}
|
|
653
654
|
|
|
654
|
-
static __inline__ float __attribute__((__always_inline__, __nodebug__))
|
|
655
|
-
|
|
656
|
-
return
|
|
655
|
+
static __inline__ float __attribute__((__always_inline__, __nodebug__, target("v8.5a")))
|
|
656
|
+
__rint64zf(float __a) {
|
|
657
|
+
return __builtin_arm_rint64zf(__a);
|
|
657
658
|
}
|
|
658
659
|
|
|
659
|
-
static __inline__ double __attribute__((__always_inline__, __nodebug__))
|
|
660
|
-
|
|
661
|
-
return
|
|
660
|
+
static __inline__ double __attribute__((__always_inline__, __nodebug__, target("v8.5a")))
|
|
661
|
+
__rint64z(double __a) {
|
|
662
|
+
return __builtin_arm_rint64z(__a);
|
|
662
663
|
}
|
|
663
664
|
|
|
664
|
-
static __inline__ float __attribute__((__always_inline__, __nodebug__))
|
|
665
|
-
|
|
666
|
-
return
|
|
665
|
+
static __inline__ float __attribute__((__always_inline__, __nodebug__, target("v8.5a")))
|
|
666
|
+
__rint32xf(float __a) {
|
|
667
|
+
return __builtin_arm_rint32xf(__a);
|
|
667
668
|
}
|
|
668
669
|
|
|
669
|
-
static __inline__ double __attribute__((__always_inline__, __nodebug__))
|
|
670
|
-
|
|
671
|
-
return
|
|
670
|
+
static __inline__ double __attribute__((__always_inline__, __nodebug__, target("v8.5a")))
|
|
671
|
+
__rint32x(double __a) {
|
|
672
|
+
return __builtin_arm_rint32x(__a);
|
|
672
673
|
}
|
|
673
674
|
|
|
674
|
-
static __inline__ float __attribute__((__always_inline__, __nodebug__))
|
|
675
|
-
|
|
676
|
-
return
|
|
675
|
+
static __inline__ float __attribute__((__always_inline__, __nodebug__, target("v8.5a")))
|
|
676
|
+
__rint64xf(float __a) {
|
|
677
|
+
return __builtin_arm_rint64xf(__a);
|
|
677
678
|
}
|
|
678
679
|
|
|
679
|
-
static __inline__ double __attribute__((__always_inline__, __nodebug__))
|
|
680
|
-
|
|
681
|
-
return
|
|
680
|
+
static __inline__ double __attribute__((__always_inline__, __nodebug__, target("v8.5a")))
|
|
681
|
+
__rint64x(double __a) {
|
|
682
|
+
return __builtin_arm_rint64x(__a);
|
|
682
683
|
}
|
|
683
684
|
#endif
|
|
684
685
|
|
|
685
686
|
/* Armv8.7-A load/store 64-byte intrinsics */
|
|
686
|
-
#if __ARM_64BIT_STATE &&
|
|
687
|
+
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
687
688
|
typedef struct {
|
|
688
689
|
uint64_t val[8];
|
|
689
690
|
} data512_t;
|
|
690
691
|
|
|
691
|
-
static __inline__ data512_t __attribute__((__always_inline__, __nodebug__))
|
|
692
|
+
static __inline__ data512_t __attribute__((__always_inline__, __nodebug__, target("ls64")))
|
|
692
693
|
__arm_ld64b(const void *__addr) {
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
694
|
+
data512_t __value;
|
|
695
|
+
__builtin_arm_ld64b(__addr, __value.val);
|
|
696
|
+
return __value;
|
|
696
697
|
}
|
|
697
|
-
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
|
698
|
+
static __inline__ void __attribute__((__always_inline__, __nodebug__, target("ls64")))
|
|
698
699
|
__arm_st64b(void *__addr, data512_t __value) {
|
|
699
|
-
|
|
700
|
+
__builtin_arm_st64b(__addr, __value.val);
|
|
700
701
|
}
|
|
701
|
-
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
702
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__, target("ls64")))
|
|
702
703
|
__arm_st64bv(void *__addr, data512_t __value) {
|
|
703
|
-
|
|
704
|
+
return __builtin_arm_st64bv(__addr, __value.val);
|
|
704
705
|
}
|
|
705
|
-
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
706
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__, target("ls64")))
|
|
706
707
|
__arm_st64bv0(void *__addr, data512_t __value) {
|
|
707
|
-
|
|
708
|
+
return __builtin_arm_st64bv0(__addr, __value.val);
|
|
708
709
|
}
|
|
709
710
|
#endif
|
|
710
711
|
|
|
711
712
|
/* 10.1 Special register intrinsics */
|
|
712
713
|
#define __arm_rsr(sysreg) __builtin_arm_rsr(sysreg)
|
|
713
714
|
#define __arm_rsr64(sysreg) __builtin_arm_rsr64(sysreg)
|
|
715
|
+
#define __arm_rsr128(sysreg) __builtin_arm_rsr128(sysreg)
|
|
714
716
|
#define __arm_rsrp(sysreg) __builtin_arm_rsrp(sysreg)
|
|
715
717
|
#define __arm_rsrf(sysreg) __builtin_bit_cast(float, __arm_rsr(sysreg))
|
|
716
718
|
#define __arm_rsrf64(sysreg) __builtin_bit_cast(double, __arm_rsr64(sysreg))
|
|
717
719
|
#define __arm_wsr(sysreg, v) __builtin_arm_wsr(sysreg, v)
|
|
718
720
|
#define __arm_wsr64(sysreg, v) __builtin_arm_wsr64(sysreg, v)
|
|
721
|
+
#define __arm_wsr128(sysreg, v) __builtin_arm_wsr128(sysreg, v)
|
|
719
722
|
#define __arm_wsrp(sysreg, v) __builtin_arm_wsrp(sysreg, v)
|
|
720
723
|
#define __arm_wsrf(sysreg, v) __arm_wsr(sysreg, __builtin_bit_cast(uint32_t, v))
|
|
721
724
|
#define __arm_wsrf64(sysreg, v) __arm_wsr64(sysreg, __builtin_bit_cast(uint64_t, v))
|
|
722
725
|
|
|
723
726
|
/* Memory Tagging Extensions (MTE) Intrinsics */
|
|
724
|
-
#if
|
|
727
|
+
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
725
728
|
#define __arm_mte_create_random_tag(__ptr, __mask) __builtin_arm_irg(__ptr, __mask)
|
|
726
729
|
#define __arm_mte_increment_tag(__ptr, __tag_offset) __builtin_arm_addg(__ptr, __tag_offset)
|
|
727
730
|
#define __arm_mte_exclude_tag(__ptr, __excluded) __builtin_arm_gmi(__ptr, __excluded)
|
|
728
731
|
#define __arm_mte_get_tag(__ptr) __builtin_arm_ldg(__ptr)
|
|
729
732
|
#define __arm_mte_set_tag(__ptr) __builtin_arm_stg(__ptr)
|
|
730
733
|
#define __arm_mte_ptrdiff(__ptra, __ptrb) __builtin_arm_subp(__ptra, __ptrb)
|
|
731
|
-
#endif
|
|
732
734
|
|
|
733
735
|
/* Memory Operations Intrinsics */
|
|
734
|
-
#if __ARM_FEATURE_MOPS && __ARM_FEATURE_MEMORY_TAGGING
|
|
735
736
|
#define __arm_mops_memset_tag(__tagged_address, __value, __size) \
|
|
736
737
|
__builtin_arm_mops_memset_tag(__tagged_address, __value, __size)
|
|
737
738
|
#endif
|
|
738
739
|
|
|
739
740
|
/* Transactional Memory Extension (TME) Intrinsics */
|
|
740
|
-
#if __ARM_FEATURE_TME
|
|
741
|
+
#if defined(__ARM_FEATURE_TME) && __ARM_FEATURE_TME
|
|
741
742
|
|
|
742
743
|
#define _TMFAILURE_REASON 0x00007fffu
|
|
743
744
|
#define _TMFAILURE_RTRY 0x00008000u
|
|
@@ -759,12 +760,12 @@ __arm_st64bv0(void *__addr, data512_t __value) {
|
|
|
759
760
|
#endif /* __ARM_FEATURE_TME */
|
|
760
761
|
|
|
761
762
|
/* Armv8.5-A Random number generation intrinsics */
|
|
762
|
-
#if __ARM_64BIT_STATE &&
|
|
763
|
-
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
|
763
|
+
#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
|
|
764
|
+
static __inline__ int __attribute__((__always_inline__, __nodebug__, target("rand")))
|
|
764
765
|
__rndr(uint64_t *__p) {
|
|
765
766
|
return __builtin_arm_rndr(__p);
|
|
766
767
|
}
|
|
767
|
-
static __inline__ int __attribute__((__always_inline__, __nodebug__))
|
|
768
|
+
static __inline__ int __attribute__((__always_inline__, __nodebug__, target("rand")))
|
|
768
769
|
__rndrrs(uint64_t *__p) {
|
|
769
770
|
return __builtin_arm_rndrrs(__p);
|
|
770
771
|
}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
typedef __fp16 float16_t;
|
|
30
30
|
#define __ai static __inline__ __attribute__((__always_inline__, __nodebug__))
|
|
31
31
|
|
|
32
|
-
#if defined(
|
|
32
|
+
#if defined(__aarch64__)
|
|
33
33
|
#define vabdh_f16(__p0, __p1) __extension__ ({ \
|
|
34
34
|
float16_t __ret; \
|
|
35
35
|
float16_t __s0 = __p0; \
|