@cpp-linter/clang-tidy-darwin-x64 13.0.0 → 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 +2 -2
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_complex_builtins.h +3 -3
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_intrinsics.h +38 -6
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +6 -0
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math.h +1 -1
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +62 -7
- package/lib/clang/16/include/__clang_cuda_texture_intrinsics.h +742 -0
- package/lib/clang/{13.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
- package/lib/clang/{13.0.0 → 16}/include/__clang_hip_math.h +10 -13
- package/lib/clang/{13.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +18 -4
- package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
- package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_aes.h +1 -1
- package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
- package/lib/clang/{13.0.0 → 16}/include/altivec.h +691 -342
- package/lib/clang/{13.0.0 → 16}/include/ammintrin.h +4 -0
- package/lib/clang/16/include/amxfp16intrin.h +58 -0
- package/lib/clang/{13.0.0 → 16}/include/amxintrin.h +49 -18
- package/lib/clang/{13.0.0 → 16}/include/arm_acle.h +80 -73
- package/lib/clang/{13.0.0 → 16}/include/arm_fp16.h +90 -90
- package/lib/clang/{13.0.0 → 16}/include/arm_neon.h +28607 -28779
- package/lib/clang/16/include/arm_neon_sve_bridge.h +182 -0
- package/lib/clang/{13.0.0 → 16}/include/arm_sve.h +7848 -7996
- package/lib/clang/{13.0.0 → 16}/include/avx2intrin.h +189 -189
- package/lib/clang/{13.0.0 → 16}/include/avx512bf16intrin.h +21 -18
- package/lib/clang/{13.0.0 → 16}/include/avx512bwintrin.h +83 -83
- package/lib/clang/{13.0.0 → 16}/include/avx512dqintrin.h +365 -365
- package/lib/clang/{13.0.0 → 16}/include/avx512erintrin.h +102 -102
- package/lib/clang/{13.0.0 → 16}/include/avx512fintrin.h +1627 -1620
- package/lib/clang/16/include/avx512fp16intrin.h +3346 -0
- package/lib/clang/{13.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
- package/lib/clang/{13.0.0 → 16}/include/avx512vbmi2intrin.h +48 -48
- package/lib/clang/{13.0.0 → 16}/include/avx512vlbf16intrin.h +82 -41
- package/lib/clang/{13.0.0 → 16}/include/avx512vlbwintrin.h +454 -102
- package/lib/clang/{13.0.0 → 16}/include/avx512vldqintrin.h +134 -134
- package/lib/clang/16/include/avx512vlfp16intrin.h +2071 -0
- package/lib/clang/{13.0.0 → 16}/include/avx512vlintrin.h +596 -610
- package/lib/clang/{13.0.0 → 16}/include/avx512vlvbmi2intrin.h +96 -96
- package/lib/clang/{13.0.0 → 16}/include/avx512vlvnniintrin.h +24 -24
- package/lib/clang/16/include/avxifmaintrin.h +177 -0
- package/lib/clang/{13.0.0 → 16}/include/avxintrin.h +266 -224
- package/lib/clang/16/include/avxneconvertintrin.h +484 -0
- package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
- package/lib/clang/{13.0.0 → 16}/include/avxvnniintrin.h +16 -16
- package/lib/clang/{13.0.0 → 16}/include/bmiintrin.h +6 -2
- package/lib/clang/{13.0.0 → 16}/include/cetintrin.h +20 -4
- package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
- package/lib/clang/{13.0.0 → 16}/include/cpuid.h +14 -2
- package/lib/clang/16/include/crc32intrin.h +100 -0
- package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
- package/lib/clang/{13.0.0 → 16}/include/emmintrin.h +573 -779
- package/lib/clang/{13.0.0 → 16}/include/f16cintrin.h +4 -4
- package/lib/clang/{13.0.0 → 16}/include/float.h +22 -6
- package/lib/clang/{13.0.0 → 16}/include/gfniintrin.h +54 -53
- package/lib/clang/{13.0.0 → 16}/include/hexagon_protos.h +0 -11
- package/lib/clang/{13.0.0 → 16}/include/hexagon_types.h +0 -32
- package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
- package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
- package/lib/clang/16/include/hlsl.h +15 -0
- package/lib/clang/{13.0.0 → 16}/include/hresetintrin.h +2 -2
- package/lib/clang/{13.0.0 → 16}/include/hvx_hexagon_protos.h +1200 -409
- package/lib/clang/{13.0.0 → 16}/include/ia32intrin.h +17 -17
- package/lib/clang/{13.0.0 → 16}/include/immintrin.h +74 -24
- package/lib/clang/{13.0.0 → 16}/include/intrin.h +34 -35
- package/lib/clang/{13.0.0 → 16}/include/keylockerintrin.h +24 -30
- package/lib/clang/16/include/larchintrin.h +234 -0
- package/lib/clang/{13.0.0 → 16}/include/limits.h +22 -1
- package/lib/clang/{13.0.0 → 16}/include/mm_malloc.h +3 -3
- package/lib/clang/{13.0.0 → 16}/include/mmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 16}/include/nmmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 16}/include/opencl-c-base.h +98 -11
- package/lib/clang/{13.0.0 → 16}/include/opencl-c.h +7252 -6208
- package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex +10 -1
- package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex.h +9 -0
- package/lib/clang/{13.0.0 → 16}/include/pmmintrin.h +5 -1
- package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
- package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
- package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
- package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
- package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
- package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -386
- package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
- package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
- package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
- package/lib/clang/{13.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
- package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
- package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
- package/lib/clang/16/include/prfchiintrin.h +61 -0
- package/lib/clang/{13.0.0 → 16}/include/prfchwintrin.h +5 -2
- package/lib/clang/16/include/raointintrin.h +203 -0
- package/lib/clang/16/include/rdpruintrin.h +57 -0
- package/lib/clang/{13.0.0 → 16}/include/rdseedintrin.h +3 -3
- package/lib/clang/16/include/riscv_vector.h +211 -0
- package/lib/clang/{13.0.0 → 16}/include/rtmintrin.h +1 -1
- package/lib/clang/{13.0.0 → 16}/include/smmintrin.h +260 -362
- package/lib/clang/{13.0.0 → 16}/include/stdarg.h +23 -7
- package/lib/clang/{13.0.0 → 16}/include/stdatomic.h +14 -1
- package/lib/clang/{13.0.0 → 16}/include/stdbool.h +10 -7
- package/lib/clang/{13.0.0 → 16}/include/stddef.h +9 -2
- package/lib/clang/{13.0.0 → 16}/include/stdint.h +311 -25
- package/lib/clang/16/include/stdnoreturn.h +29 -0
- package/lib/clang/{13.0.0 → 16}/include/tmmintrin.h +10 -6
- package/lib/clang/{13.0.0 → 16}/include/uintrintrin.h +8 -8
- package/lib/clang/{13.0.0 → 16}/include/unwind.h +12 -7
- package/lib/clang/{13.0.0 → 16}/include/vaesintrin.h +1 -1
- package/lib/clang/16/include/velintrin.h +71 -0
- package/lib/clang/16/include/velintrin_approx.h +120 -0
- package/lib/clang/16/include/velintrin_gen.h +1257 -0
- package/lib/clang/{13.0.0 → 16}/include/vpclmulqdqintrin.h +6 -6
- package/lib/clang/{13.0.0 → 16}/include/wasm_simd128.h +169 -26
- package/lib/clang/{13.0.0 → 16}/include/wmmintrin.h +4 -0
- package/lib/clang/16/include/x86gprintrin.h +65 -0
- package/lib/clang/{13.0.0 → 16}/include/x86intrin.h +4 -0
- package/lib/clang/{13.0.0 → 16}/include/xmmintrin.h +19 -10
- package/lib/clang/{13.0.0 → 16}/include/xopintrin.h +31 -31
- package/package.json +6 -6
- package/lib/clang/13.0.0/include/ppc_wrappers/emmintrin.h +0 -2324
- package/lib/clang/13.0.0/include/ppc_wrappers/pmmintrin.h +0 -150
- package/lib/clang/13.0.0/include/ppc_wrappers/smmintrin.h +0 -109
- package/lib/clang/13.0.0/include/ppc_wrappers/tmmintrin.h +0 -495
- package/lib/clang/13.0.0/include/ppc_wrappers/xmmintrin.h +0 -1843
- package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
- package/lib/clang/13.0.0/include/x86gprintrin.h +0 -23
- /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/adxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm64intr.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm_bf16.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm_cde.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm_cmse.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm_mve.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/armintr.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/builtins.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cet.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/clwbintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/clzerointrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/fma4intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/fmaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/htmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/inttypes.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/iso646.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/lwpintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/mm3dnow.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/module.modulemap +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/movdirintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/msa.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/pkuintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/popcntintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/s390intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/serializeintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/sgxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/shaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/stdalign.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/tbmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/tgmath.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/vadefs.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/varargs.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/vecintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xtestintrin.h +0 -0
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
#ifndef __TMMINTRIN_H
|
|
11
11
|
#define __TMMINTRIN_H
|
|
12
12
|
|
|
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
|
+
|
|
13
17
|
#include <pmmintrin.h>
|
|
14
18
|
|
|
15
19
|
/* Define the default attributes for the functions in this file. */
|
|
@@ -49,7 +53,7 @@ _mm_abs_pi8(__m64 __a)
|
|
|
49
53
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
50
54
|
_mm_abs_epi8(__m128i __a)
|
|
51
55
|
{
|
|
52
|
-
return (__m128i)
|
|
56
|
+
return (__m128i)__builtin_elementwise_abs((__v16qs)__a);
|
|
53
57
|
}
|
|
54
58
|
|
|
55
59
|
/// Computes the absolute value of each of the packed 16-bit signed
|
|
@@ -85,7 +89,7 @@ _mm_abs_pi16(__m64 __a)
|
|
|
85
89
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
86
90
|
_mm_abs_epi16(__m128i __a)
|
|
87
91
|
{
|
|
88
|
-
return (__m128i)
|
|
92
|
+
return (__m128i)__builtin_elementwise_abs((__v8hi)__a);
|
|
89
93
|
}
|
|
90
94
|
|
|
91
95
|
/// Computes the absolute value of each of the packed 32-bit signed
|
|
@@ -121,7 +125,7 @@ _mm_abs_pi32(__m64 __a)
|
|
|
121
125
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
122
126
|
_mm_abs_epi32(__m128i __a)
|
|
123
127
|
{
|
|
124
|
-
return (__m128i)
|
|
128
|
+
return (__m128i)__builtin_elementwise_abs((__v4si)__a);
|
|
125
129
|
}
|
|
126
130
|
|
|
127
131
|
/// Concatenates the two 128-bit integer vector operands, and
|
|
@@ -145,8 +149,8 @@ _mm_abs_epi32(__m128i __a)
|
|
|
145
149
|
/// \returns A 128-bit integer vector containing the concatenated right-shifted
|
|
146
150
|
/// value.
|
|
147
151
|
#define _mm_alignr_epi8(a, b, n) \
|
|
148
|
-
(__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
|
|
149
|
-
|
|
152
|
+
((__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
|
|
153
|
+
(__v16qi)(__m128i)(b), (n)))
|
|
150
154
|
|
|
151
155
|
/// Concatenates the two 64-bit integer vector operands, and right-shifts
|
|
152
156
|
/// the result by the number of bytes specified in the immediate operand.
|
|
@@ -168,7 +172,7 @@ _mm_abs_epi32(__m128i __a)
|
|
|
168
172
|
/// \returns A 64-bit integer vector containing the concatenated right-shifted
|
|
169
173
|
/// value.
|
|
170
174
|
#define _mm_alignr_pi8(a, b, n) \
|
|
171
|
-
(__m64)__builtin_ia32_palignr((__v8qi)(__m64)(a), (__v8qi)(__m64)(b), (n))
|
|
175
|
+
((__m64)__builtin_ia32_palignr((__v8qi)(__m64)(a), (__v8qi)(__m64)(b), (n)))
|
|
172
176
|
|
|
173
177
|
/// Horizontally adds the adjacent pairs of values contained in 2 packed
|
|
174
178
|
/// 128-bit vectors of [8 x i16].
|
|
@@ -39,9 +39,9 @@ struct __uintr_frame
|
|
|
39
39
|
///
|
|
40
40
|
/// This intrinsic corresponds to the <c> CLUI </c> instruction.
|
|
41
41
|
///
|
|
42
|
-
/// \operation
|
|
42
|
+
/// \code{.operation}
|
|
43
43
|
/// UIF := 0
|
|
44
|
-
/// \
|
|
44
|
+
/// \endcode
|
|
45
45
|
static __inline__ void __DEFAULT_FN_ATTRS
|
|
46
46
|
_clui (void)
|
|
47
47
|
{
|
|
@@ -60,9 +60,9 @@ _clui (void)
|
|
|
60
60
|
///
|
|
61
61
|
/// This intrinsic corresponds to the <c> STUI </c> instruction.
|
|
62
62
|
///
|
|
63
|
-
/// \operation
|
|
63
|
+
/// \code{.operation}
|
|
64
64
|
/// UIF := 1
|
|
65
|
-
/// \
|
|
65
|
+
/// \endcode
|
|
66
66
|
static __inline__ void __DEFAULT_FN_ATTRS
|
|
67
67
|
_stui (void)
|
|
68
68
|
{
|
|
@@ -81,7 +81,7 @@ _stui (void)
|
|
|
81
81
|
///
|
|
82
82
|
/// \returns The current value of the user interrupt flag (UIF).
|
|
83
83
|
///
|
|
84
|
-
/// \operation
|
|
84
|
+
/// \code{.operation}
|
|
85
85
|
/// CF := UIF
|
|
86
86
|
/// ZF := 0
|
|
87
87
|
/// AF := 0
|
|
@@ -89,7 +89,7 @@ _stui (void)
|
|
|
89
89
|
/// PF := 0
|
|
90
90
|
/// SF := 0
|
|
91
91
|
/// dst := CF
|
|
92
|
-
/// \
|
|
92
|
+
/// \endcode
|
|
93
93
|
static __inline__ unsigned char __DEFAULT_FN_ATTRS
|
|
94
94
|
_testui (void)
|
|
95
95
|
{
|
|
@@ -110,7 +110,7 @@ _testui (void)
|
|
|
110
110
|
/// Index of user-interrupt target table entry in user-interrupt target
|
|
111
111
|
/// table.
|
|
112
112
|
///
|
|
113
|
-
/// \operation
|
|
113
|
+
/// \code{.operation}
|
|
114
114
|
/// IF __a > UITTSZ
|
|
115
115
|
/// GP (0)
|
|
116
116
|
/// FI
|
|
@@ -143,7 +143,7 @@ _testui (void)
|
|
|
143
143
|
/// SendOrdinaryIPI(tempUPID.NV, tempUPID.NDST[15:8])
|
|
144
144
|
/// FI
|
|
145
145
|
/// FI
|
|
146
|
-
/// \
|
|
146
|
+
/// \endcode
|
|
147
147
|
static __inline__ void __DEFAULT_FN_ATTRS
|
|
148
148
|
_senduipi (unsigned long long __a)
|
|
149
149
|
{
|
|
@@ -62,9 +62,11 @@ typedef intptr_t _sleb128_t;
|
|
|
62
62
|
typedef uintptr_t _uleb128_t;
|
|
63
63
|
|
|
64
64
|
struct _Unwind_Context;
|
|
65
|
-
#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) ||
|
|
65
|
+
#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || \
|
|
66
|
+
defined(__ARM_DWARF_EH__) || defined(__SEH__))
|
|
66
67
|
struct _Unwind_Control_Block;
|
|
67
|
-
typedef struct _Unwind_Control_Block
|
|
68
|
+
typedef struct _Unwind_Control_Block _Unwind_Control_Block;
|
|
69
|
+
#define _Unwind_Exception _Unwind_Control_Block /* Alias */
|
|
68
70
|
#else
|
|
69
71
|
struct _Unwind_Exception;
|
|
70
72
|
typedef struct _Unwind_Exception _Unwind_Exception;
|
|
@@ -72,7 +74,7 @@ typedef struct _Unwind_Exception _Unwind_Exception;
|
|
|
72
74
|
typedef enum {
|
|
73
75
|
_URC_NO_REASON = 0,
|
|
74
76
|
#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
|
|
75
|
-
!defined(__ARM_DWARF_EH__)
|
|
77
|
+
!defined(__ARM_DWARF_EH__) && !defined(__SEH__)
|
|
76
78
|
_URC_OK = 0, /* used by ARM EHABI */
|
|
77
79
|
#endif
|
|
78
80
|
_URC_FOREIGN_EXCEPTION_CAUGHT = 1,
|
|
@@ -86,7 +88,7 @@ typedef enum {
|
|
|
86
88
|
_URC_INSTALL_CONTEXT = 7,
|
|
87
89
|
_URC_CONTINUE_UNWIND = 8,
|
|
88
90
|
#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
|
|
89
|
-
!defined(__ARM_DWARF_EH__)
|
|
91
|
+
!defined(__ARM_DWARF_EH__) && !defined(__SEH__)
|
|
90
92
|
_URC_FAILURE = 9 /* used by ARM EHABI */
|
|
91
93
|
#endif
|
|
92
94
|
} _Unwind_Reason_Code;
|
|
@@ -103,7 +105,8 @@ typedef enum {
|
|
|
103
105
|
typedef void (*_Unwind_Exception_Cleanup_Fn)(_Unwind_Reason_Code,
|
|
104
106
|
_Unwind_Exception *);
|
|
105
107
|
|
|
106
|
-
#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) ||
|
|
108
|
+
#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || \
|
|
109
|
+
defined(__ARM_DWARF_EH__) || defined(__SEH__))
|
|
107
110
|
typedef struct _Unwind_Control_Block _Unwind_Control_Block;
|
|
108
111
|
typedef uint32_t _Unwind_EHT_Header;
|
|
109
112
|
|
|
@@ -167,12 +170,14 @@ typedef _Unwind_Personality_Fn __personality_routine;
|
|
|
167
170
|
typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)(struct _Unwind_Context *,
|
|
168
171
|
void *);
|
|
169
172
|
|
|
170
|
-
#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) ||
|
|
173
|
+
#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || \
|
|
174
|
+
defined(__ARM_DWARF_EH__) || defined(__SEH__))
|
|
171
175
|
typedef enum {
|
|
172
176
|
_UVRSC_CORE = 0, /* integer register */
|
|
173
177
|
_UVRSC_VFP = 1, /* vfp */
|
|
174
178
|
_UVRSC_WMMXD = 3, /* Intel WMMX data register */
|
|
175
|
-
_UVRSC_WMMXC = 4
|
|
179
|
+
_UVRSC_WMMXC = 4, /* Intel WMMX control register */
|
|
180
|
+
_UVRSC_PSEUDO = 5 /* Special purpose pseudo register */
|
|
176
181
|
} _Unwind_VRS_RegClass;
|
|
177
182
|
|
|
178
183
|
typedef enum {
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*===---- velintrin.h - VEL intrinsics for VE ------------------------------===
|
|
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
|
+
#ifndef __VEL_INTRIN_H__
|
|
10
|
+
#define __VEL_INTRIN_H__
|
|
11
|
+
|
|
12
|
+
// Vector registers
|
|
13
|
+
typedef double __vr __attribute__((__vector_size__(2048)));
|
|
14
|
+
|
|
15
|
+
// Vector mask registers
|
|
16
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
|
17
|
+
// For C99
|
|
18
|
+
typedef _Bool __vm __attribute__((ext_vector_type(256)));
|
|
19
|
+
typedef _Bool __vm256 __attribute__((ext_vector_type(256)));
|
|
20
|
+
typedef _Bool __vm512 __attribute__((ext_vector_type(512)));
|
|
21
|
+
#else
|
|
22
|
+
#ifdef __cplusplus
|
|
23
|
+
// For C++
|
|
24
|
+
typedef bool __vm __attribute__((ext_vector_type(256)));
|
|
25
|
+
typedef bool __vm256 __attribute__((ext_vector_type(256)));
|
|
26
|
+
typedef bool __vm512 __attribute__((ext_vector_type(512)));
|
|
27
|
+
#else
|
|
28
|
+
#error need C++ or C99 to use vector intrinsics for VE
|
|
29
|
+
#endif
|
|
30
|
+
#endif
|
|
31
|
+
|
|
32
|
+
enum VShuffleCodes {
|
|
33
|
+
VE_VSHUFFLE_YUYU = 0,
|
|
34
|
+
VE_VSHUFFLE_YUYL = 1,
|
|
35
|
+
VE_VSHUFFLE_YUZU = 2,
|
|
36
|
+
VE_VSHUFFLE_YUZL = 3,
|
|
37
|
+
VE_VSHUFFLE_YLYU = 4,
|
|
38
|
+
VE_VSHUFFLE_YLYL = 5,
|
|
39
|
+
VE_VSHUFFLE_YLZU = 6,
|
|
40
|
+
VE_VSHUFFLE_YLZL = 7,
|
|
41
|
+
VE_VSHUFFLE_ZUYU = 8,
|
|
42
|
+
VE_VSHUFFLE_ZUYL = 9,
|
|
43
|
+
VE_VSHUFFLE_ZUZU = 10,
|
|
44
|
+
VE_VSHUFFLE_ZUZL = 11,
|
|
45
|
+
VE_VSHUFFLE_ZLYU = 12,
|
|
46
|
+
VE_VSHUFFLE_ZLYL = 13,
|
|
47
|
+
VE_VSHUFFLE_ZLZU = 14,
|
|
48
|
+
VE_VSHUFFLE_ZLZL = 15,
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// Use generated intrinsic name definitions
|
|
52
|
+
#include <velintrin_gen.h>
|
|
53
|
+
|
|
54
|
+
// Use helper functions
|
|
55
|
+
#include <velintrin_approx.h>
|
|
56
|
+
|
|
57
|
+
// pack
|
|
58
|
+
|
|
59
|
+
#define _vel_pack_f32p __builtin_ve_vl_pack_f32p
|
|
60
|
+
#define _vel_pack_f32a __builtin_ve_vl_pack_f32a
|
|
61
|
+
|
|
62
|
+
static inline unsigned long int _vel_pack_i32(unsigned int a, unsigned int b) {
|
|
63
|
+
return (((unsigned long int)a) << 32) | b;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#define _vel_extract_vm512u(vm) __builtin_ve_vl_extract_vm512u(vm)
|
|
67
|
+
#define _vel_extract_vm512l(vm) __builtin_ve_vl_extract_vm512l(vm)
|
|
68
|
+
#define _vel_insert_vm512u(vm512, vm) __builtin_ve_vl_insert_vm512u(vm512, vm)
|
|
69
|
+
#define _vel_insert_vm512l(vm512, vm) __builtin_ve_vl_insert_vm512l(vm512, vm)
|
|
70
|
+
|
|
71
|
+
#endif
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/*===---- velintrin_approx.h - VEL intrinsics helper for VE ----------------===
|
|
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
|
+
#ifndef __VEL_INTRIN_APPROX_H__
|
|
10
|
+
#define __VEL_INTRIN_APPROX_H__
|
|
11
|
+
|
|
12
|
+
static inline __vr _vel_approx_vfdivs_vvvl(__vr v0, __vr v1, int l) {
|
|
13
|
+
float s0;
|
|
14
|
+
__vr v2, v3, v4, v5;
|
|
15
|
+
v5 = _vel_vrcps_vvl(v1, l);
|
|
16
|
+
s0 = 1.0;
|
|
17
|
+
v4 = _vel_vfnmsbs_vsvvl(s0, v1, v5, l);
|
|
18
|
+
v3 = _vel_vfmads_vvvvl(v5, v5, v4, l);
|
|
19
|
+
v2 = _vel_vfmuls_vvvl(v0, v3, l);
|
|
20
|
+
v4 = _vel_vfnmsbs_vvvvl(v0, v2, v1, l);
|
|
21
|
+
v2 = _vel_vfmads_vvvvl(v2, v5, v4, l);
|
|
22
|
+
v0 = _vel_vfnmsbs_vvvvl(v0, v2, v1, l);
|
|
23
|
+
v0 = _vel_vfmads_vvvvl(v2, v3, v0, l);
|
|
24
|
+
return v0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static inline __vr _vel_approx_pvfdiv_vvvl(__vr v0, __vr v1, int l) {
|
|
28
|
+
float s0;
|
|
29
|
+
__vr v2, v3, v4, v5;
|
|
30
|
+
v5 = _vel_pvrcp_vvl(v1, l);
|
|
31
|
+
s0 = 1.0;
|
|
32
|
+
v4 = _vel_pvfnmsb_vsvvl(s0, v1, v5, l);
|
|
33
|
+
v3 = _vel_pvfmad_vvvvl(v5, v5, v4, l);
|
|
34
|
+
v2 = _vel_pvfmul_vvvl(v0, v3, l);
|
|
35
|
+
v4 = _vel_pvfnmsb_vvvvl(v0, v2, v1, l);
|
|
36
|
+
v2 = _vel_pvfmad_vvvvl(v2, v5, v4, l);
|
|
37
|
+
v0 = _vel_pvfnmsb_vvvvl(v0, v2, v1, l);
|
|
38
|
+
v0 = _vel_pvfmad_vvvvl(v2, v3, v0, l);
|
|
39
|
+
return v0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static inline __vr _vel_approx_vfdivs_vsvl(float s0, __vr v0, int l) {
|
|
43
|
+
float s1;
|
|
44
|
+
__vr v1, v2, v3, v4;
|
|
45
|
+
v4 = _vel_vrcps_vvl(v0, l);
|
|
46
|
+
s1 = 1.0;
|
|
47
|
+
v2 = _vel_vfnmsbs_vsvvl(s1, v0, v4, l);
|
|
48
|
+
v2 = _vel_vfmads_vvvvl(v4, v4, v2, l);
|
|
49
|
+
v1 = _vel_vfmuls_vsvl(s0, v2, l);
|
|
50
|
+
v3 = _vel_vfnmsbs_vsvvl(s0, v1, v0, l);
|
|
51
|
+
v1 = _vel_vfmads_vvvvl(v1, v4, v3, l);
|
|
52
|
+
v3 = _vel_vfnmsbs_vsvvl(s0, v1, v0, l);
|
|
53
|
+
v0 = _vel_vfmads_vvvvl(v1, v2, v3, l);
|
|
54
|
+
return v0;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static inline __vr _vel_approx_vfdivs_vvsl(__vr v0, float s0, int l) {
|
|
58
|
+
float s1;
|
|
59
|
+
__vr v1, v2;
|
|
60
|
+
s1 = 1.0f / s0;
|
|
61
|
+
v1 = _vel_vfmuls_vsvl(s1, v0, l);
|
|
62
|
+
v2 = _vel_vfnmsbs_vvsvl(v0, s0, v1, l);
|
|
63
|
+
v0 = _vel_vfmads_vvsvl(v1, s1, v2, l);
|
|
64
|
+
return v0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static inline __vr _vel_approx_vfdivd_vsvl(double s0, __vr v0, int l) {
|
|
68
|
+
__vr v1, v2, v3;
|
|
69
|
+
v2 = _vel_vrcpd_vvl(v0, l);
|
|
70
|
+
double s1 = 1.0;
|
|
71
|
+
v3 = _vel_vfnmsbd_vsvvl(s1, v0, v2, l);
|
|
72
|
+
v2 = _vel_vfmadd_vvvvl(v2, v2, v3, l);
|
|
73
|
+
v1 = _vel_vfnmsbd_vsvvl(s1, v0, v2, l);
|
|
74
|
+
v1 = _vel_vfmadd_vvvvl(v2, v2, v1, l);
|
|
75
|
+
v1 = _vel_vaddul_vsvl(1, v1, l);
|
|
76
|
+
v3 = _vel_vfnmsbd_vsvvl(s1, v0, v1, l);
|
|
77
|
+
v3 = _vel_vfmadd_vvvvl(v1, v1, v3, l);
|
|
78
|
+
v1 = _vel_vfmuld_vsvl(s0, v3, l);
|
|
79
|
+
v0 = _vel_vfnmsbd_vsvvl(s0, v1, v0, l);
|
|
80
|
+
v0 = _vel_vfmadd_vvvvl(v1, v3, v0, l);
|
|
81
|
+
return v0;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static inline __vr _vel_approx_vfsqrtd_vvl(__vr v0, int l) {
|
|
85
|
+
double s0, s1;
|
|
86
|
+
__vr v1, v2, v3;
|
|
87
|
+
v2 = _vel_vrsqrtdnex_vvl(v0, l);
|
|
88
|
+
v1 = _vel_vfmuld_vvvl(v0, v2, l);
|
|
89
|
+
s0 = 1.0;
|
|
90
|
+
s1 = 0.5;
|
|
91
|
+
v3 = _vel_vfnmsbd_vsvvl(s0, v1, v2, l);
|
|
92
|
+
v3 = _vel_vfmuld_vsvl(s1, v3, l);
|
|
93
|
+
v2 = _vel_vfmadd_vvvvl(v2, v2, v3, l);
|
|
94
|
+
v1 = _vel_vfmuld_vvvl(v0, v2, l);
|
|
95
|
+
v3 = _vel_vfnmsbd_vsvvl(s0, v1, v2, l);
|
|
96
|
+
v3 = _vel_vfmuld_vsvl(s1, v3, l);
|
|
97
|
+
v0 = _vel_vfmadd_vvvvl(v1, v1, v3, l);
|
|
98
|
+
return v0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
static inline __vr _vel_approx_vfsqrts_vvl(__vr v0, int l) {
|
|
102
|
+
float s0, s1;
|
|
103
|
+
__vr v1, v2, v3;
|
|
104
|
+
v0 = _vel_vcvtds_vvl(v0, l);
|
|
105
|
+
v2 = _vel_vrsqrtdnex_vvl(v0, l);
|
|
106
|
+
v1 = _vel_vfmuld_vvvl(v0, v2, l);
|
|
107
|
+
s0 = 1.0;
|
|
108
|
+
s1 = 0.5;
|
|
109
|
+
v3 = _vel_vfnmsbd_vsvvl(s0, v1, v2, l);
|
|
110
|
+
v3 = _vel_vfmuld_vsvl(s1, v3, l);
|
|
111
|
+
v2 = _vel_vfmadd_vvvvl(v2, v2, v3, l);
|
|
112
|
+
v1 = _vel_vfmuld_vvvl(v0, v2, l);
|
|
113
|
+
v3 = _vel_vfnmsbd_vsvvl(s0, v1, v2, l);
|
|
114
|
+
v3 = _vel_vfmuld_vsvl(s1, v3, l);
|
|
115
|
+
v0 = _vel_vfmadd_vvvvl(v1, v1, v3, l);
|
|
116
|
+
v0 = _vel_vcvtsd_vvl(v0, l);
|
|
117
|
+
return v0;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
#endif
|