@cpp-linter/clang-tidy-win32-x64 13.0.0 → 14.0.0
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/{13.0.0 → 14.0.0}/include/__clang_cuda_complex_builtins.h +3 -3
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_intrinsics.h +32 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_libdevice_declares.h +6 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_math.h +1 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_runtime_wrapper.h +62 -7
- package/lib/clang/14.0.0/include/__clang_cuda_texture_intrinsics.h +740 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_runtime_wrapper.h +17 -4
- package/lib/clang/{13.0.0 → 14.0.0}/include/__wmmintrin_aes.h +1 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/altivec.h +202 -92
- package/lib/clang/{13.0.0 → 14.0.0}/include/ammintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/amxintrin.h +17 -16
- package/lib/clang/{13.0.0 → 14.0.0}/include/arm_acle.h +6 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/arm_neon.h +4467 -4469
- package/lib/clang/14.0.0/include/arm_neon_sve_bridge.h +184 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx2intrin.h +181 -181
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bf16intrin.h +3 -3
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bwintrin.h +71 -71
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512dqintrin.h +365 -365
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512erintrin.h +102 -102
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512fintrin.h +1573 -1569
- package/lib/clang/14.0.0/include/avx512fp16intrin.h +3349 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmi2intrin.h +48 -48
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbf16intrin.h +51 -3
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbwintrin.h +94 -94
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vldqintrin.h +134 -134
- package/lib/clang/14.0.0/include/avx512vlfp16intrin.h +2068 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlintrin.h +563 -563
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvbmi2intrin.h +96 -96
- package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvnniintrin.h +8 -8
- package/lib/clang/{13.0.0 → 14.0.0}/include/avxintrin.h +189 -192
- package/lib/clang/{13.0.0 → 14.0.0}/include/cetintrin.h +10 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/cpuid.h +2 -1
- package/lib/clang/14.0.0/include/crc32intrin.h +100 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/emmintrin.h +21 -17
- package/lib/clang/{13.0.0 → 14.0.0}/include/f16cintrin.h +4 -4
- package/lib/clang/{13.0.0 → 14.0.0}/include/float.h +15 -6
- package/lib/clang/{13.0.0 → 14.0.0}/include/gfniintrin.h +47 -48
- package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_protos.h +0 -11
- package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_types.h +0 -32
- package/lib/clang/{13.0.0 → 14.0.0}/include/hvx_hexagon_protos.h +1200 -409
- package/lib/clang/{13.0.0 → 14.0.0}/include/ia32intrin.h +6 -6
- package/lib/clang/{13.0.0 → 14.0.0}/include/immintrin.h +26 -8
- package/lib/clang/{13.0.0 → 14.0.0}/include/intrin.h +24 -16
- package/lib/clang/{13.0.0 → 14.0.0}/include/keylockerintrin.h +2 -8
- package/lib/clang/{13.0.0 → 14.0.0}/include/limits.h +20 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/mmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/nmmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/opencl-c-base.h +69 -11
- package/lib/clang/{13.0.0 → 14.0.0}/include/opencl-c.h +1699 -459
- package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex +10 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex.h +9 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/pmmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/emmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/mm_malloc.h +2 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/mmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/pmmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/smmintrin.h +4 -3
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/tmmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/ppc_wrappers/xmmintrin.h +3 -2
- package/lib/clang/{13.0.0 → 14.0.0}/include/prfchwintrin.h +5 -2
- package/lib/clang/14.0.0/include/riscv_vector.h +95423 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/smmintrin.h +80 -159
- package/lib/clang/{13.0.0 → 14.0.0}/include/stdatomic.h +14 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/stdint.h +168 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/tmmintrin.h +10 -6
- package/lib/clang/{13.0.0 → 14.0.0}/include/unwind.h +2 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/vaesintrin.h +1 -1
- package/lib/clang/{13.0.0 → 14.0.0}/include/vpclmulqdqintrin.h +6 -6
- package/lib/clang/{13.0.0 → 14.0.0}/include/wasm_simd128.h +167 -24
- package/lib/clang/{13.0.0 → 14.0.0}/include/wmmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/x86gprintrin.h +12 -0
- package/lib/clang/{13.0.0 → 14.0.0}/include/xmmintrin.h +9 -5
- package/lib/clang/{13.0.0 → 14.0.0}/include/xopintrin.h +31 -31
- package/package.json +6 -6
- package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__clang_hip_math.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/adxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm64intr.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_bf16.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_cde.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_cmse.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_fp16.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_mve.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/arm_sve.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/armintr.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/bmiintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/builtins.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cet.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/clwbintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/clzerointrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/fma4intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/fmaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/hresetintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/htmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/inttypes.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/iso646.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/lwpintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/mm3dnow.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/mm_malloc.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/module.modulemap +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/movdirintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/msa.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/pkuintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/popcntintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/rtmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/s390intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/serializeintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/sgxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/shaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stdalign.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stdarg.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stdbool.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stddef.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/tbmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/tgmath.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/uintrintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/vadefs.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/varargs.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/vecintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/x86intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 14.0.0}/include/xtestintrin.h +0 -0
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
#define __CR6_EQ_REV 1
|
|
20
20
|
#define __CR6_LT 2
|
|
21
21
|
#define __CR6_LT_REV 3
|
|
22
|
+
#define __CR6_GT 4
|
|
23
|
+
#define __CR6_GT_REV 5
|
|
24
|
+
#define __CR6_SO 6
|
|
25
|
+
#define __CR6_SO_REV 7
|
|
22
26
|
|
|
23
27
|
/* Constants for vec_test_data_class */
|
|
24
28
|
#define __VEC_CLASS_FP_SUBNORMAL_N (1 << 0)
|
|
@@ -1810,6 +1814,11 @@ vec_cmpeq(vector unsigned __int128 __a, vector unsigned __int128 __b) {
|
|
|
1810
1814
|
return (vector bool __int128)__builtin_altivec_vcmpequq(
|
|
1811
1815
|
(vector bool __int128)__a, (vector bool __int128)__b);
|
|
1812
1816
|
}
|
|
1817
|
+
|
|
1818
|
+
static __inline__ vector bool __int128 __ATTRS_o_ai
|
|
1819
|
+
vec_cmpeq(vector bool __int128 __a, vector bool __int128 __b) {
|
|
1820
|
+
return (vector bool __int128)__builtin_altivec_vcmpequq(__a, __b);
|
|
1821
|
+
}
|
|
1813
1822
|
#endif
|
|
1814
1823
|
|
|
1815
1824
|
#ifdef __POWER9_VECTOR__
|
|
@@ -1887,6 +1896,11 @@ vec_cmpne(vector signed __int128 __a, vector signed __int128 __b) {
|
|
|
1887
1896
|
return (vector bool __int128) ~(__builtin_altivec_vcmpequq(
|
|
1888
1897
|
(vector bool __int128)__a, (vector bool __int128)__b));
|
|
1889
1898
|
}
|
|
1899
|
+
|
|
1900
|
+
static __inline__ vector bool __int128 __ATTRS_o_ai
|
|
1901
|
+
vec_cmpne(vector bool __int128 __a, vector bool __int128 __b) {
|
|
1902
|
+
return (vector bool __int128) ~(__builtin_altivec_vcmpequq(__a, __b));
|
|
1903
|
+
}
|
|
1890
1904
|
#endif
|
|
1891
1905
|
|
|
1892
1906
|
/* vec_cmpnez */
|
|
@@ -2472,7 +2486,7 @@ vec_cmplt(vector unsigned long long __a, vector unsigned long long __b) {
|
|
|
2472
2486
|
#ifdef __POWER8_VECTOR__
|
|
2473
2487
|
/* vec_popcnt */
|
|
2474
2488
|
|
|
2475
|
-
static __inline__ vector
|
|
2489
|
+
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
2476
2490
|
vec_popcnt(vector signed char __a) {
|
|
2477
2491
|
return __builtin_altivec_vpopcntb(__a);
|
|
2478
2492
|
}
|
|
@@ -2480,7 +2494,7 @@ static __inline__ vector unsigned char __ATTRS_o_ai
|
|
|
2480
2494
|
vec_popcnt(vector unsigned char __a) {
|
|
2481
2495
|
return __builtin_altivec_vpopcntb(__a);
|
|
2482
2496
|
}
|
|
2483
|
-
static __inline__ vector
|
|
2497
|
+
static __inline__ vector unsigned short __ATTRS_o_ai
|
|
2484
2498
|
vec_popcnt(vector signed short __a) {
|
|
2485
2499
|
return __builtin_altivec_vpopcnth(__a);
|
|
2486
2500
|
}
|
|
@@ -2488,7 +2502,7 @@ static __inline__ vector unsigned short __ATTRS_o_ai
|
|
|
2488
2502
|
vec_popcnt(vector unsigned short __a) {
|
|
2489
2503
|
return __builtin_altivec_vpopcnth(__a);
|
|
2490
2504
|
}
|
|
2491
|
-
static __inline__ vector
|
|
2505
|
+
static __inline__ vector unsigned int __ATTRS_o_ai
|
|
2492
2506
|
vec_popcnt(vector signed int __a) {
|
|
2493
2507
|
return __builtin_altivec_vpopcntw(__a);
|
|
2494
2508
|
}
|
|
@@ -2496,7 +2510,7 @@ static __inline__ vector unsigned int __ATTRS_o_ai
|
|
|
2496
2510
|
vec_popcnt(vector unsigned int __a) {
|
|
2497
2511
|
return __builtin_altivec_vpopcntw(__a);
|
|
2498
2512
|
}
|
|
2499
|
-
static __inline__ vector
|
|
2513
|
+
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
2500
2514
|
vec_popcnt(vector signed long long __a) {
|
|
2501
2515
|
return __builtin_altivec_vpopcntd(__a);
|
|
2502
2516
|
}
|
|
@@ -3049,13 +3063,10 @@ static __inline__ vector unsigned char __ATTRS_o_ai
|
|
|
3049
3063
|
vec_xl_len_r(const unsigned char *__a, size_t __b) {
|
|
3050
3064
|
vector unsigned char __res =
|
|
3051
3065
|
(vector unsigned char)__builtin_vsx_lxvll(__a, (__b << 56));
|
|
3052
|
-
#ifdef __LITTLE_ENDIAN__
|
|
3053
3066
|
vector unsigned char __mask =
|
|
3054
3067
|
(vector unsigned char)__builtin_altivec_lvsr(16 - __b, (int *)NULL);
|
|
3055
|
-
|
|
3068
|
+
return (vector unsigned char)__builtin_altivec_vperm_4si(
|
|
3056
3069
|
(vector int)__res, (vector int)__res, __mask);
|
|
3057
|
-
#endif
|
|
3058
|
-
return __res;
|
|
3059
3070
|
}
|
|
3060
3071
|
|
|
3061
3072
|
// vec_xst_len
|
|
@@ -3130,15 +3141,11 @@ static __inline__ void __ATTRS_o_ai vec_xst_len(vector double __a, double *__b,
|
|
|
3130
3141
|
static __inline__ void __ATTRS_o_ai vec_xst_len_r(vector unsigned char __a,
|
|
3131
3142
|
unsigned char *__b,
|
|
3132
3143
|
size_t __c) {
|
|
3133
|
-
#ifdef __LITTLE_ENDIAN__
|
|
3134
3144
|
vector unsigned char __mask =
|
|
3135
3145
|
(vector unsigned char)__builtin_altivec_lvsl(16 - __c, (int *)NULL);
|
|
3136
3146
|
vector unsigned char __res =
|
|
3137
3147
|
__builtin_altivec_vperm_4si((vector int)__a, (vector int)__a, __mask);
|
|
3138
3148
|
return __builtin_vsx_stxvll((vector int)__res, __b, (__c << 56));
|
|
3139
|
-
#else
|
|
3140
|
-
return __builtin_vsx_stxvll((vector int)__a, __b, (__c << 56));
|
|
3141
|
-
#endif
|
|
3142
3149
|
}
|
|
3143
3150
|
#endif
|
|
3144
3151
|
#endif
|
|
@@ -7106,6 +7113,11 @@ vec_orc(vector float __a, vector bool int __b) {
|
|
|
7106
7113
|
return (vector float)((vector unsigned int)__a | ~__b);
|
|
7107
7114
|
}
|
|
7108
7115
|
|
|
7116
|
+
static __inline__ vector float __ATTRS_o_ai vec_orc(vector float __a,
|
|
7117
|
+
vector float __b) {
|
|
7118
|
+
return (vector float)((vector unsigned int)__a | ~(vector unsigned int)__b);
|
|
7119
|
+
}
|
|
7120
|
+
|
|
7109
7121
|
static __inline__ vector signed long long __ATTRS_o_ai
|
|
7110
7122
|
vec_orc(vector signed long long __a, vector signed long long __b) {
|
|
7111
7123
|
return __a | ~__b;
|
|
@@ -7150,6 +7162,12 @@ static __inline__ vector double __ATTRS_o_ai
|
|
|
7150
7162
|
vec_orc(vector bool long long __a, vector double __b) {
|
|
7151
7163
|
return (vector double)(__a | ~(vector unsigned long long)__b);
|
|
7152
7164
|
}
|
|
7165
|
+
|
|
7166
|
+
static __inline__ vector double __ATTRS_o_ai vec_orc(vector double __a,
|
|
7167
|
+
vector double __b) {
|
|
7168
|
+
return (vector double)((vector bool long long)__a |
|
|
7169
|
+
~(vector unsigned long long)__b);
|
|
7170
|
+
}
|
|
7153
7171
|
#endif
|
|
7154
7172
|
|
|
7155
7173
|
/* vec_vor */
|
|
@@ -8399,9 +8417,20 @@ static __inline__ vector float __ATTRS_o_ai vec_round(vector float __a) {
|
|
|
8399
8417
|
}
|
|
8400
8418
|
|
|
8401
8419
|
#ifdef __VSX__
|
|
8420
|
+
#ifdef __XL_COMPAT_ALTIVEC__
|
|
8421
|
+
static __inline__ vector double __ATTRS_o_ai vec_rint(vector double __a);
|
|
8422
|
+
static __inline__ vector double __ATTRS_o_ai vec_round(vector double __a) {
|
|
8423
|
+
double __fpscr = __builtin_readflm();
|
|
8424
|
+
__builtin_setrnd(0);
|
|
8425
|
+
vector double __rounded = vec_rint(__a);
|
|
8426
|
+
__builtin_setflm(__fpscr);
|
|
8427
|
+
return __rounded;
|
|
8428
|
+
}
|
|
8429
|
+
#else
|
|
8402
8430
|
static __inline__ vector double __ATTRS_o_ai vec_round(vector double __a) {
|
|
8403
8431
|
return __builtin_vsx_xvrdpi(__a);
|
|
8404
8432
|
}
|
|
8433
|
+
#endif
|
|
8405
8434
|
|
|
8406
8435
|
/* vec_rint */
|
|
8407
8436
|
|
|
@@ -8839,7 +8868,7 @@ static __inline__ vector long long __ATTRS_o_ai
|
|
|
8839
8868
|
vec_sl(vector long long __a, vector unsigned long long __b) {
|
|
8840
8869
|
return (vector long long)vec_sl((vector unsigned long long)__a, __b);
|
|
8841
8870
|
}
|
|
8842
|
-
#
|
|
8871
|
+
#elif defined(__VSX__)
|
|
8843
8872
|
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
8844
8873
|
vec_vspltb(vector unsigned char __a, unsigned char __b);
|
|
8845
8874
|
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
@@ -8885,7 +8914,7 @@ static __inline__ vector long long __ATTRS_o_ai
|
|
|
8885
8914
|
vec_sl(vector long long __a, vector unsigned long long __b) {
|
|
8886
8915
|
return (vector long long)vec_sl((vector unsigned long long)__a, __b);
|
|
8887
8916
|
}
|
|
8888
|
-
#endif
|
|
8917
|
+
#endif /* __VSX__ */
|
|
8889
8918
|
|
|
8890
8919
|
/* vec_vslb */
|
|
8891
8920
|
|
|
@@ -10350,7 +10379,7 @@ static __inline__ vector long long __ATTRS_o_ai
|
|
|
10350
10379
|
vec_sr(vector long long __a, vector unsigned long long __b) {
|
|
10351
10380
|
return (vector long long)vec_sr((vector unsigned long long)__a, __b);
|
|
10352
10381
|
}
|
|
10353
|
-
#
|
|
10382
|
+
#elif defined(__VSX__)
|
|
10354
10383
|
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
10355
10384
|
vec_sr(vector unsigned long long __a, vector unsigned long long __b) {
|
|
10356
10385
|
__b %= (vector unsigned long long)(sizeof(unsigned long long) * __CHAR_BIT__);
|
|
@@ -10394,7 +10423,7 @@ static __inline__ vector long long __ATTRS_o_ai
|
|
|
10394
10423
|
vec_sr(vector long long __a, vector unsigned long long __b) {
|
|
10395
10424
|
return (vector long long)vec_sr((vector unsigned long long)__a, __b);
|
|
10396
10425
|
}
|
|
10397
|
-
#endif
|
|
10426
|
+
#endif /* __VSX__ */
|
|
10398
10427
|
|
|
10399
10428
|
/* vec_vsrb */
|
|
10400
10429
|
|
|
@@ -10480,7 +10509,7 @@ static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
|
10480
10509
|
vec_sra(vector unsigned long long __a, vector unsigned long long __b) {
|
|
10481
10510
|
return (vector unsigned long long)((vector signed long long)__a >> __b);
|
|
10482
10511
|
}
|
|
10483
|
-
#
|
|
10512
|
+
#elif defined(__VSX__)
|
|
10484
10513
|
static __inline__ vector signed long long __ATTRS_o_ai
|
|
10485
10514
|
vec_sra(vector signed long long __a, vector unsigned long long __b) {
|
|
10486
10515
|
__b %= (vector unsigned long long)(sizeof(unsigned long long) * __CHAR_BIT__);
|
|
@@ -10492,7 +10521,7 @@ vec_sra(vector unsigned long long __a, vector unsigned long long __b) {
|
|
|
10492
10521
|
__b %= (vector unsigned long long)(sizeof(unsigned long long) * __CHAR_BIT__);
|
|
10493
10522
|
return (vector unsigned long long)((vector signed long long)__a >> __b);
|
|
10494
10523
|
}
|
|
10495
|
-
#endif
|
|
10524
|
+
#endif /* __VSX__ */
|
|
10496
10525
|
|
|
10497
10526
|
/* vec_vsrab */
|
|
10498
10527
|
|
|
@@ -13441,74 +13470,74 @@ vec_vxor(vector bool long long __a, vector bool long long __b) {
|
|
|
13441
13470
|
/* vec_extract */
|
|
13442
13471
|
|
|
13443
13472
|
static __inline__ signed char __ATTRS_o_ai vec_extract(vector signed char __a,
|
|
13444
|
-
|
|
13473
|
+
signed int __b) {
|
|
13445
13474
|
return __a[__b & 0xf];
|
|
13446
13475
|
}
|
|
13447
13476
|
|
|
13448
13477
|
static __inline__ unsigned char __ATTRS_o_ai
|
|
13449
|
-
vec_extract(vector unsigned char __a,
|
|
13478
|
+
vec_extract(vector unsigned char __a, signed int __b) {
|
|
13450
13479
|
return __a[__b & 0xf];
|
|
13451
13480
|
}
|
|
13452
13481
|
|
|
13453
13482
|
static __inline__ unsigned char __ATTRS_o_ai vec_extract(vector bool char __a,
|
|
13454
|
-
|
|
13483
|
+
signed int __b) {
|
|
13455
13484
|
return __a[__b & 0xf];
|
|
13456
13485
|
}
|
|
13457
13486
|
|
|
13458
13487
|
static __inline__ signed short __ATTRS_o_ai vec_extract(vector signed short __a,
|
|
13459
|
-
|
|
13488
|
+
signed int __b) {
|
|
13460
13489
|
return __a[__b & 0x7];
|
|
13461
13490
|
}
|
|
13462
13491
|
|
|
13463
13492
|
static __inline__ unsigned short __ATTRS_o_ai
|
|
13464
|
-
vec_extract(vector unsigned short __a,
|
|
13493
|
+
vec_extract(vector unsigned short __a, signed int __b) {
|
|
13465
13494
|
return __a[__b & 0x7];
|
|
13466
13495
|
}
|
|
13467
13496
|
|
|
13468
13497
|
static __inline__ unsigned short __ATTRS_o_ai vec_extract(vector bool short __a,
|
|
13469
|
-
|
|
13498
|
+
signed int __b) {
|
|
13470
13499
|
return __a[__b & 0x7];
|
|
13471
13500
|
}
|
|
13472
13501
|
|
|
13473
13502
|
static __inline__ signed int __ATTRS_o_ai vec_extract(vector signed int __a,
|
|
13474
|
-
|
|
13503
|
+
signed int __b) {
|
|
13475
13504
|
return __a[__b & 0x3];
|
|
13476
13505
|
}
|
|
13477
13506
|
|
|
13478
13507
|
static __inline__ unsigned int __ATTRS_o_ai vec_extract(vector unsigned int __a,
|
|
13479
|
-
|
|
13508
|
+
signed int __b) {
|
|
13480
13509
|
return __a[__b & 0x3];
|
|
13481
13510
|
}
|
|
13482
13511
|
|
|
13483
13512
|
static __inline__ unsigned int __ATTRS_o_ai vec_extract(vector bool int __a,
|
|
13484
|
-
|
|
13513
|
+
signed int __b) {
|
|
13485
13514
|
return __a[__b & 0x3];
|
|
13486
13515
|
}
|
|
13487
13516
|
|
|
13488
13517
|
#ifdef __VSX__
|
|
13489
13518
|
static __inline__ signed long long __ATTRS_o_ai
|
|
13490
|
-
vec_extract(vector signed long long __a,
|
|
13519
|
+
vec_extract(vector signed long long __a, signed int __b) {
|
|
13491
13520
|
return __a[__b & 0x1];
|
|
13492
13521
|
}
|
|
13493
13522
|
|
|
13494
13523
|
static __inline__ unsigned long long __ATTRS_o_ai
|
|
13495
|
-
vec_extract(vector unsigned long long __a,
|
|
13524
|
+
vec_extract(vector unsigned long long __a, signed int __b) {
|
|
13496
13525
|
return __a[__b & 0x1];
|
|
13497
13526
|
}
|
|
13498
13527
|
|
|
13499
13528
|
static __inline__ unsigned long long __ATTRS_o_ai
|
|
13500
|
-
vec_extract(vector bool long long __a,
|
|
13529
|
+
vec_extract(vector bool long long __a, signed int __b) {
|
|
13501
13530
|
return __a[__b & 0x1];
|
|
13502
13531
|
}
|
|
13503
13532
|
|
|
13504
13533
|
static __inline__ double __ATTRS_o_ai vec_extract(vector double __a,
|
|
13505
|
-
|
|
13534
|
+
signed int __b) {
|
|
13506
13535
|
return __a[__b & 0x1];
|
|
13507
13536
|
}
|
|
13508
13537
|
#endif
|
|
13509
13538
|
|
|
13510
13539
|
static __inline__ float __ATTRS_o_ai vec_extract(vector float __a,
|
|
13511
|
-
|
|
13540
|
+
signed int __b) {
|
|
13512
13541
|
return __a[__b & 0x3];
|
|
13513
13542
|
}
|
|
13514
13543
|
|
|
@@ -13568,82 +13597,82 @@ vec_extract_fp32_from_shortl(vector unsigned short __a) {
|
|
|
13568
13597
|
|
|
13569
13598
|
static __inline__ vector signed char __ATTRS_o_ai
|
|
13570
13599
|
vec_insert(signed char __a, vector signed char __b, int __c) {
|
|
13571
|
-
__b[__c] = __a;
|
|
13600
|
+
__b[__c & 0xF] = __a;
|
|
13572
13601
|
return __b;
|
|
13573
13602
|
}
|
|
13574
13603
|
|
|
13575
13604
|
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
13576
13605
|
vec_insert(unsigned char __a, vector unsigned char __b, int __c) {
|
|
13577
|
-
__b[__c] = __a;
|
|
13606
|
+
__b[__c & 0xF] = __a;
|
|
13578
13607
|
return __b;
|
|
13579
13608
|
}
|
|
13580
13609
|
|
|
13581
13610
|
static __inline__ vector bool char __ATTRS_o_ai vec_insert(unsigned char __a,
|
|
13582
13611
|
vector bool char __b,
|
|
13583
13612
|
int __c) {
|
|
13584
|
-
__b[__c] = __a;
|
|
13613
|
+
__b[__c & 0xF] = __a;
|
|
13585
13614
|
return __b;
|
|
13586
13615
|
}
|
|
13587
13616
|
|
|
13588
13617
|
static __inline__ vector signed short __ATTRS_o_ai
|
|
13589
13618
|
vec_insert(signed short __a, vector signed short __b, int __c) {
|
|
13590
|
-
__b[__c] = __a;
|
|
13619
|
+
__b[__c & 0x7] = __a;
|
|
13591
13620
|
return __b;
|
|
13592
13621
|
}
|
|
13593
13622
|
|
|
13594
13623
|
static __inline__ vector unsigned short __ATTRS_o_ai
|
|
13595
13624
|
vec_insert(unsigned short __a, vector unsigned short __b, int __c) {
|
|
13596
|
-
__b[__c] = __a;
|
|
13625
|
+
__b[__c & 0x7] = __a;
|
|
13597
13626
|
return __b;
|
|
13598
13627
|
}
|
|
13599
13628
|
|
|
13600
13629
|
static __inline__ vector bool short __ATTRS_o_ai
|
|
13601
13630
|
vec_insert(unsigned short __a, vector bool short __b, int __c) {
|
|
13602
|
-
__b[__c] = __a;
|
|
13631
|
+
__b[__c & 0x7] = __a;
|
|
13603
13632
|
return __b;
|
|
13604
13633
|
}
|
|
13605
13634
|
|
|
13606
13635
|
static __inline__ vector signed int __ATTRS_o_ai
|
|
13607
13636
|
vec_insert(signed int __a, vector signed int __b, int __c) {
|
|
13608
|
-
__b[__c] = __a;
|
|
13637
|
+
__b[__c & 0x3] = __a;
|
|
13609
13638
|
return __b;
|
|
13610
13639
|
}
|
|
13611
13640
|
|
|
13612
13641
|
static __inline__ vector unsigned int __ATTRS_o_ai
|
|
13613
13642
|
vec_insert(unsigned int __a, vector unsigned int __b, int __c) {
|
|
13614
|
-
__b[__c] = __a;
|
|
13643
|
+
__b[__c & 0x3] = __a;
|
|
13615
13644
|
return __b;
|
|
13616
13645
|
}
|
|
13617
13646
|
|
|
13618
13647
|
static __inline__ vector bool int __ATTRS_o_ai vec_insert(unsigned int __a,
|
|
13619
13648
|
vector bool int __b,
|
|
13620
13649
|
int __c) {
|
|
13621
|
-
__b[__c] = __a;
|
|
13650
|
+
__b[__c & 0x3] = __a;
|
|
13622
13651
|
return __b;
|
|
13623
13652
|
}
|
|
13624
13653
|
|
|
13625
13654
|
#ifdef __VSX__
|
|
13626
13655
|
static __inline__ vector signed long long __ATTRS_o_ai
|
|
13627
13656
|
vec_insert(signed long long __a, vector signed long long __b, int __c) {
|
|
13628
|
-
__b[__c] = __a;
|
|
13657
|
+
__b[__c & 0x1] = __a;
|
|
13629
13658
|
return __b;
|
|
13630
13659
|
}
|
|
13631
13660
|
|
|
13632
13661
|
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
13633
13662
|
vec_insert(unsigned long long __a, vector unsigned long long __b, int __c) {
|
|
13634
|
-
__b[__c] = __a;
|
|
13663
|
+
__b[__c & 0x1] = __a;
|
|
13635
13664
|
return __b;
|
|
13636
13665
|
}
|
|
13637
13666
|
|
|
13638
13667
|
static __inline__ vector bool long long __ATTRS_o_ai
|
|
13639
13668
|
vec_insert(unsigned long long __a, vector bool long long __b, int __c) {
|
|
13640
|
-
__b[__c] = __a;
|
|
13669
|
+
__b[__c & 0x1] = __a;
|
|
13641
13670
|
return __b;
|
|
13642
13671
|
}
|
|
13643
13672
|
static __inline__ vector double __ATTRS_o_ai vec_insert(double __a,
|
|
13644
13673
|
vector double __b,
|
|
13645
13674
|
int __c) {
|
|
13646
|
-
__b[__c] = __a;
|
|
13675
|
+
__b[__c & 0x1] = __a;
|
|
13647
13676
|
return __b;
|
|
13648
13677
|
}
|
|
13649
13678
|
#endif
|
|
@@ -13651,7 +13680,7 @@ static __inline__ vector double __ATTRS_o_ai vec_insert(double __a,
|
|
|
13651
13680
|
static __inline__ vector float __ATTRS_o_ai vec_insert(float __a,
|
|
13652
13681
|
vector float __b,
|
|
13653
13682
|
int __c) {
|
|
13654
|
-
__b[__c] = __a;
|
|
13683
|
+
__b[__c & 0x3] = __a;
|
|
13655
13684
|
return __b;
|
|
13656
13685
|
}
|
|
13657
13686
|
|
|
@@ -14812,42 +14841,43 @@ static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool int __a,
|
|
|
14812
14841
|
#ifdef __VSX__
|
|
14813
14842
|
static __inline__ int __ATTRS_o_ai vec_all_eq(vector signed long long __a,
|
|
14814
14843
|
vector signed long long __b) {
|
|
14844
|
+
#ifdef __POWER8_VECTOR__
|
|
14815
14845
|
return __builtin_altivec_vcmpequd_p(__CR6_LT, __a, __b);
|
|
14846
|
+
#else
|
|
14847
|
+
// No vcmpequd on Power7 so we xor the two vectors and compare against zero as
|
|
14848
|
+
// 32-bit elements.
|
|
14849
|
+
return vec_all_eq((vector signed int)vec_xor(__a, __b), (vector signed int)0);
|
|
14850
|
+
#endif
|
|
14816
14851
|
}
|
|
14817
14852
|
|
|
14818
14853
|
static __inline__ int __ATTRS_o_ai vec_all_eq(vector long long __a,
|
|
14819
14854
|
vector bool long long __b) {
|
|
14820
|
-
return
|
|
14855
|
+
return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
|
|
14821
14856
|
}
|
|
14822
14857
|
|
|
14823
14858
|
static __inline__ int __ATTRS_o_ai vec_all_eq(vector unsigned long long __a,
|
|
14824
14859
|
vector unsigned long long __b) {
|
|
14825
|
-
return
|
|
14826
|
-
(vector long long)__b);
|
|
14860
|
+
return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
|
|
14827
14861
|
}
|
|
14828
14862
|
|
|
14829
14863
|
static __inline__ int __ATTRS_o_ai vec_all_eq(vector unsigned long long __a,
|
|
14830
14864
|
vector bool long long __b) {
|
|
14831
|
-
return
|
|
14832
|
-
(vector long long)__b);
|
|
14865
|
+
return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
|
|
14833
14866
|
}
|
|
14834
14867
|
|
|
14835
14868
|
static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool long long __a,
|
|
14836
14869
|
vector long long __b) {
|
|
14837
|
-
return
|
|
14838
|
-
(vector long long)__b);
|
|
14870
|
+
return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
|
|
14839
14871
|
}
|
|
14840
14872
|
|
|
14841
14873
|
static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool long long __a,
|
|
14842
14874
|
vector unsigned long long __b) {
|
|
14843
|
-
return
|
|
14844
|
-
(vector long long)__b);
|
|
14875
|
+
return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
|
|
14845
14876
|
}
|
|
14846
14877
|
|
|
14847
14878
|
static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool long long __a,
|
|
14848
14879
|
vector bool long long __b) {
|
|
14849
|
-
return
|
|
14850
|
-
(vector long long)__b);
|
|
14880
|
+
return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
|
|
14851
14881
|
}
|
|
14852
14882
|
#endif
|
|
14853
14883
|
|
|
@@ -14877,6 +14907,11 @@ static __inline__ int __ATTRS_o_ai vec_all_eq(vector unsigned __int128 __a,
|
|
|
14877
14907
|
vector unsigned __int128 __b) {
|
|
14878
14908
|
return __builtin_altivec_vcmpequq_p(__CR6_LT, __a, __b);
|
|
14879
14909
|
}
|
|
14910
|
+
|
|
14911
|
+
static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool __int128 __a,
|
|
14912
|
+
vector bool __int128 __b) {
|
|
14913
|
+
return __builtin_altivec_vcmpequq_p(__CR6_LT, __a, __b);
|
|
14914
|
+
}
|
|
14880
14915
|
#endif
|
|
14881
14916
|
|
|
14882
14917
|
/* vec_all_ge */
|
|
@@ -15822,6 +15857,11 @@ static __inline__ int __ATTRS_o_ai vec_all_ne(vector unsigned __int128 __a,
|
|
|
15822
15857
|
vector unsigned __int128 __b) {
|
|
15823
15858
|
return __builtin_altivec_vcmpequq_p(__CR6_EQ, __a, __b);
|
|
15824
15859
|
}
|
|
15860
|
+
|
|
15861
|
+
static __inline__ int __ATTRS_o_ai vec_all_ne(vector bool __int128 __a,
|
|
15862
|
+
vector bool __int128 __b) {
|
|
15863
|
+
return __builtin_altivec_vcmpequq_p(__CR6_EQ, __a, __b);
|
|
15864
|
+
}
|
|
15825
15865
|
#endif
|
|
15826
15866
|
|
|
15827
15867
|
/* vec_all_nge */
|
|
@@ -16111,6 +16151,11 @@ static __inline__ int __ATTRS_o_ai vec_any_eq(vector unsigned __int128 __a,
|
|
|
16111
16151
|
vector unsigned __int128 __b) {
|
|
16112
16152
|
return __builtin_altivec_vcmpequq_p(__CR6_EQ_REV, __a, __b);
|
|
16113
16153
|
}
|
|
16154
|
+
|
|
16155
|
+
static __inline__ int __ATTRS_o_ai vec_any_eq(vector bool __int128 __a,
|
|
16156
|
+
vector bool __int128 __b) {
|
|
16157
|
+
return __builtin_altivec_vcmpequq_p(__CR6_EQ_REV, __a, __b);
|
|
16158
|
+
}
|
|
16114
16159
|
#endif
|
|
16115
16160
|
|
|
16116
16161
|
/* vec_any_ge */
|
|
@@ -17020,43 +17065,43 @@ static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool int __a,
|
|
|
17020
17065
|
#ifdef __VSX__
|
|
17021
17066
|
static __inline__ int __ATTRS_o_ai vec_any_ne(vector signed long long __a,
|
|
17022
17067
|
vector signed long long __b) {
|
|
17068
|
+
#ifdef __POWER8_VECTOR__
|
|
17023
17069
|
return __builtin_altivec_vcmpequd_p(__CR6_LT_REV, __a, __b);
|
|
17070
|
+
#else
|
|
17071
|
+
// Take advantage of the optimized sequence for vec_all_eq when vcmpequd is
|
|
17072
|
+
// not available.
|
|
17073
|
+
return !vec_all_eq(__a, __b);
|
|
17074
|
+
#endif
|
|
17024
17075
|
}
|
|
17025
17076
|
|
|
17026
17077
|
static __inline__ int __ATTRS_o_ai vec_any_ne(vector unsigned long long __a,
|
|
17027
17078
|
vector unsigned long long __b) {
|
|
17028
|
-
return
|
|
17029
|
-
(vector long long)__b);
|
|
17079
|
+
return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
|
|
17030
17080
|
}
|
|
17031
17081
|
|
|
17032
17082
|
static __inline__ int __ATTRS_o_ai vec_any_ne(vector signed long long __a,
|
|
17033
17083
|
vector bool long long __b) {
|
|
17034
|
-
return
|
|
17035
|
-
(vector signed long long)__b);
|
|
17084
|
+
return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
|
|
17036
17085
|
}
|
|
17037
17086
|
|
|
17038
17087
|
static __inline__ int __ATTRS_o_ai vec_any_ne(vector unsigned long long __a,
|
|
17039
17088
|
vector bool long long __b) {
|
|
17040
|
-
return
|
|
17041
|
-
__CR6_LT_REV, (vector signed long long)__a, (vector signed long long)__b);
|
|
17089
|
+
return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
|
|
17042
17090
|
}
|
|
17043
17091
|
|
|
17044
17092
|
static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool long long __a,
|
|
17045
17093
|
vector signed long long __b) {
|
|
17046
|
-
return
|
|
17047
|
-
__CR6_LT_REV, (vector signed long long)__a, (vector signed long long)__b);
|
|
17094
|
+
return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
|
|
17048
17095
|
}
|
|
17049
17096
|
|
|
17050
17097
|
static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool long long __a,
|
|
17051
17098
|
vector unsigned long long __b) {
|
|
17052
|
-
return
|
|
17053
|
-
__CR6_LT_REV, (vector signed long long)__a, (vector signed long long)__b);
|
|
17099
|
+
return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
|
|
17054
17100
|
}
|
|
17055
17101
|
|
|
17056
17102
|
static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool long long __a,
|
|
17057
17103
|
vector bool long long __b) {
|
|
17058
|
-
return
|
|
17059
|
-
__CR6_LT_REV, (vector signed long long)__a, (vector signed long long)__b);
|
|
17104
|
+
return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
|
|
17060
17105
|
}
|
|
17061
17106
|
#endif
|
|
17062
17107
|
|
|
@@ -17086,6 +17131,11 @@ static __inline__ int __ATTRS_o_ai vec_any_ne(vector unsigned __int128 __a,
|
|
|
17086
17131
|
vector unsigned __int128 __b) {
|
|
17087
17132
|
return __builtin_altivec_vcmpequq_p(__CR6_LT_REV, __a, __b);
|
|
17088
17133
|
}
|
|
17134
|
+
|
|
17135
|
+
static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool __int128 __a,
|
|
17136
|
+
vector bool __int128 __b) {
|
|
17137
|
+
return __builtin_altivec_vcmpequq_p(__CR6_LT_REV, __a, __b);
|
|
17138
|
+
}
|
|
17089
17139
|
#endif
|
|
17090
17140
|
|
|
17091
17141
|
/* vec_any_nge */
|
|
@@ -17203,6 +17253,7 @@ provided.
|
|
|
17203
17253
|
#define vec_ncipher_be __builtin_altivec_crypto_vncipher
|
|
17204
17254
|
#define vec_ncipherlast_be __builtin_altivec_crypto_vncipherlast
|
|
17205
17255
|
|
|
17256
|
+
#ifdef __VSX__
|
|
17206
17257
|
static __inline__ vector unsigned long long __attribute__((__always_inline__))
|
|
17207
17258
|
__builtin_crypto_vsbox(vector unsigned long long __a) {
|
|
17208
17259
|
return __builtin_altivec_crypto_vsbox(__a);
|
|
@@ -17231,6 +17282,7 @@ __builtin_crypto_vncipherlast(vector unsigned long long __a,
|
|
|
17231
17282
|
vector unsigned long long __b) {
|
|
17232
17283
|
return __builtin_altivec_crypto_vncipherlast(__a, __b);
|
|
17233
17284
|
}
|
|
17285
|
+
#endif /* __VSX__ */
|
|
17234
17286
|
|
|
17235
17287
|
#define __builtin_crypto_vshasigmad __builtin_altivec_crypto_vshasigmad
|
|
17236
17288
|
#define __builtin_crypto_vshasigmaw __builtin_altivec_crypto_vshasigmaw
|
|
@@ -17346,12 +17398,22 @@ vec_vbpermq(vector unsigned char __a, vector unsigned char __b) {
|
|
|
17346
17398
|
}
|
|
17347
17399
|
|
|
17348
17400
|
#if defined(__powerpc64__) && defined(__SIZEOF_INT128__)
|
|
17349
|
-
static __inline__ vector unsigned long long
|
|
17401
|
+
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
17350
17402
|
vec_bperm(vector unsigned __int128 __a, vector unsigned char __b) {
|
|
17351
17403
|
return __builtin_altivec_vbpermq((vector unsigned char)__a,
|
|
17352
17404
|
(vector unsigned char)__b);
|
|
17353
17405
|
}
|
|
17354
17406
|
#endif
|
|
17407
|
+
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
17408
|
+
vec_bperm(vector unsigned char __a, vector unsigned char __b) {
|
|
17409
|
+
return __builtin_altivec_vbpermq(__a, __b);
|
|
17410
|
+
}
|
|
17411
|
+
#endif // __POWER8_VECTOR__
|
|
17412
|
+
#ifdef __POWER9_VECTOR__
|
|
17413
|
+
static __inline__ vector unsigned long long __ATTRS_o_ai
|
|
17414
|
+
vec_bperm(vector unsigned long long __a, vector unsigned char __b) {
|
|
17415
|
+
return __builtin_altivec_vbpermd(__a, __b);
|
|
17416
|
+
}
|
|
17355
17417
|
#endif
|
|
17356
17418
|
|
|
17357
17419
|
|
|
@@ -18198,13 +18260,13 @@ vec_expandm(vector unsigned __int128 __a) {
|
|
|
18198
18260
|
|
|
18199
18261
|
#define vec_cntm(__a, __mp) \
|
|
18200
18262
|
_Generic((__a), vector unsigned char \
|
|
18201
|
-
: __builtin_altivec_vcntmbb((__a), (unsigned
|
|
18263
|
+
: __builtin_altivec_vcntmbb((__a), (unsigned char)(__mp)), \
|
|
18202
18264
|
vector unsigned short \
|
|
18203
|
-
: __builtin_altivec_vcntmbh((__a), (unsigned
|
|
18265
|
+
: __builtin_altivec_vcntmbh((__a), (unsigned char)(__mp)), \
|
|
18204
18266
|
vector unsigned int \
|
|
18205
|
-
: __builtin_altivec_vcntmbw((__a), (unsigned
|
|
18267
|
+
: __builtin_altivec_vcntmbw((__a), (unsigned char)(__mp)), \
|
|
18206
18268
|
vector unsigned long long \
|
|
18207
|
-
: __builtin_altivec_vcntmbd((__a), (unsigned
|
|
18269
|
+
: __builtin_altivec_vcntmbd((__a), (unsigned char)(__mp)))
|
|
18208
18270
|
|
|
18209
18271
|
/* vec_gen[b|h|w|d|q]m */
|
|
18210
18272
|
|
|
@@ -18319,10 +18381,10 @@ vec_cfuge(vector unsigned long long __a, vector unsigned long long __b) {
|
|
|
18319
18381
|
: __builtin_vsx_xxgenpcvdm((__a), (int)(__imm)))
|
|
18320
18382
|
#endif /* __VSX__ */
|
|
18321
18383
|
|
|
18322
|
-
/*
|
|
18384
|
+
/* vec_clr_first */
|
|
18323
18385
|
|
|
18324
18386
|
static __inline__ vector signed char __ATTRS_o_ai
|
|
18325
|
-
|
|
18387
|
+
vec_clr_first(vector signed char __a, unsigned int __n) {
|
|
18326
18388
|
#ifdef __LITTLE_ENDIAN__
|
|
18327
18389
|
return __builtin_altivec_vclrrb(__a, __n);
|
|
18328
18390
|
#else
|
|
@@ -18331,7 +18393,7 @@ vec_clrl(vector signed char __a, unsigned int __n) {
|
|
|
18331
18393
|
}
|
|
18332
18394
|
|
|
18333
18395
|
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
18334
|
-
|
|
18396
|
+
vec_clr_first(vector unsigned char __a, unsigned int __n) {
|
|
18335
18397
|
#ifdef __LITTLE_ENDIAN__
|
|
18336
18398
|
return __builtin_altivec_vclrrb((vector signed char)__a, __n);
|
|
18337
18399
|
#else
|
|
@@ -18339,10 +18401,10 @@ vec_clrl(vector unsigned char __a, unsigned int __n) {
|
|
|
18339
18401
|
#endif
|
|
18340
18402
|
}
|
|
18341
18403
|
|
|
18342
|
-
/*
|
|
18404
|
+
/* vec_clr_last */
|
|
18343
18405
|
|
|
18344
18406
|
static __inline__ vector signed char __ATTRS_o_ai
|
|
18345
|
-
|
|
18407
|
+
vec_clr_last(vector signed char __a, unsigned int __n) {
|
|
18346
18408
|
#ifdef __LITTLE_ENDIAN__
|
|
18347
18409
|
return __builtin_altivec_vclrlb(__a, __n);
|
|
18348
18410
|
#else
|
|
@@ -18351,7 +18413,7 @@ vec_clrr(vector signed char __a, unsigned int __n) {
|
|
|
18351
18413
|
}
|
|
18352
18414
|
|
|
18353
18415
|
static __inline__ vector unsigned char __ATTRS_o_ai
|
|
18354
|
-
|
|
18416
|
+
vec_clr_last(vector unsigned char __a, unsigned int __n) {
|
|
18355
18417
|
#ifdef __LITTLE_ENDIAN__
|
|
18356
18418
|
return __builtin_altivec_vclrlb((vector signed char)__a, __n);
|
|
18357
18419
|
#else
|
|
@@ -18733,36 +18795,39 @@ static __inline__ vector double __ATTRS_o_ai vec_splatid(const float __a) {
|
|
|
18733
18795
|
|
|
18734
18796
|
static __inline__ vector signed int __ATTRS_o_ai vec_splati_ins(
|
|
18735
18797
|
vector signed int __a, const unsigned int __b, const signed int __c) {
|
|
18798
|
+
const unsigned int __d = __b & 0x01;
|
|
18736
18799
|
#ifdef __LITTLE_ENDIAN__
|
|
18737
|
-
__a[1 -
|
|
18738
|
-
__a[3 -
|
|
18800
|
+
__a[1 - __d] = __c;
|
|
18801
|
+
__a[3 - __d] = __c;
|
|
18739
18802
|
#else
|
|
18740
|
-
__a[
|
|
18741
|
-
__a[2 +
|
|
18803
|
+
__a[__d] = __c;
|
|
18804
|
+
__a[2 + __d] = __c;
|
|
18742
18805
|
#endif
|
|
18743
18806
|
return __a;
|
|
18744
18807
|
}
|
|
18745
18808
|
|
|
18746
18809
|
static __inline__ vector unsigned int __ATTRS_o_ai vec_splati_ins(
|
|
18747
18810
|
vector unsigned int __a, const unsigned int __b, const unsigned int __c) {
|
|
18811
|
+
const unsigned int __d = __b & 0x01;
|
|
18748
18812
|
#ifdef __LITTLE_ENDIAN__
|
|
18749
|
-
__a[1 -
|
|
18750
|
-
__a[3 -
|
|
18813
|
+
__a[1 - __d] = __c;
|
|
18814
|
+
__a[3 - __d] = __c;
|
|
18751
18815
|
#else
|
|
18752
|
-
__a[
|
|
18753
|
-
__a[2 +
|
|
18816
|
+
__a[__d] = __c;
|
|
18817
|
+
__a[2 + __d] = __c;
|
|
18754
18818
|
#endif
|
|
18755
18819
|
return __a;
|
|
18756
18820
|
}
|
|
18757
18821
|
|
|
18758
18822
|
static __inline__ vector float __ATTRS_o_ai
|
|
18759
18823
|
vec_splati_ins(vector float __a, const unsigned int __b, const float __c) {
|
|
18824
|
+
const unsigned int __d = __b & 0x01;
|
|
18760
18825
|
#ifdef __LITTLE_ENDIAN__
|
|
18761
|
-
__a[1 -
|
|
18762
|
-
__a[3 -
|
|
18826
|
+
__a[1 - __d] = __c;
|
|
18827
|
+
__a[3 - __d] = __c;
|
|
18763
18828
|
#else
|
|
18764
|
-
__a[
|
|
18765
|
-
__a[2 +
|
|
18829
|
+
__a[__d] = __c;
|
|
18830
|
+
__a[2 + __d] = __c;
|
|
18766
18831
|
#endif
|
|
18767
18832
|
return __a;
|
|
18768
18833
|
}
|
|
@@ -18976,6 +19041,51 @@ vec_sra(vector signed __int128 __a, vector unsigned __int128 __b) {
|
|
|
18976
19041
|
#endif /* __SIZEOF_INT128__ */
|
|
18977
19042
|
#endif /* __POWER10_VECTOR__ */
|
|
18978
19043
|
|
|
19044
|
+
#ifdef __POWER8_VECTOR__
|
|
19045
|
+
#define __bcdadd(__a, __b, __ps) __builtin_ppc_bcdadd((__a), (__b), (__ps))
|
|
19046
|
+
#define __bcdsub(__a, __b, __ps) __builtin_ppc_bcdsub((__a), (__b), (__ps))
|
|
19047
|
+
|
|
19048
|
+
static __inline__ long __bcdadd_ofl(vector unsigned char __a,
|
|
19049
|
+
vector unsigned char __b) {
|
|
19050
|
+
return __builtin_ppc_bcdadd_p(__CR6_SO, __a, __b);
|
|
19051
|
+
}
|
|
19052
|
+
|
|
19053
|
+
static __inline__ long __bcdsub_ofl(vector unsigned char __a,
|
|
19054
|
+
vector unsigned char __b) {
|
|
19055
|
+
return __builtin_ppc_bcdsub_p(__CR6_SO, __a, __b);
|
|
19056
|
+
}
|
|
19057
|
+
|
|
19058
|
+
static __inline__ long __bcd_invalid(vector unsigned char __a) {
|
|
19059
|
+
return __builtin_ppc_bcdsub_p(__CR6_SO, __a, __a);
|
|
19060
|
+
}
|
|
19061
|
+
|
|
19062
|
+
static __inline__ long __bcdcmpeq(vector unsigned char __a,
|
|
19063
|
+
vector unsigned char __b) {
|
|
19064
|
+
return __builtin_ppc_bcdsub_p(__CR6_EQ, __a, __b);
|
|
19065
|
+
}
|
|
19066
|
+
|
|
19067
|
+
static __inline__ long __bcdcmplt(vector unsigned char __a,
|
|
19068
|
+
vector unsigned char __b) {
|
|
19069
|
+
return __builtin_ppc_bcdsub_p(__CR6_LT, __a, __b);
|
|
19070
|
+
}
|
|
19071
|
+
|
|
19072
|
+
static __inline__ long __bcdcmpgt(vector unsigned char __a,
|
|
19073
|
+
vector unsigned char __b) {
|
|
19074
|
+
return __builtin_ppc_bcdsub_p(__CR6_GT, __a, __b);
|
|
19075
|
+
}
|
|
19076
|
+
|
|
19077
|
+
static __inline__ long __bcdcmple(vector unsigned char __a,
|
|
19078
|
+
vector unsigned char __b) {
|
|
19079
|
+
return __builtin_ppc_bcdsub_p(__CR6_GT_REV, __a, __b);
|
|
19080
|
+
}
|
|
19081
|
+
|
|
19082
|
+
static __inline__ long __bcdcmpge(vector unsigned char __a,
|
|
19083
|
+
vector unsigned char __b) {
|
|
19084
|
+
return __builtin_ppc_bcdsub_p(__CR6_LT_REV, __a, __b);
|
|
19085
|
+
}
|
|
19086
|
+
|
|
19087
|
+
#endif // __POWER8_VECTOR__
|
|
19088
|
+
|
|
18979
19089
|
#undef __ATTRS_o_ai
|
|
18980
19090
|
|
|
18981
19091
|
#endif /* __ALTIVEC_H */
|