@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
|
@@ -400,7 +400,7 @@ _mm256_rcp_ps(__m256 __a)
|
|
|
400
400
|
/// 11: Truncated.
|
|
401
401
|
/// \returns A 256-bit vector of [4 x double] containing the rounded values.
|
|
402
402
|
#define _mm256_round_pd(V, M) \
|
|
403
|
-
|
|
403
|
+
((__m256d)__builtin_ia32_roundpd256((__v4df)(__m256d)(V), (M)))
|
|
404
404
|
|
|
405
405
|
/// Rounds the values stored in a 256-bit vector of [8 x float] as
|
|
406
406
|
/// specified by the byte operand. The source values are rounded to integer
|
|
@@ -432,7 +432,7 @@ _mm256_rcp_ps(__m256 __a)
|
|
|
432
432
|
/// 11: Truncated.
|
|
433
433
|
/// \returns A 256-bit vector of [8 x float] containing the rounded values.
|
|
434
434
|
#define _mm256_round_ps(V, M) \
|
|
435
|
-
(__m256)__builtin_ia32_roundps256((__v8sf)(__m256)(V), (M))
|
|
435
|
+
((__m256)__builtin_ia32_roundps256((__v8sf)(__m256)(V), (M)))
|
|
436
436
|
|
|
437
437
|
/// Rounds up the values stored in a 256-bit vector of [4 x double]. The
|
|
438
438
|
/// source values are rounded up to integer values and returned as 64-bit
|
|
@@ -989,7 +989,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
989
989
|
/// returned vector.
|
|
990
990
|
/// \returns A 128-bit vector of [2 x double] containing the copied values.
|
|
991
991
|
#define _mm_permute_pd(A, C) \
|
|
992
|
-
(__m128d)__builtin_ia32_vpermilpd((__v2df)(__m128d)(A), (int)(C))
|
|
992
|
+
((__m128d)__builtin_ia32_vpermilpd((__v2df)(__m128d)(A), (int)(C)))
|
|
993
993
|
|
|
994
994
|
/// Copies the values in a 256-bit vector of [4 x double] as specified by
|
|
995
995
|
/// the immediate integer operand.
|
|
@@ -1029,7 +1029,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
1029
1029
|
/// returned vector.
|
|
1030
1030
|
/// \returns A 256-bit vector of [4 x double] containing the copied values.
|
|
1031
1031
|
#define _mm256_permute_pd(A, C) \
|
|
1032
|
-
(__m256d)__builtin_ia32_vpermilpd256((__v4df)(__m256d)(A), (int)(C))
|
|
1032
|
+
((__m256d)__builtin_ia32_vpermilpd256((__v4df)(__m256d)(A), (int)(C)))
|
|
1033
1033
|
|
|
1034
1034
|
/// Copies the values in a 128-bit vector of [4 x float] as specified by
|
|
1035
1035
|
/// the immediate integer operand.
|
|
@@ -1085,7 +1085,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
1085
1085
|
/// returned vector.
|
|
1086
1086
|
/// \returns A 128-bit vector of [4 x float] containing the copied values.
|
|
1087
1087
|
#define _mm_permute_ps(A, C) \
|
|
1088
|
-
(__m128)__builtin_ia32_vpermilps((__v4sf)(__m128)(A), (int)(C))
|
|
1088
|
+
((__m128)__builtin_ia32_vpermilps((__v4sf)(__m128)(A), (int)(C)))
|
|
1089
1089
|
|
|
1090
1090
|
/// Copies the values in a 256-bit vector of [8 x float] as specified by
|
|
1091
1091
|
/// the immediate integer operand.
|
|
@@ -1177,7 +1177,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
1177
1177
|
/// returned vector.
|
|
1178
1178
|
/// \returns A 256-bit vector of [8 x float] containing the copied values.
|
|
1179
1179
|
#define _mm256_permute_ps(A, C) \
|
|
1180
|
-
(__m256)__builtin_ia32_vpermilps256((__v8sf)(__m256)(A), (int)(C))
|
|
1180
|
+
((__m256)__builtin_ia32_vpermilps256((__v8sf)(__m256)(A), (int)(C)))
|
|
1181
1181
|
|
|
1182
1182
|
/// Permutes 128-bit data values stored in two 256-bit vectors of
|
|
1183
1183
|
/// [4 x double], as specified by the immediate integer operand.
|
|
@@ -1217,8 +1217,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
1217
1217
|
/// destination.
|
|
1218
1218
|
/// \returns A 256-bit vector of [4 x double] containing the copied values.
|
|
1219
1219
|
#define _mm256_permute2f128_pd(V1, V2, M) \
|
|
1220
|
-
(__m256d)__builtin_ia32_vperm2f128_pd256((__v4df)(__m256d)(V1), \
|
|
1221
|
-
|
|
1220
|
+
((__m256d)__builtin_ia32_vperm2f128_pd256((__v4df)(__m256d)(V1), \
|
|
1221
|
+
(__v4df)(__m256d)(V2), (int)(M)))
|
|
1222
1222
|
|
|
1223
1223
|
/// Permutes 128-bit data values stored in two 256-bit vectors of
|
|
1224
1224
|
/// [8 x float], as specified by the immediate integer operand.
|
|
@@ -1258,8 +1258,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
1258
1258
|
/// destination.
|
|
1259
1259
|
/// \returns A 256-bit vector of [8 x float] containing the copied values.
|
|
1260
1260
|
#define _mm256_permute2f128_ps(V1, V2, M) \
|
|
1261
|
-
(__m256)__builtin_ia32_vperm2f128_ps256((__v8sf)(__m256)(V1), \
|
|
1262
|
-
|
|
1261
|
+
((__m256)__builtin_ia32_vperm2f128_ps256((__v8sf)(__m256)(V1), \
|
|
1262
|
+
(__v8sf)(__m256)(V2), (int)(M)))
|
|
1263
1263
|
|
|
1264
1264
|
/// Permutes 128-bit data values stored in two 256-bit integer vectors,
|
|
1265
1265
|
/// as specified by the immediate integer operand.
|
|
@@ -1298,8 +1298,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
1298
1298
|
/// destination.
|
|
1299
1299
|
/// \returns A 256-bit integer vector containing the copied values.
|
|
1300
1300
|
#define _mm256_permute2f128_si256(V1, V2, M) \
|
|
1301
|
-
(__m256i)__builtin_ia32_vperm2f128_si256((__v8si)(__m256i)(V1), \
|
|
1302
|
-
|
|
1301
|
+
((__m256i)__builtin_ia32_vperm2f128_si256((__v8si)(__m256i)(V1), \
|
|
1302
|
+
(__v8si)(__m256i)(V2), (int)(M)))
|
|
1303
1303
|
|
|
1304
1304
|
/* Vector Blend */
|
|
1305
1305
|
/// Merges 64-bit double-precision data values stored in either of the
|
|
@@ -1327,8 +1327,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
1327
1327
|
/// operand \a V2 is copied to the same position in the destination.
|
|
1328
1328
|
/// \returns A 256-bit vector of [4 x double] containing the copied values.
|
|
1329
1329
|
#define _mm256_blend_pd(V1, V2, M) \
|
|
1330
|
-
(__m256d)__builtin_ia32_blendpd256((__v4df)(__m256d)(V1), \
|
|
1331
|
-
|
|
1330
|
+
((__m256d)__builtin_ia32_blendpd256((__v4df)(__m256d)(V1), \
|
|
1331
|
+
(__v4df)(__m256d)(V2), (int)(M)))
|
|
1332
1332
|
|
|
1333
1333
|
/// Merges 32-bit single-precision data values stored in either of the
|
|
1334
1334
|
/// two 256-bit vectors of [8 x float], as specified by the immediate
|
|
@@ -1355,8 +1355,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
|
|
|
1355
1355
|
/// operand \a V2 is copied to the same position in the destination.
|
|
1356
1356
|
/// \returns A 256-bit vector of [8 x float] containing the copied values.
|
|
1357
1357
|
#define _mm256_blend_ps(V1, V2, M) \
|
|
1358
|
-
(__m256)__builtin_ia32_blendps256((__v8sf)(__m256)(V1), \
|
|
1359
|
-
|
|
1358
|
+
((__m256)__builtin_ia32_blendps256((__v8sf)(__m256)(V1), \
|
|
1359
|
+
(__v8sf)(__m256)(V2), (int)(M)))
|
|
1360
1360
|
|
|
1361
1361
|
/// Merges 64-bit double-precision data values stored in either of the
|
|
1362
1362
|
/// two 256-bit vectors of [4 x double], as specified by the 256-bit vector
|
|
@@ -1453,8 +1453,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1453
1453
|
/// two parallel dot product computations.
|
|
1454
1454
|
/// \returns A 256-bit vector of [8 x float] containing the two dot products.
|
|
1455
1455
|
#define _mm256_dp_ps(V1, V2, M) \
|
|
1456
|
-
(__m256)__builtin_ia32_dpps256((__v8sf)(__m256)(V1), \
|
|
1457
|
-
|
|
1456
|
+
((__m256)__builtin_ia32_dpps256((__v8sf)(__m256)(V1), \
|
|
1457
|
+
(__v8sf)(__m256)(V2), (M)))
|
|
1458
1458
|
|
|
1459
1459
|
/* Vector shuffle */
|
|
1460
1460
|
/// Selects 8 float values from the 256-bit operands of [8 x float], as
|
|
@@ -1507,8 +1507,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1507
1507
|
/// 11: Bits [127:96] and [255:224] are copied from the selected operand.
|
|
1508
1508
|
/// \returns A 256-bit vector of [8 x float] containing the shuffled values.
|
|
1509
1509
|
#define _mm256_shuffle_ps(a, b, mask) \
|
|
1510
|
-
(__m256)__builtin_ia32_shufps256((__v8sf)(__m256)(a), \
|
|
1511
|
-
|
|
1510
|
+
((__m256)__builtin_ia32_shufps256((__v8sf)(__m256)(a), \
|
|
1511
|
+
(__v8sf)(__m256)(b), (int)(mask)))
|
|
1512
1512
|
|
|
1513
1513
|
/// Selects four double-precision values from the 256-bit operands of
|
|
1514
1514
|
/// [4 x double], as specified by the immediate value operand.
|
|
@@ -1553,8 +1553,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1553
1553
|
/// destination.
|
|
1554
1554
|
/// \returns A 256-bit vector of [4 x double] containing the shuffled values.
|
|
1555
1555
|
#define _mm256_shuffle_pd(a, b, mask) \
|
|
1556
|
-
(__m256d)__builtin_ia32_shufpd256((__v4df)(__m256d)(a), \
|
|
1557
|
-
|
|
1556
|
+
((__m256d)__builtin_ia32_shufpd256((__v4df)(__m256d)(a), \
|
|
1557
|
+
(__v4df)(__m256d)(b), (int)(mask)))
|
|
1558
1558
|
|
|
1559
1559
|
/* Compare */
|
|
1560
1560
|
#define _CMP_EQ_OQ 0x00 /* Equal (ordered, non-signaling) */
|
|
@@ -1647,8 +1647,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1647
1647
|
/// 0x1F: True (unordered, signaling)
|
|
1648
1648
|
/// \returns A 128-bit vector of [2 x double] containing the comparison results.
|
|
1649
1649
|
#define _mm_cmp_pd(a, b, c) \
|
|
1650
|
-
(__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \
|
|
1651
|
-
|
|
1650
|
+
((__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \
|
|
1651
|
+
(__v2df)(__m128d)(b), (c)))
|
|
1652
1652
|
|
|
1653
1653
|
/// Compares each of the corresponding values of two 128-bit vectors of
|
|
1654
1654
|
/// [4 x float], using the operation specified by the immediate integer
|
|
@@ -1707,8 +1707,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1707
1707
|
/// 0x1F: True (unordered, signaling)
|
|
1708
1708
|
/// \returns A 128-bit vector of [4 x float] containing the comparison results.
|
|
1709
1709
|
#define _mm_cmp_ps(a, b, c) \
|
|
1710
|
-
(__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
|
|
1711
|
-
|
|
1710
|
+
((__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
|
|
1711
|
+
(__v4sf)(__m128)(b), (c)))
|
|
1712
1712
|
|
|
1713
1713
|
/// Compares each of the corresponding double-precision values of two
|
|
1714
1714
|
/// 256-bit vectors of [4 x double], using the operation specified by the
|
|
@@ -1767,8 +1767,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1767
1767
|
/// 0x1F: True (unordered, signaling)
|
|
1768
1768
|
/// \returns A 256-bit vector of [4 x double] containing the comparison results.
|
|
1769
1769
|
#define _mm256_cmp_pd(a, b, c) \
|
|
1770
|
-
(__m256d)__builtin_ia32_cmppd256((__v4df)(__m256d)(a), \
|
|
1771
|
-
|
|
1770
|
+
((__m256d)__builtin_ia32_cmppd256((__v4df)(__m256d)(a), \
|
|
1771
|
+
(__v4df)(__m256d)(b), (c)))
|
|
1772
1772
|
|
|
1773
1773
|
/// Compares each of the corresponding values of two 256-bit vectors of
|
|
1774
1774
|
/// [8 x float], using the operation specified by the immediate integer
|
|
@@ -1827,8 +1827,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1827
1827
|
/// 0x1F: True (unordered, signaling)
|
|
1828
1828
|
/// \returns A 256-bit vector of [8 x float] containing the comparison results.
|
|
1829
1829
|
#define _mm256_cmp_ps(a, b, c) \
|
|
1830
|
-
(__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \
|
|
1831
|
-
|
|
1830
|
+
((__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \
|
|
1831
|
+
(__v8sf)(__m256)(b), (c)))
|
|
1832
1832
|
|
|
1833
1833
|
/// Compares each of the corresponding scalar double-precision values of
|
|
1834
1834
|
/// two 128-bit vectors of [2 x double], using the operation specified by the
|
|
@@ -1886,8 +1886,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1886
1886
|
/// 0x1F: True (unordered, signaling)
|
|
1887
1887
|
/// \returns A 128-bit vector of [2 x double] containing the comparison results.
|
|
1888
1888
|
#define _mm_cmp_sd(a, b, c) \
|
|
1889
|
-
(__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \
|
|
1890
|
-
|
|
1889
|
+
((__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \
|
|
1890
|
+
(__v2df)(__m128d)(b), (c)))
|
|
1891
1891
|
|
|
1892
1892
|
/// Compares each of the corresponding scalar values of two 128-bit
|
|
1893
1893
|
/// vectors of [4 x float], using the operation specified by the immediate
|
|
@@ -1945,8 +1945,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1945
1945
|
/// 0x1F: True (unordered, signaling)
|
|
1946
1946
|
/// \returns A 128-bit vector of [4 x float] containing the comparison results.
|
|
1947
1947
|
#define _mm_cmp_ss(a, b, c) \
|
|
1948
|
-
(__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \
|
|
1949
|
-
|
|
1948
|
+
((__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \
|
|
1949
|
+
(__v4sf)(__m128)(b), (c)))
|
|
1950
1950
|
|
|
1951
1951
|
/// Takes a [8 x i32] vector and returns the vector element value
|
|
1952
1952
|
/// indexed by the immediate constant operand.
|
|
@@ -1964,7 +1964,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1964
1964
|
/// \returns A 32-bit integer containing the extracted 32 bits of extended
|
|
1965
1965
|
/// packed data.
|
|
1966
1966
|
#define _mm256_extract_epi32(X, N) \
|
|
1967
|
-
(int)__builtin_ia32_vec_ext_v8si((__v8si)(__m256i)(X), (int)(N))
|
|
1967
|
+
((int)__builtin_ia32_vec_ext_v8si((__v8si)(__m256i)(X), (int)(N)))
|
|
1968
1968
|
|
|
1969
1969
|
/// Takes a [16 x i16] vector and returns the vector element value
|
|
1970
1970
|
/// indexed by the immediate constant operand.
|
|
@@ -1982,8 +1982,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1982
1982
|
/// \returns A 32-bit integer containing the extracted 16 bits of zero extended
|
|
1983
1983
|
/// packed data.
|
|
1984
1984
|
#define _mm256_extract_epi16(X, N) \
|
|
1985
|
-
(int)(unsigned short)__builtin_ia32_vec_ext_v16hi((__v16hi)(__m256i)(X), \
|
|
1986
|
-
|
|
1985
|
+
((int)(unsigned short)__builtin_ia32_vec_ext_v16hi((__v16hi)(__m256i)(X), \
|
|
1986
|
+
(int)(N)))
|
|
1987
1987
|
|
|
1988
1988
|
/// Takes a [32 x i8] vector and returns the vector element value
|
|
1989
1989
|
/// indexed by the immediate constant operand.
|
|
@@ -2001,8 +2001,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
2001
2001
|
/// \returns A 32-bit integer containing the extracted 8 bits of zero extended
|
|
2002
2002
|
/// packed data.
|
|
2003
2003
|
#define _mm256_extract_epi8(X, N) \
|
|
2004
|
-
(int)(unsigned char)__builtin_ia32_vec_ext_v32qi((__v32qi)(__m256i)(X), \
|
|
2005
|
-
|
|
2004
|
+
((int)(unsigned char)__builtin_ia32_vec_ext_v32qi((__v32qi)(__m256i)(X), \
|
|
2005
|
+
(int)(N)))
|
|
2006
2006
|
|
|
2007
2007
|
#ifdef __x86_64__
|
|
2008
2008
|
/// Takes a [4 x i64] vector and returns the vector element value
|
|
@@ -2021,7 +2021,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
2021
2021
|
/// \returns A 64-bit integer containing the extracted 64 bits of extended
|
|
2022
2022
|
/// packed data.
|
|
2023
2023
|
#define _mm256_extract_epi64(X, N) \
|
|
2024
|
-
(long long)__builtin_ia32_vec_ext_v4di((__v4di)(__m256i)(X), (int)(N))
|
|
2024
|
+
((long long)__builtin_ia32_vec_ext_v4di((__v4di)(__m256i)(X), (int)(N)))
|
|
2025
2025
|
#endif
|
|
2026
2026
|
|
|
2027
2027
|
/// Takes a [8 x i32] vector and replaces the vector element value
|
|
@@ -2043,8 +2043,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
2043
2043
|
/// \returns A copy of vector \a __a, after replacing its element indexed by
|
|
2044
2044
|
/// \a __imm with \a __b.
|
|
2045
2045
|
#define _mm256_insert_epi32(X, I, N) \
|
|
2046
|
-
(__m256i)__builtin_ia32_vec_set_v8si((__v8si)(__m256i)(X), \
|
|
2047
|
-
|
|
2046
|
+
((__m256i)__builtin_ia32_vec_set_v8si((__v8si)(__m256i)(X), \
|
|
2047
|
+
(int)(I), (int)(N)))
|
|
2048
2048
|
|
|
2049
2049
|
|
|
2050
2050
|
/// Takes a [16 x i16] vector and replaces the vector element value
|
|
@@ -2066,8 +2066,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
2066
2066
|
/// \returns A copy of vector \a __a, after replacing its element indexed by
|
|
2067
2067
|
/// \a __imm with \a __b.
|
|
2068
2068
|
#define _mm256_insert_epi16(X, I, N) \
|
|
2069
|
-
(__m256i)__builtin_ia32_vec_set_v16hi((__v16hi)(__m256i)(X), \
|
|
2070
|
-
|
|
2069
|
+
((__m256i)__builtin_ia32_vec_set_v16hi((__v16hi)(__m256i)(X), \
|
|
2070
|
+
(int)(I), (int)(N)))
|
|
2071
2071
|
|
|
2072
2072
|
/// Takes a [32 x i8] vector and replaces the vector element value
|
|
2073
2073
|
/// indexed by the immediate constant operand with a new value. Returns the
|
|
@@ -2088,8 +2088,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
2088
2088
|
/// \returns A copy of vector \a __a, after replacing its element indexed by
|
|
2089
2089
|
/// \a __imm with \a __b.
|
|
2090
2090
|
#define _mm256_insert_epi8(X, I, N) \
|
|
2091
|
-
(__m256i)__builtin_ia32_vec_set_v32qi((__v32qi)(__m256i)(X), \
|
|
2092
|
-
|
|
2091
|
+
((__m256i)__builtin_ia32_vec_set_v32qi((__v32qi)(__m256i)(X), \
|
|
2092
|
+
(int)(I), (int)(N)))
|
|
2093
2093
|
|
|
2094
2094
|
#ifdef __x86_64__
|
|
2095
2095
|
/// Takes a [4 x i64] vector and replaces the vector element value
|
|
@@ -2111,8 +2111,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
2111
2111
|
/// \returns A copy of vector \a __a, after replacing its element indexed by
|
|
2112
2112
|
/// \a __imm with \a __b.
|
|
2113
2113
|
#define _mm256_insert_epi64(X, I, N) \
|
|
2114
|
-
(__m256i)__builtin_ia32_vec_set_v4di((__v4di)(__m256i)(X), \
|
|
2115
|
-
|
|
2114
|
+
((__m256i)__builtin_ia32_vec_set_v4di((__v4di)(__m256i)(X), \
|
|
2115
|
+
(long long)(I), (int)(N)))
|
|
2116
2116
|
#endif
|
|
2117
2117
|
|
|
2118
2118
|
/* Conversion */
|
|
@@ -4592,8 +4592,8 @@ _mm256_zextsi128_si256(__m128i __a)
|
|
|
4592
4592
|
/// result.
|
|
4593
4593
|
/// \returns A 256-bit vector of [8 x float] containing the interleaved values.
|
|
4594
4594
|
#define _mm256_insertf128_ps(V1, V2, M) \
|
|
4595
|
-
(__m256)__builtin_ia32_vinsertf128_ps256((__v8sf)(__m256)(V1), \
|
|
4596
|
-
|
|
4595
|
+
((__m256)__builtin_ia32_vinsertf128_ps256((__v8sf)(__m256)(V1), \
|
|
4596
|
+
(__v4sf)(__m128)(V2), (int)(M)))
|
|
4597
4597
|
|
|
4598
4598
|
/// Constructs a new 256-bit vector of [4 x double] by first duplicating
|
|
4599
4599
|
/// a 256-bit vector of [4 x double] given in the first parameter, and then
|
|
@@ -4630,8 +4630,8 @@ _mm256_zextsi128_si256(__m128i __a)
|
|
|
4630
4630
|
/// result.
|
|
4631
4631
|
/// \returns A 256-bit vector of [4 x double] containing the interleaved values.
|
|
4632
4632
|
#define _mm256_insertf128_pd(V1, V2, M) \
|
|
4633
|
-
(__m256d)__builtin_ia32_vinsertf128_pd256((__v4df)(__m256d)(V1), \
|
|
4634
|
-
|
|
4633
|
+
((__m256d)__builtin_ia32_vinsertf128_pd256((__v4df)(__m256d)(V1), \
|
|
4634
|
+
(__v2df)(__m128d)(V2), (int)(M)))
|
|
4635
4635
|
|
|
4636
4636
|
/// Constructs a new 256-bit integer vector by first duplicating a
|
|
4637
4637
|
/// 256-bit integer vector given in the first parameter, and then replacing
|
|
@@ -4668,8 +4668,8 @@ _mm256_zextsi128_si256(__m128i __a)
|
|
|
4668
4668
|
/// result.
|
|
4669
4669
|
/// \returns A 256-bit integer vector containing the interleaved values.
|
|
4670
4670
|
#define _mm256_insertf128_si256(V1, V2, M) \
|
|
4671
|
-
(__m256i)__builtin_ia32_vinsertf128_si256((__v8si)(__m256i)(V1), \
|
|
4672
|
-
|
|
4671
|
+
((__m256i)__builtin_ia32_vinsertf128_si256((__v8si)(__m256i)(V1), \
|
|
4672
|
+
(__v4si)(__m128i)(V2), (int)(M)))
|
|
4673
4673
|
|
|
4674
4674
|
/*
|
|
4675
4675
|
Vector extract.
|
|
@@ -4698,7 +4698,7 @@ _mm256_zextsi128_si256(__m128i __a)
|
|
|
4698
4698
|
/// If bit [0] of \a M is 1, bits [255:128] of \a V are copied to the result.
|
|
4699
4699
|
/// \returns A 128-bit vector of [4 x float] containing the extracted bits.
|
|
4700
4700
|
#define _mm256_extractf128_ps(V, M) \
|
|
4701
|
-
(__m128)__builtin_ia32_vextractf128_ps256((__v8sf)(__m256)(V), (int)(M))
|
|
4701
|
+
((__m128)__builtin_ia32_vextractf128_ps256((__v8sf)(__m256)(V), (int)(M)))
|
|
4702
4702
|
|
|
4703
4703
|
/// Extracts either the upper or the lower 128 bits from a 256-bit vector
|
|
4704
4704
|
/// of [4 x double], as determined by the immediate integer parameter, and
|
|
@@ -4722,7 +4722,7 @@ _mm256_zextsi128_si256(__m128i __a)
|
|
|
4722
4722
|
/// If bit [0] of \a M is 1, bits [255:128] of \a V are copied to the result.
|
|
4723
4723
|
/// \returns A 128-bit vector of [2 x double] containing the extracted bits.
|
|
4724
4724
|
#define _mm256_extractf128_pd(V, M) \
|
|
4725
|
-
(__m128d)__builtin_ia32_vextractf128_pd256((__v4df)(__m256d)(V), (int)(M))
|
|
4725
|
+
((__m128d)__builtin_ia32_vextractf128_pd256((__v4df)(__m256d)(V), (int)(M)))
|
|
4726
4726
|
|
|
4727
4727
|
/// Extracts either the upper or the lower 128 bits from a 256-bit
|
|
4728
4728
|
/// integer vector, as determined by the immediate integer parameter, and
|
|
@@ -4746,7 +4746,136 @@ _mm256_zextsi128_si256(__m128i __a)
|
|
|
4746
4746
|
/// If bit [0] of \a M is 1, bits [255:128] of \a V are copied to the result.
|
|
4747
4747
|
/// \returns A 128-bit integer vector containing the extracted bits.
|
|
4748
4748
|
#define _mm256_extractf128_si256(V, M) \
|
|
4749
|
-
(__m128i)__builtin_ia32_vextractf128_si256((__v8si)(__m256i)(V), (int)(M))
|
|
4749
|
+
((__m128i)__builtin_ia32_vextractf128_si256((__v8si)(__m256i)(V), (int)(M)))
|
|
4750
|
+
|
|
4751
|
+
/// Constructs a 256-bit floating-point vector of [8 x float] by
|
|
4752
|
+
/// concatenating two 128-bit floating-point vectors of [4 x float].
|
|
4753
|
+
///
|
|
4754
|
+
/// \headerfile <x86intrin.h>
|
|
4755
|
+
///
|
|
4756
|
+
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4757
|
+
///
|
|
4758
|
+
/// \param __hi
|
|
4759
|
+
/// A 128-bit floating-point vector of [4 x float] to be copied to the upper
|
|
4760
|
+
/// 128 bits of the result.
|
|
4761
|
+
/// \param __lo
|
|
4762
|
+
/// A 128-bit floating-point vector of [4 x float] to be copied to the lower
|
|
4763
|
+
/// 128 bits of the result.
|
|
4764
|
+
/// \returns A 256-bit floating-point vector of [8 x float] containing the
|
|
4765
|
+
/// concatenated result.
|
|
4766
|
+
static __inline __m256 __DEFAULT_FN_ATTRS
|
|
4767
|
+
_mm256_set_m128 (__m128 __hi, __m128 __lo)
|
|
4768
|
+
{
|
|
4769
|
+
return (__m256) __builtin_shufflevector((__v4sf)__lo, (__v4sf)__hi, 0, 1, 2, 3, 4, 5, 6, 7);
|
|
4770
|
+
}
|
|
4771
|
+
|
|
4772
|
+
/// Constructs a 256-bit floating-point vector of [4 x double] by
|
|
4773
|
+
/// concatenating two 128-bit floating-point vectors of [2 x double].
|
|
4774
|
+
///
|
|
4775
|
+
/// \headerfile <x86intrin.h>
|
|
4776
|
+
///
|
|
4777
|
+
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4778
|
+
///
|
|
4779
|
+
/// \param __hi
|
|
4780
|
+
/// A 128-bit floating-point vector of [2 x double] to be copied to the upper
|
|
4781
|
+
/// 128 bits of the result.
|
|
4782
|
+
/// \param __lo
|
|
4783
|
+
/// A 128-bit floating-point vector of [2 x double] to be copied to the lower
|
|
4784
|
+
/// 128 bits of the result.
|
|
4785
|
+
/// \returns A 256-bit floating-point vector of [4 x double] containing the
|
|
4786
|
+
/// concatenated result.
|
|
4787
|
+
static __inline __m256d __DEFAULT_FN_ATTRS
|
|
4788
|
+
_mm256_set_m128d (__m128d __hi, __m128d __lo)
|
|
4789
|
+
{
|
|
4790
|
+
return (__m256d) __builtin_shufflevector((__v2df)__lo, (__v2df)__hi, 0, 1, 2, 3);
|
|
4791
|
+
}
|
|
4792
|
+
|
|
4793
|
+
/// Constructs a 256-bit integer vector by concatenating two 128-bit
|
|
4794
|
+
/// integer vectors.
|
|
4795
|
+
///
|
|
4796
|
+
/// \headerfile <x86intrin.h>
|
|
4797
|
+
///
|
|
4798
|
+
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4799
|
+
///
|
|
4800
|
+
/// \param __hi
|
|
4801
|
+
/// A 128-bit integer vector to be copied to the upper 128 bits of the
|
|
4802
|
+
/// result.
|
|
4803
|
+
/// \param __lo
|
|
4804
|
+
/// A 128-bit integer vector to be copied to the lower 128 bits of the
|
|
4805
|
+
/// result.
|
|
4806
|
+
/// \returns A 256-bit integer vector containing the concatenated result.
|
|
4807
|
+
static __inline __m256i __DEFAULT_FN_ATTRS
|
|
4808
|
+
_mm256_set_m128i (__m128i __hi, __m128i __lo)
|
|
4809
|
+
{
|
|
4810
|
+
return (__m256i) __builtin_shufflevector((__v2di)__lo, (__v2di)__hi, 0, 1, 2, 3);
|
|
4811
|
+
}
|
|
4812
|
+
|
|
4813
|
+
/// Constructs a 256-bit floating-point vector of [8 x float] by
|
|
4814
|
+
/// concatenating two 128-bit floating-point vectors of [4 x float]. This is
|
|
4815
|
+
/// similar to _mm256_set_m128, but the order of the input parameters is
|
|
4816
|
+
/// swapped.
|
|
4817
|
+
///
|
|
4818
|
+
/// \headerfile <x86intrin.h>
|
|
4819
|
+
///
|
|
4820
|
+
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4821
|
+
///
|
|
4822
|
+
/// \param __lo
|
|
4823
|
+
/// A 128-bit floating-point vector of [4 x float] to be copied to the lower
|
|
4824
|
+
/// 128 bits of the result.
|
|
4825
|
+
/// \param __hi
|
|
4826
|
+
/// A 128-bit floating-point vector of [4 x float] to be copied to the upper
|
|
4827
|
+
/// 128 bits of the result.
|
|
4828
|
+
/// \returns A 256-bit floating-point vector of [8 x float] containing the
|
|
4829
|
+
/// concatenated result.
|
|
4830
|
+
static __inline __m256 __DEFAULT_FN_ATTRS
|
|
4831
|
+
_mm256_setr_m128 (__m128 __lo, __m128 __hi)
|
|
4832
|
+
{
|
|
4833
|
+
return _mm256_set_m128(__hi, __lo);
|
|
4834
|
+
}
|
|
4835
|
+
|
|
4836
|
+
/// Constructs a 256-bit floating-point vector of [4 x double] by
|
|
4837
|
+
/// concatenating two 128-bit floating-point vectors of [2 x double]. This is
|
|
4838
|
+
/// similar to _mm256_set_m128d, but the order of the input parameters is
|
|
4839
|
+
/// swapped.
|
|
4840
|
+
///
|
|
4841
|
+
/// \headerfile <x86intrin.h>
|
|
4842
|
+
///
|
|
4843
|
+
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4844
|
+
///
|
|
4845
|
+
/// \param __lo
|
|
4846
|
+
/// A 128-bit floating-point vector of [2 x double] to be copied to the lower
|
|
4847
|
+
/// 128 bits of the result.
|
|
4848
|
+
/// \param __hi
|
|
4849
|
+
/// A 128-bit floating-point vector of [2 x double] to be copied to the upper
|
|
4850
|
+
/// 128 bits of the result.
|
|
4851
|
+
/// \returns A 256-bit floating-point vector of [4 x double] containing the
|
|
4852
|
+
/// concatenated result.
|
|
4853
|
+
static __inline __m256d __DEFAULT_FN_ATTRS
|
|
4854
|
+
_mm256_setr_m128d (__m128d __lo, __m128d __hi)
|
|
4855
|
+
{
|
|
4856
|
+
return (__m256d)_mm256_set_m128d(__hi, __lo);
|
|
4857
|
+
}
|
|
4858
|
+
|
|
4859
|
+
/// Constructs a 256-bit integer vector by concatenating two 128-bit
|
|
4860
|
+
/// integer vectors. This is similar to _mm256_set_m128i, but the order of
|
|
4861
|
+
/// the input parameters is swapped.
|
|
4862
|
+
///
|
|
4863
|
+
/// \headerfile <x86intrin.h>
|
|
4864
|
+
///
|
|
4865
|
+
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4866
|
+
///
|
|
4867
|
+
/// \param __lo
|
|
4868
|
+
/// A 128-bit integer vector to be copied to the lower 128 bits of the
|
|
4869
|
+
/// result.
|
|
4870
|
+
/// \param __hi
|
|
4871
|
+
/// A 128-bit integer vector to be copied to the upper 128 bits of the
|
|
4872
|
+
/// result.
|
|
4873
|
+
/// \returns A 256-bit integer vector containing the concatenated result.
|
|
4874
|
+
static __inline __m256i __DEFAULT_FN_ATTRS
|
|
4875
|
+
_mm256_setr_m128i (__m128i __lo, __m128i __hi)
|
|
4876
|
+
{
|
|
4877
|
+
return (__m256i)_mm256_set_m128i(__hi, __lo);
|
|
4878
|
+
}
|
|
4750
4879
|
|
|
4751
4880
|
/* SIMD load ops (unaligned) */
|
|
4752
4881
|
/// Loads two 128-bit floating-point vectors of [4 x float] from
|
|
@@ -4773,8 +4902,7 @@ _mm256_zextsi128_si256(__m128i __a)
|
|
|
4773
4902
|
static __inline __m256 __DEFAULT_FN_ATTRS
|
|
4774
4903
|
_mm256_loadu2_m128(float const *__addr_hi, float const *__addr_lo)
|
|
4775
4904
|
{
|
|
4776
|
-
|
|
4777
|
-
return _mm256_insertf128_ps(__v256, _mm_loadu_ps(__addr_hi), 1);
|
|
4905
|
+
return _mm256_set_m128(_mm_loadu_ps(__addr_hi), _mm_loadu_ps(__addr_lo));
|
|
4778
4906
|
}
|
|
4779
4907
|
|
|
4780
4908
|
/// Loads two 128-bit floating-point vectors of [2 x double] from
|
|
@@ -4801,8 +4929,7 @@ _mm256_loadu2_m128(float const *__addr_hi, float const *__addr_lo)
|
|
|
4801
4929
|
static __inline __m256d __DEFAULT_FN_ATTRS
|
|
4802
4930
|
_mm256_loadu2_m128d(double const *__addr_hi, double const *__addr_lo)
|
|
4803
4931
|
{
|
|
4804
|
-
|
|
4805
|
-
return _mm256_insertf128_pd(__v256, _mm_loadu_pd(__addr_hi), 1);
|
|
4932
|
+
return _mm256_set_m128d(_mm_loadu_pd(__addr_hi), _mm_loadu_pd(__addr_lo));
|
|
4806
4933
|
}
|
|
4807
4934
|
|
|
4808
4935
|
/// Loads two 128-bit integer vectors from unaligned memory locations and
|
|
@@ -4826,8 +4953,7 @@ _mm256_loadu2_m128d(double const *__addr_hi, double const *__addr_lo)
|
|
|
4826
4953
|
static __inline __m256i __DEFAULT_FN_ATTRS
|
|
4827
4954
|
_mm256_loadu2_m128i(__m128i_u const *__addr_hi, __m128i_u const *__addr_lo)
|
|
4828
4955
|
{
|
|
4829
|
-
|
|
4830
|
-
return _mm256_insertf128_si256(__v256, _mm_loadu_si128(__addr_hi), 1);
|
|
4956
|
+
return _mm256_set_m128i(_mm_loadu_si128(__addr_hi), _mm_loadu_si128(__addr_lo));
|
|
4831
4957
|
}
|
|
4832
4958
|
|
|
4833
4959
|
/* SIMD store ops (unaligned) */
|
|
@@ -4918,135 +5044,6 @@ _mm256_storeu2_m128i(__m128i_u *__addr_hi, __m128i_u *__addr_lo, __m256i __a)
|
|
|
4918
5044
|
_mm_storeu_si128(__addr_hi, __v128);
|
|
4919
5045
|
}
|
|
4920
5046
|
|
|
4921
|
-
/// Constructs a 256-bit floating-point vector of [8 x float] by
|
|
4922
|
-
/// concatenating two 128-bit floating-point vectors of [4 x float].
|
|
4923
|
-
///
|
|
4924
|
-
/// \headerfile <x86intrin.h>
|
|
4925
|
-
///
|
|
4926
|
-
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4927
|
-
///
|
|
4928
|
-
/// \param __hi
|
|
4929
|
-
/// A 128-bit floating-point vector of [4 x float] to be copied to the upper
|
|
4930
|
-
/// 128 bits of the result.
|
|
4931
|
-
/// \param __lo
|
|
4932
|
-
/// A 128-bit floating-point vector of [4 x float] to be copied to the lower
|
|
4933
|
-
/// 128 bits of the result.
|
|
4934
|
-
/// \returns A 256-bit floating-point vector of [8 x float] containing the
|
|
4935
|
-
/// concatenated result.
|
|
4936
|
-
static __inline __m256 __DEFAULT_FN_ATTRS
|
|
4937
|
-
_mm256_set_m128 (__m128 __hi, __m128 __lo)
|
|
4938
|
-
{
|
|
4939
|
-
return (__m256) __builtin_shufflevector((__v4sf)__lo, (__v4sf)__hi, 0, 1, 2, 3, 4, 5, 6, 7);
|
|
4940
|
-
}
|
|
4941
|
-
|
|
4942
|
-
/// Constructs a 256-bit floating-point vector of [4 x double] by
|
|
4943
|
-
/// concatenating two 128-bit floating-point vectors of [2 x double].
|
|
4944
|
-
///
|
|
4945
|
-
/// \headerfile <x86intrin.h>
|
|
4946
|
-
///
|
|
4947
|
-
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4948
|
-
///
|
|
4949
|
-
/// \param __hi
|
|
4950
|
-
/// A 128-bit floating-point vector of [2 x double] to be copied to the upper
|
|
4951
|
-
/// 128 bits of the result.
|
|
4952
|
-
/// \param __lo
|
|
4953
|
-
/// A 128-bit floating-point vector of [2 x double] to be copied to the lower
|
|
4954
|
-
/// 128 bits of the result.
|
|
4955
|
-
/// \returns A 256-bit floating-point vector of [4 x double] containing the
|
|
4956
|
-
/// concatenated result.
|
|
4957
|
-
static __inline __m256d __DEFAULT_FN_ATTRS
|
|
4958
|
-
_mm256_set_m128d (__m128d __hi, __m128d __lo)
|
|
4959
|
-
{
|
|
4960
|
-
return (__m256d) __builtin_shufflevector((__v2df)__lo, (__v2df)__hi, 0, 1, 2, 3);
|
|
4961
|
-
}
|
|
4962
|
-
|
|
4963
|
-
/// Constructs a 256-bit integer vector by concatenating two 128-bit
|
|
4964
|
-
/// integer vectors.
|
|
4965
|
-
///
|
|
4966
|
-
/// \headerfile <x86intrin.h>
|
|
4967
|
-
///
|
|
4968
|
-
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4969
|
-
///
|
|
4970
|
-
/// \param __hi
|
|
4971
|
-
/// A 128-bit integer vector to be copied to the upper 128 bits of the
|
|
4972
|
-
/// result.
|
|
4973
|
-
/// \param __lo
|
|
4974
|
-
/// A 128-bit integer vector to be copied to the lower 128 bits of the
|
|
4975
|
-
/// result.
|
|
4976
|
-
/// \returns A 256-bit integer vector containing the concatenated result.
|
|
4977
|
-
static __inline __m256i __DEFAULT_FN_ATTRS
|
|
4978
|
-
_mm256_set_m128i (__m128i __hi, __m128i __lo)
|
|
4979
|
-
{
|
|
4980
|
-
return (__m256i) __builtin_shufflevector((__v2di)__lo, (__v2di)__hi, 0, 1, 2, 3);
|
|
4981
|
-
}
|
|
4982
|
-
|
|
4983
|
-
/// Constructs a 256-bit floating-point vector of [8 x float] by
|
|
4984
|
-
/// concatenating two 128-bit floating-point vectors of [4 x float]. This is
|
|
4985
|
-
/// similar to _mm256_set_m128, but the order of the input parameters is
|
|
4986
|
-
/// swapped.
|
|
4987
|
-
///
|
|
4988
|
-
/// \headerfile <x86intrin.h>
|
|
4989
|
-
///
|
|
4990
|
-
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
4991
|
-
///
|
|
4992
|
-
/// \param __lo
|
|
4993
|
-
/// A 128-bit floating-point vector of [4 x float] to be copied to the lower
|
|
4994
|
-
/// 128 bits of the result.
|
|
4995
|
-
/// \param __hi
|
|
4996
|
-
/// A 128-bit floating-point vector of [4 x float] to be copied to the upper
|
|
4997
|
-
/// 128 bits of the result.
|
|
4998
|
-
/// \returns A 256-bit floating-point vector of [8 x float] containing the
|
|
4999
|
-
/// concatenated result.
|
|
5000
|
-
static __inline __m256 __DEFAULT_FN_ATTRS
|
|
5001
|
-
_mm256_setr_m128 (__m128 __lo, __m128 __hi)
|
|
5002
|
-
{
|
|
5003
|
-
return _mm256_set_m128(__hi, __lo);
|
|
5004
|
-
}
|
|
5005
|
-
|
|
5006
|
-
/// Constructs a 256-bit floating-point vector of [4 x double] by
|
|
5007
|
-
/// concatenating two 128-bit floating-point vectors of [2 x double]. This is
|
|
5008
|
-
/// similar to _mm256_set_m128d, but the order of the input parameters is
|
|
5009
|
-
/// swapped.
|
|
5010
|
-
///
|
|
5011
|
-
/// \headerfile <x86intrin.h>
|
|
5012
|
-
///
|
|
5013
|
-
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
5014
|
-
///
|
|
5015
|
-
/// \param __lo
|
|
5016
|
-
/// A 128-bit floating-point vector of [2 x double] to be copied to the lower
|
|
5017
|
-
/// 128 bits of the result.
|
|
5018
|
-
/// \param __hi
|
|
5019
|
-
/// A 128-bit floating-point vector of [2 x double] to be copied to the upper
|
|
5020
|
-
/// 128 bits of the result.
|
|
5021
|
-
/// \returns A 256-bit floating-point vector of [4 x double] containing the
|
|
5022
|
-
/// concatenated result.
|
|
5023
|
-
static __inline __m256d __DEFAULT_FN_ATTRS
|
|
5024
|
-
_mm256_setr_m128d (__m128d __lo, __m128d __hi)
|
|
5025
|
-
{
|
|
5026
|
-
return (__m256d)_mm256_set_m128d(__hi, __lo);
|
|
5027
|
-
}
|
|
5028
|
-
|
|
5029
|
-
/// Constructs a 256-bit integer vector by concatenating two 128-bit
|
|
5030
|
-
/// integer vectors. This is similar to _mm256_set_m128i, but the order of
|
|
5031
|
-
/// the input parameters is swapped.
|
|
5032
|
-
///
|
|
5033
|
-
/// \headerfile <x86intrin.h>
|
|
5034
|
-
///
|
|
5035
|
-
/// This intrinsic corresponds to the <c> VINSERTF128 </c> instruction.
|
|
5036
|
-
///
|
|
5037
|
-
/// \param __lo
|
|
5038
|
-
/// A 128-bit integer vector to be copied to the lower 128 bits of the
|
|
5039
|
-
/// result.
|
|
5040
|
-
/// \param __hi
|
|
5041
|
-
/// A 128-bit integer vector to be copied to the upper 128 bits of the
|
|
5042
|
-
/// result.
|
|
5043
|
-
/// \returns A 256-bit integer vector containing the concatenated result.
|
|
5044
|
-
static __inline __m256i __DEFAULT_FN_ATTRS
|
|
5045
|
-
_mm256_setr_m128i (__m128i __lo, __m128i __hi)
|
|
5046
|
-
{
|
|
5047
|
-
return (__m256i)_mm256_set_m128i(__hi, __lo);
|
|
5048
|
-
}
|
|
5049
|
-
|
|
5050
5047
|
#undef __DEFAULT_FN_ATTRS
|
|
5051
5048
|
#undef __DEFAULT_FN_ATTRS128
|
|
5052
5049
|
|
|
@@ -42,10 +42,20 @@ static __inline__ unsigned int __DEFAULT_FN_ATTRS _rdsspd(unsigned int __a) {
|
|
|
42
42
|
return __builtin_ia32_rdsspd(__a);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
static __inline__ unsigned int __DEFAULT_FN_ATTRS _rdsspd_i32() {
|
|
46
|
+
unsigned int t;
|
|
47
|
+
return __builtin_ia32_rdsspd(t);
|
|
48
|
+
}
|
|
49
|
+
|
|
45
50
|
#ifdef __x86_64__
|
|
46
51
|
static __inline__ unsigned long long __DEFAULT_FN_ATTRS _rdsspq(unsigned long long __a) {
|
|
47
52
|
return __builtin_ia32_rdsspq(__a);
|
|
48
53
|
}
|
|
54
|
+
|
|
55
|
+
static __inline__ unsigned long long __DEFAULT_FN_ATTRS _rdsspq_i64() {
|
|
56
|
+
unsigned long long t;
|
|
57
|
+
return __builtin_ia32_rdsspq(t);
|
|
58
|
+
}
|
|
49
59
|
#endif /* __x86_64__ */
|
|
50
60
|
|
|
51
61
|
#ifdef __x86_64__
|