@cpp-linter/clang-tidy-darwin-x64 18.1.8 → 19.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy +2 -2
- package/lib/clang/{18 → 19}/include/__clang_cuda_intrinsics.h +1 -3
- package/lib/clang/19/include/__stdarg_header_macro.h +12 -0
- package/lib/clang/19/include/__stddef_header_macro.h +12 -0
- package/lib/clang/{18 → 19}/include/arm_acle.h +31 -5
- package/lib/clang/{18 → 19}/include/arm_fp16.h +1 -1
- package/lib/clang/{18 → 19}/include/arm_neon.h +43796 -43801
- package/lib/clang/{18 → 19}/include/arm_sme.h +408 -1
- package/lib/clang/{18 → 19}/include/arm_sve.h +27266 -27714
- package/lib/clang/{18 → 19}/include/arm_vector_types.h +5 -5
- package/lib/clang/{18 → 19}/include/avx512fp16intrin.h +38 -38
- package/lib/clang/{18 → 19}/include/avxintrin.h +58 -44
- package/lib/clang/{18 → 19}/include/bmiintrin.h +2 -4
- package/lib/clang/{18 → 19}/include/builtins.h +3 -0
- package/lib/clang/{18 → 19}/include/cpuid.h +23 -3
- package/lib/clang/{18 → 19}/include/cuda_wrappers/algorithm +1 -1
- package/lib/clang/{18 → 19}/include/emmintrin.h +301 -170
- package/lib/clang/{18 → 19}/include/float.h +28 -0
- package/lib/clang/{18 → 19}/include/fmaintrin.h +32 -16
- package/lib/clang/{18 → 19}/include/hlsl/hlsl_basic_types.h +10 -3
- package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +1697 -0
- package/lib/clang/{18 → 19}/include/ia32intrin.h +36 -36
- package/lib/clang/{18 → 19}/include/immintrin.h +85 -159
- package/lib/clang/{18 → 19}/include/intrin.h +48 -224
- package/lib/clang/19/include/intrin0.h +247 -0
- package/lib/clang/{18 → 19}/include/inttypes.h +4 -0
- package/lib/clang/{18 → 19}/include/iso646.h +4 -0
- package/lib/clang/{18 → 19}/include/keylockerintrin.h +5 -8
- package/lib/clang/{18 → 19}/include/limits.h +5 -0
- package/lib/clang/{18 → 19}/include/llvm_libc_wrappers/assert.h +1 -1
- package/lib/clang/19/include/mm3dnow.h +22 -0
- package/lib/clang/{18 → 19}/include/mmintrin.h +76 -84
- package/lib/clang/{18 → 19}/include/module.modulemap +14 -1
- package/lib/clang/{18 → 19}/include/opencl-c-base.h +4 -0
- package/lib/clang/{18 → 19}/include/opencl-c.h +15 -0
- package/lib/clang/{18 → 19}/include/prfchwintrin.h +10 -8
- package/lib/clang/19/include/ptrauth.h +330 -0
- package/lib/clang/{18 → 19}/include/riscv_vector.h +0 -4
- package/lib/clang/19/include/sifive_vector.h +118 -0
- package/lib/clang/{18 → 19}/include/smmintrin.h +12 -12
- package/lib/clang/{18 → 19}/include/stdalign.h +5 -0
- package/lib/clang/{18 → 19}/include/stdarg.h +15 -19
- package/lib/clang/{18 → 19}/include/stdatomic.h +11 -1
- package/lib/clang/{18 → 19}/include/stdbool.h +5 -0
- package/lib/clang/{18 → 19}/include/stddef.h +38 -22
- package/lib/clang/{18 → 19}/include/stdint.h +5 -0
- package/lib/clang/{18 → 19}/include/stdnoreturn.h +6 -0
- package/lib/clang/{18 → 19}/include/tmmintrin.h +20 -16
- package/lib/clang/{18 → 19}/include/varargs.h +5 -1
- package/lib/clang/{18 → 19}/include/vecintrin.h +23 -5
- package/lib/clang/{18 → 19}/include/x86gprintrin.h +7 -14
- package/lib/clang/19/include/x86intrin.h +53 -0
- package/lib/clang/{18 → 19}/include/xmmintrin.h +285 -99
- package/lib/clang/19/include/yvals_core.h +25 -0
- package/lib/clang/19/include/zos_wrappers/builtins.h +18 -0
- package/package.json +6 -6
- package/lib/clang/18/include/avx512erintrin.h +0 -271
- package/lib/clang/18/include/avx512pfintrin.h +0 -92
- package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +0 -624
- package/lib/clang/18/include/mm3dnow.h +0 -157
- package/lib/clang/18/include/sifive_vector.h +0 -16
- package/lib/clang/18/include/x86intrin.h +0 -67
- /package/lib/clang/{18 → 19}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_hip_math.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_hip_runtime_wrapper.h +0 -0
- /package/lib/clang/{18 → 19}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stdarg_va_arg.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_null.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{18 → 19}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{18 → 19}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{18 → 19}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{18 → 19}/include/adcintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/adxintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/altivec.h +0 -0
- /package/lib/clang/{18 → 19}/include/ammintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/amxintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/arm64intr.h +0 -0
- /package/lib/clang/{18 → 19}/include/arm_bf16.h +0 -0
- /package/lib/clang/{18 → 19}/include/arm_cde.h +0 -0
- /package/lib/clang/{18 → 19}/include/arm_cmse.h +0 -0
- /package/lib/clang/{18 → 19}/include/arm_mve.h +0 -0
- /package/lib/clang/{18 → 19}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{18 → 19}/include/armintr.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx2intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512fintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlbwintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avxvnniint16intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/cet.h +0 -0
- /package/lib/clang/{18 → 19}/include/cetintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/clwbintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/clzerointrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/crc32intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{18 → 19}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{18 → 19}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{18 → 19}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{18 → 19}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{18 → 19}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{18 → 19}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/f16cintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/fma4intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/gfniintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{18 → 19}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{18 → 19}/include/hexagon_types.h +0 -0
- /package/lib/clang/{18 → 19}/include/hlsl.h +0 -0
- /package/lib/clang/{18 → 19}/include/hresetintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/htmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{18 → 19}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/larchintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/lasxintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/llvm_libc_wrappers/ctype.h +0 -0
- /package/lib/clang/{18 → 19}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{18 → 19}/include/llvm_libc_wrappers/stdio.h +0 -0
- /package/lib/clang/{18 → 19}/include/llvm_libc_wrappers/stdlib.h +0 -0
- /package/lib/clang/{18 → 19}/include/llvm_libc_wrappers/string.h +0 -0
- /package/lib/clang/{18 → 19}/include/llvm_libc_wrappers/time.h +0 -0
- /package/lib/clang/{18 → 19}/include/lsxintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/lwpintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/mm_malloc.h +0 -0
- /package/lib/clang/{18 → 19}/include/movdirintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/msa.h +0 -0
- /package/lib/clang/{18 → 19}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/nmmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{18 → 19}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{18 → 19}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{18 → 19}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{18 → 19}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{18 → 19}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{18 → 19}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{18 → 19}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/pkuintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/pmmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/popcntintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/raointintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{18 → 19}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{18 → 19}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{18 → 19}/include/rtmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/s390intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/serializeintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/sgxintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/sha512intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/shaintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/sm3intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/sm4intrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/stdckdint.h +0 -0
- /package/lib/clang/{18 → 19}/include/tbmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/tgmath.h +0 -0
- /package/lib/clang/{18 → 19}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/uintrintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/unwind.h +0 -0
- /package/lib/clang/{18 → 19}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/vadefs.h +0 -0
- /package/lib/clang/{18 → 19}/include/vaesintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/velintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{18 → 19}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{18 → 19}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{18 → 19}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/wmmintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/xopintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{18 → 19}/include/xtestintrin.h +0 -0
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
#define __ARM_NEON_TYPES_H
|
|
17
17
|
typedef float float32_t;
|
|
18
18
|
typedef __fp16 float16_t;
|
|
19
|
-
#
|
|
19
|
+
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
20
20
|
typedef double float64_t;
|
|
21
21
|
#endif
|
|
22
22
|
|
|
@@ -40,7 +40,7 @@ typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
|
|
|
40
40
|
typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
|
|
41
41
|
typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t;
|
|
42
42
|
typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t;
|
|
43
|
-
#
|
|
43
|
+
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
44
44
|
typedef __attribute__((neon_vector_type(1))) float64_t float64x1_t;
|
|
45
45
|
typedef __attribute__((neon_vector_type(2))) float64_t float64x2_t;
|
|
46
46
|
#endif
|
|
@@ -125,7 +125,7 @@ typedef struct float32x4x2_t {
|
|
|
125
125
|
float32x4_t val[2];
|
|
126
126
|
} float32x4x2_t;
|
|
127
127
|
|
|
128
|
-
#
|
|
128
|
+
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
129
129
|
typedef struct float64x1x2_t {
|
|
130
130
|
float64x1_t val[2];
|
|
131
131
|
} float64x1x2_t;
|
|
@@ -215,7 +215,7 @@ typedef struct float32x4x3_t {
|
|
|
215
215
|
float32x4_t val[3];
|
|
216
216
|
} float32x4x3_t;
|
|
217
217
|
|
|
218
|
-
#
|
|
218
|
+
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
219
219
|
typedef struct float64x1x3_t {
|
|
220
220
|
float64x1_t val[3];
|
|
221
221
|
} float64x1x3_t;
|
|
@@ -305,7 +305,7 @@ typedef struct float32x4x4_t {
|
|
|
305
305
|
float32x4_t val[4];
|
|
306
306
|
} float32x4x4_t;
|
|
307
307
|
|
|
308
|
-
#
|
|
308
|
+
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
309
309
|
typedef struct float64x1x4_t {
|
|
310
310
|
float64x1_t val[4];
|
|
311
311
|
} float64x1x4_t;
|
|
@@ -96,8 +96,8 @@ _mm512_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h4,
|
|
|
96
96
|
(h5), (h4), (h3), (h2), (h1))
|
|
97
97
|
|
|
98
98
|
static __inline __m512h __DEFAULT_FN_ATTRS512
|
|
99
|
-
_mm512_set1_pch(_Float16 _Complex
|
|
100
|
-
return (__m512h)_mm512_set1_ps(__builtin_bit_cast(float,
|
|
99
|
+
_mm512_set1_pch(_Float16 _Complex __h) {
|
|
100
|
+
return (__m512h)_mm512_set1_ps(__builtin_bit_cast(float, __h));
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_castph_ps(__m128h __a) {
|
|
@@ -282,75 +282,75 @@ _mm512_zextph256_ph512(__m256h __a) {
|
|
|
282
282
|
#define _mm_comi_sh(A, B, pred) \
|
|
283
283
|
_mm_comi_round_sh((A), (B), (pred), _MM_FROUND_CUR_DIRECTION)
|
|
284
284
|
|
|
285
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sh(__m128h
|
|
286
|
-
__m128h
|
|
287
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
285
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sh(__m128h __A,
|
|
286
|
+
__m128h __B) {
|
|
287
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_EQ_OS,
|
|
288
288
|
_MM_FROUND_CUR_DIRECTION);
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sh(__m128h
|
|
292
|
-
__m128h
|
|
293
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
291
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sh(__m128h __A,
|
|
292
|
+
__m128h __B) {
|
|
293
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LT_OS,
|
|
294
294
|
_MM_FROUND_CUR_DIRECTION);
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sh(__m128h
|
|
298
|
-
__m128h
|
|
299
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
297
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sh(__m128h __A,
|
|
298
|
+
__m128h __B) {
|
|
299
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LE_OS,
|
|
300
300
|
_MM_FROUND_CUR_DIRECTION);
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sh(__m128h
|
|
304
|
-
__m128h
|
|
305
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
303
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sh(__m128h __A,
|
|
304
|
+
__m128h __B) {
|
|
305
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GT_OS,
|
|
306
306
|
_MM_FROUND_CUR_DIRECTION);
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sh(__m128h
|
|
310
|
-
__m128h
|
|
311
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
309
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sh(__m128h __A,
|
|
310
|
+
__m128h __B) {
|
|
311
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GE_OS,
|
|
312
312
|
_MM_FROUND_CUR_DIRECTION);
|
|
313
313
|
}
|
|
314
314
|
|
|
315
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sh(__m128h
|
|
316
|
-
__m128h
|
|
317
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
315
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sh(__m128h __A,
|
|
316
|
+
__m128h __B) {
|
|
317
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_NEQ_US,
|
|
318
318
|
_MM_FROUND_CUR_DIRECTION);
|
|
319
319
|
}
|
|
320
320
|
|
|
321
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomieq_sh(__m128h
|
|
322
|
-
__m128h
|
|
323
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
321
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomieq_sh(__m128h __A,
|
|
322
|
+
__m128h __B) {
|
|
323
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_EQ_OQ,
|
|
324
324
|
_MM_FROUND_CUR_DIRECTION);
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomilt_sh(__m128h
|
|
328
|
-
__m128h
|
|
329
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
327
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomilt_sh(__m128h __A,
|
|
328
|
+
__m128h __B) {
|
|
329
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LT_OQ,
|
|
330
330
|
_MM_FROUND_CUR_DIRECTION);
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomile_sh(__m128h
|
|
334
|
-
__m128h
|
|
335
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
333
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomile_sh(__m128h __A,
|
|
334
|
+
__m128h __B) {
|
|
335
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LE_OQ,
|
|
336
336
|
_MM_FROUND_CUR_DIRECTION);
|
|
337
337
|
}
|
|
338
338
|
|
|
339
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomigt_sh(__m128h
|
|
340
|
-
__m128h
|
|
341
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
339
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomigt_sh(__m128h __A,
|
|
340
|
+
__m128h __B) {
|
|
341
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GT_OQ,
|
|
342
342
|
_MM_FROUND_CUR_DIRECTION);
|
|
343
343
|
}
|
|
344
344
|
|
|
345
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomige_sh(__m128h
|
|
346
|
-
__m128h
|
|
347
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
345
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomige_sh(__m128h __A,
|
|
346
|
+
__m128h __B) {
|
|
347
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GE_OQ,
|
|
348
348
|
_MM_FROUND_CUR_DIRECTION);
|
|
349
349
|
}
|
|
350
350
|
|
|
351
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomineq_sh(__m128h
|
|
352
|
-
__m128h
|
|
353
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
351
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomineq_sh(__m128h __A,
|
|
352
|
+
__m128h __B) {
|
|
353
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_NEQ_UQ,
|
|
354
354
|
_MM_FROUND_CUR_DIRECTION);
|
|
355
355
|
}
|
|
356
356
|
|
|
@@ -207,6 +207,8 @@ _mm256_div_ps(__m256 __a, __m256 __b)
|
|
|
207
207
|
/// Compares two 256-bit vectors of [4 x double] and returns the greater
|
|
208
208
|
/// of each pair of values.
|
|
209
209
|
///
|
|
210
|
+
/// If either value in a comparison is NaN, returns the value from \a __b.
|
|
211
|
+
///
|
|
210
212
|
/// \headerfile <x86intrin.h>
|
|
211
213
|
///
|
|
212
214
|
/// This intrinsic corresponds to the <c> VMAXPD </c> instruction.
|
|
@@ -226,6 +228,8 @@ _mm256_max_pd(__m256d __a, __m256d __b)
|
|
|
226
228
|
/// Compares two 256-bit vectors of [8 x float] and returns the greater
|
|
227
229
|
/// of each pair of values.
|
|
228
230
|
///
|
|
231
|
+
/// If either value in a comparison is NaN, returns the value from \a __b.
|
|
232
|
+
///
|
|
229
233
|
/// \headerfile <x86intrin.h>
|
|
230
234
|
///
|
|
231
235
|
/// This intrinsic corresponds to the <c> VMAXPS </c> instruction.
|
|
@@ -245,6 +249,8 @@ _mm256_max_ps(__m256 __a, __m256 __b)
|
|
|
245
249
|
/// Compares two 256-bit vectors of [4 x double] and returns the lesser
|
|
246
250
|
/// of each pair of values.
|
|
247
251
|
///
|
|
252
|
+
/// If either value in a comparison is NaN, returns the value from \a __b.
|
|
253
|
+
///
|
|
248
254
|
/// \headerfile <x86intrin.h>
|
|
249
255
|
///
|
|
250
256
|
/// This intrinsic corresponds to the <c> VMINPD </c> instruction.
|
|
@@ -264,6 +270,8 @@ _mm256_min_pd(__m256d __a, __m256d __b)
|
|
|
264
270
|
/// Compares two 256-bit vectors of [8 x float] and returns the lesser
|
|
265
271
|
/// of each pair of values.
|
|
266
272
|
///
|
|
273
|
+
/// If either value in a comparison is NaN, returns the value from \a __b.
|
|
274
|
+
///
|
|
267
275
|
/// \headerfile <x86intrin.h>
|
|
268
276
|
///
|
|
269
277
|
/// This intrinsic corresponds to the <c> VMINPS </c> instruction.
|
|
@@ -832,6 +840,7 @@ _mm256_permutevar_pd(__m256d __a, __m256i __c)
|
|
|
832
840
|
|
|
833
841
|
/// Copies the values stored in a 128-bit vector of [4 x float] as
|
|
834
842
|
/// specified by the 128-bit integer vector operand.
|
|
843
|
+
///
|
|
835
844
|
/// \headerfile <x86intrin.h>
|
|
836
845
|
///
|
|
837
846
|
/// This intrinsic corresponds to the <c> VPERMILPS </c> instruction.
|
|
@@ -1574,14 +1583,6 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1574
1583
|
(__v4df)(__m256d)(b), (int)(mask)))
|
|
1575
1584
|
|
|
1576
1585
|
/* Compare */
|
|
1577
|
-
#define _CMP_EQ_OQ 0x00 /* Equal (ordered, non-signaling) */
|
|
1578
|
-
#define _CMP_LT_OS 0x01 /* Less-than (ordered, signaling) */
|
|
1579
|
-
#define _CMP_LE_OS 0x02 /* Less-than-or-equal (ordered, signaling) */
|
|
1580
|
-
#define _CMP_UNORD_Q 0x03 /* Unordered (non-signaling) */
|
|
1581
|
-
#define _CMP_NEQ_UQ 0x04 /* Not-equal (unordered, non-signaling) */
|
|
1582
|
-
#define _CMP_NLT_US 0x05 /* Not-less-than (unordered, signaling) */
|
|
1583
|
-
#define _CMP_NLE_US 0x06 /* Not-less-than-or-equal (unordered, signaling) */
|
|
1584
|
-
#define _CMP_ORD_Q 0x07 /* Ordered (non-signaling) */
|
|
1585
1586
|
#define _CMP_EQ_UQ 0x08 /* Equal (unordered, non-signaling) */
|
|
1586
1587
|
#define _CMP_NGE_US 0x09 /* Not-greater-than-or-equal (unordered, signaling) */
|
|
1587
1588
|
#define _CMP_NGT_US 0x0a /* Not-greater-than (unordered, signaling) */
|
|
@@ -1607,13 +1608,14 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1607
1608
|
#define _CMP_GT_OQ 0x1e /* Greater-than (ordered, non-signaling) */
|
|
1608
1609
|
#define _CMP_TRUE_US 0x1f /* True (unordered, signaling) */
|
|
1609
1610
|
|
|
1611
|
+
/* Below intrinsic defined in emmintrin.h can be used for AVX */
|
|
1610
1612
|
/// Compares each of the corresponding double-precision values of two
|
|
1611
1613
|
/// 128-bit vectors of [2 x double], using the operation specified by the
|
|
1612
1614
|
/// immediate integer operand.
|
|
1613
1615
|
///
|
|
1614
|
-
///
|
|
1615
|
-
///
|
|
1616
|
-
///
|
|
1616
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
|
|
1617
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1618
|
+
/// return false, and comparisons that are unordered return true.
|
|
1617
1619
|
///
|
|
1618
1620
|
/// \headerfile <x86intrin.h>
|
|
1619
1621
|
///
|
|
@@ -1663,17 +1665,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1663
1665
|
/// 0x1E: Greater-than (ordered, non-signaling) \n
|
|
1664
1666
|
/// 0x1F: True (unordered, signaling)
|
|
1665
1667
|
/// \returns A 128-bit vector of [2 x double] containing the comparison results.
|
|
1666
|
-
|
|
1667
|
-
((__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \
|
|
1668
|
-
(__v2df)(__m128d)(b), (c)))
|
|
1668
|
+
/// \fn __m128d _mm_cmp_pd(__m128d a, __m128d b, const int c)
|
|
1669
1669
|
|
|
1670
|
+
/* Below intrinsic defined in xmmintrin.h can be used for AVX */
|
|
1670
1671
|
/// Compares each of the corresponding values of two 128-bit vectors of
|
|
1671
1672
|
/// [4 x float], using the operation specified by the immediate integer
|
|
1672
1673
|
/// operand.
|
|
1673
1674
|
///
|
|
1674
|
-
///
|
|
1675
|
-
///
|
|
1676
|
-
///
|
|
1675
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
|
|
1676
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1677
|
+
/// return false, and comparisons that are unordered return true.
|
|
1677
1678
|
///
|
|
1678
1679
|
/// \headerfile <x86intrin.h>
|
|
1679
1680
|
///
|
|
@@ -1723,17 +1724,15 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1723
1724
|
/// 0x1E: Greater-than (ordered, non-signaling) \n
|
|
1724
1725
|
/// 0x1F: True (unordered, signaling)
|
|
1725
1726
|
/// \returns A 128-bit vector of [4 x float] containing the comparison results.
|
|
1726
|
-
|
|
1727
|
-
((__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
|
|
1728
|
-
(__v4sf)(__m128)(b), (c)))
|
|
1727
|
+
/// \fn __m128 _mm_cmp_ps(__m128 a, __m128 b, const int c)
|
|
1729
1728
|
|
|
1730
1729
|
/// Compares each of the corresponding double-precision values of two
|
|
1731
1730
|
/// 256-bit vectors of [4 x double], using the operation specified by the
|
|
1732
1731
|
/// immediate integer operand.
|
|
1733
1732
|
///
|
|
1734
|
-
///
|
|
1735
|
-
///
|
|
1736
|
-
///
|
|
1733
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
|
|
1734
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1735
|
+
/// return false, and comparisons that are unordered return true.
|
|
1737
1736
|
///
|
|
1738
1737
|
/// \headerfile <x86intrin.h>
|
|
1739
1738
|
///
|
|
@@ -1791,9 +1790,9 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1791
1790
|
/// [8 x float], using the operation specified by the immediate integer
|
|
1792
1791
|
/// operand.
|
|
1793
1792
|
///
|
|
1794
|
-
///
|
|
1795
|
-
///
|
|
1796
|
-
///
|
|
1793
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
|
|
1794
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1795
|
+
/// return false, and comparisons that are unordered return true.
|
|
1797
1796
|
///
|
|
1798
1797
|
/// \headerfile <x86intrin.h>
|
|
1799
1798
|
///
|
|
@@ -1847,12 +1846,14 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1847
1846
|
((__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \
|
|
1848
1847
|
(__v8sf)(__m256)(b), (c)))
|
|
1849
1848
|
|
|
1849
|
+
/* Below intrinsic defined in emmintrin.h can be used for AVX */
|
|
1850
1850
|
/// Compares each of the corresponding scalar double-precision values of
|
|
1851
1851
|
/// two 128-bit vectors of [2 x double], using the operation specified by the
|
|
1852
1852
|
/// immediate integer operand.
|
|
1853
1853
|
///
|
|
1854
|
-
///
|
|
1855
|
-
///
|
|
1854
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
|
|
1855
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1856
|
+
/// return false, and comparisons that are unordered return true.
|
|
1856
1857
|
///
|
|
1857
1858
|
/// \headerfile <x86intrin.h>
|
|
1858
1859
|
///
|
|
@@ -1902,16 +1903,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1902
1903
|
/// 0x1E: Greater-than (ordered, non-signaling) \n
|
|
1903
1904
|
/// 0x1F: True (unordered, signaling)
|
|
1904
1905
|
/// \returns A 128-bit vector of [2 x double] containing the comparison results.
|
|
1905
|
-
|
|
1906
|
-
((__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \
|
|
1907
|
-
(__v2df)(__m128d)(b), (c)))
|
|
1906
|
+
/// \fn __m128d _mm_cmp_sd(__m128d a, __m128d b, const int c)
|
|
1908
1907
|
|
|
1908
|
+
/* Below intrinsic defined in xmmintrin.h can be used for AVX */
|
|
1909
1909
|
/// Compares each of the corresponding scalar values of two 128-bit
|
|
1910
1910
|
/// vectors of [4 x float], using the operation specified by the immediate
|
|
1911
1911
|
/// integer operand.
|
|
1912
1912
|
///
|
|
1913
|
-
///
|
|
1914
|
-
///
|
|
1913
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
|
|
1914
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1915
|
+
/// return false, and comparisons that are unordered return true.
|
|
1915
1916
|
///
|
|
1916
1917
|
/// \headerfile <x86intrin.h>
|
|
1917
1918
|
///
|
|
@@ -1961,9 +1962,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1961
1962
|
/// 0x1E: Greater-than (ordered, non-signaling) \n
|
|
1962
1963
|
/// 0x1F: True (unordered, signaling)
|
|
1963
1964
|
/// \returns A 128-bit vector of [4 x float] containing the comparison results.
|
|
1964
|
-
|
|
1965
|
-
((__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \
|
|
1966
|
-
(__v4sf)(__m128)(b), (c)))
|
|
1965
|
+
/// \fn __m128 _mm_cmp_ss(__m128 a, __m128 b, const int c)
|
|
1967
1966
|
|
|
1968
1967
|
/// Takes a [8 x i32] vector and returns the vector element value
|
|
1969
1968
|
/// indexed by the immediate constant operand.
|
|
@@ -2213,6 +2212,10 @@ _mm256_cvtpd_ps(__m256d __a)
|
|
|
2213
2212
|
|
|
2214
2213
|
/// Converts a vector of [8 x float] into a vector of [8 x i32].
|
|
2215
2214
|
///
|
|
2215
|
+
/// If a converted value does not fit in a 32-bit integer, raises a
|
|
2216
|
+
/// floating-point invalid exception. If the exception is masked, returns
|
|
2217
|
+
/// the most negative integer.
|
|
2218
|
+
///
|
|
2216
2219
|
/// \headerfile <x86intrin.h>
|
|
2217
2220
|
///
|
|
2218
2221
|
/// This intrinsic corresponds to the <c> VCVTPS2DQ </c> instruction.
|
|
@@ -2242,9 +2245,13 @@ _mm256_cvtps_pd(__m128 __a)
|
|
|
2242
2245
|
return (__m256d)__builtin_convertvector((__v4sf)__a, __v4df);
|
|
2243
2246
|
}
|
|
2244
2247
|
|
|
2245
|
-
/// Converts a 256-bit vector of [4 x double] into
|
|
2246
|
-
///
|
|
2247
|
-
///
|
|
2248
|
+
/// Converts a 256-bit vector of [4 x double] into four signed truncated
|
|
2249
|
+
/// (rounded toward zero) 32-bit integers returned in a 128-bit vector of
|
|
2250
|
+
/// [4 x i32].
|
|
2251
|
+
///
|
|
2252
|
+
/// If a converted value does not fit in a 32-bit integer, raises a
|
|
2253
|
+
/// floating-point invalid exception. If the exception is masked, returns
|
|
2254
|
+
/// the most negative integer.
|
|
2248
2255
|
///
|
|
2249
2256
|
/// \headerfile <x86intrin.h>
|
|
2250
2257
|
///
|
|
@@ -2259,9 +2266,12 @@ _mm256_cvttpd_epi32(__m256d __a)
|
|
|
2259
2266
|
return (__m128i)__builtin_ia32_cvttpd2dq256((__v4df) __a);
|
|
2260
2267
|
}
|
|
2261
2268
|
|
|
2262
|
-
/// Converts a 256-bit vector of [4 x double] into a 128-bit vector of
|
|
2263
|
-
/// x i32].
|
|
2264
|
-
///
|
|
2269
|
+
/// Converts a 256-bit vector of [4 x double] into a 128-bit vector of
|
|
2270
|
+
/// [4 x i32].
|
|
2271
|
+
///
|
|
2272
|
+
/// If a converted value does not fit in a 32-bit integer, raises a
|
|
2273
|
+
/// floating-point invalid exception. If the exception is masked, returns
|
|
2274
|
+
/// the most negative integer.
|
|
2265
2275
|
///
|
|
2266
2276
|
/// \headerfile <x86intrin.h>
|
|
2267
2277
|
///
|
|
@@ -2276,8 +2286,12 @@ _mm256_cvtpd_epi32(__m256d __a)
|
|
|
2276
2286
|
return (__m128i)__builtin_ia32_cvtpd2dq256((__v4df) __a);
|
|
2277
2287
|
}
|
|
2278
2288
|
|
|
2279
|
-
/// Converts a vector of [8 x float] into
|
|
2280
|
-
///
|
|
2289
|
+
/// Converts a vector of [8 x float] into eight signed truncated (rounded
|
|
2290
|
+
/// toward zero) 32-bit integers returned in a vector of [8 x i32].
|
|
2291
|
+
///
|
|
2292
|
+
/// If a converted value does not fit in a 32-bit integer, raises a
|
|
2293
|
+
/// floating-point invalid exception. If the exception is masked, returns
|
|
2294
|
+
/// the most negative integer.
|
|
2281
2295
|
///
|
|
2282
2296
|
/// \headerfile <x86intrin.h>
|
|
2283
2297
|
///
|
|
@@ -161,8 +161,7 @@ _mm_tzcnt_64(unsigned long long __X)
|
|
|
161
161
|
|
|
162
162
|
#undef __RELAXED_FN_ATTRS
|
|
163
163
|
|
|
164
|
-
#if !
|
|
165
|
-
defined(__BMI__)
|
|
164
|
+
#if !defined(__SCE__) || __has_feature(modules) || defined(__BMI__)
|
|
166
165
|
|
|
167
166
|
/* Define the default attributes for the functions in this file. */
|
|
168
167
|
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("bmi")))
|
|
@@ -610,7 +609,6 @@ __blsr_u64(unsigned long long __X)
|
|
|
610
609
|
|
|
611
610
|
#undef __DEFAULT_FN_ATTRS
|
|
612
611
|
|
|
613
|
-
#endif /* !
|
|
614
|
-
|| defined(__BMI__) */
|
|
612
|
+
#endif /* !defined(__SCE__) || __has_feature(modules) || defined(__BMI__) */
|
|
615
613
|
|
|
616
614
|
#endif /* __BMIINTRIN_H */
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#ifndef __CPUID_H
|
|
11
11
|
#define __CPUID_H
|
|
12
12
|
|
|
13
|
-
#if !(__x86_64__
|
|
13
|
+
#if !defined(__x86_64__) && !defined(__i386__)
|
|
14
14
|
#error this header is for x86 only
|
|
15
15
|
#endif
|
|
16
16
|
|
|
@@ -200,6 +200,9 @@
|
|
|
200
200
|
#define bit_AMXINT8 0x02000000
|
|
201
201
|
|
|
202
202
|
/* Features in %eax for leaf 7 sub-leaf 1 */
|
|
203
|
+
#define bit_SHA512 0x00000001
|
|
204
|
+
#define bit_SM3 0x00000002
|
|
205
|
+
#define bit_SM4 0x00000004
|
|
203
206
|
#define bit_RAOINT 0x00000008
|
|
204
207
|
#define bit_AVXVNNI 0x00000010
|
|
205
208
|
#define bit_AVX512BF16 0x00000020
|
|
@@ -211,7 +214,12 @@
|
|
|
211
214
|
/* Features in %edx for leaf 7 sub-leaf 1 */
|
|
212
215
|
#define bit_AVXVNNIINT8 0x00000010
|
|
213
216
|
#define bit_AVXNECONVERT 0x00000020
|
|
217
|
+
#define bit_AMXCOMPLEX 0x00000100
|
|
218
|
+
#define bit_AVXVNNIINT16 0x00000400
|
|
214
219
|
#define bit_PREFETCHI 0x00004000
|
|
220
|
+
#define bit_USERMSR 0x00008000
|
|
221
|
+
#define bit_AVX10 0x00080000
|
|
222
|
+
#define bit_APXF 0x00200000
|
|
215
223
|
|
|
216
224
|
/* Features in %eax for leaf 13 sub-leaf 1 */
|
|
217
225
|
#define bit_XSAVEOPT 0x00000001
|
|
@@ -244,8 +252,11 @@
|
|
|
244
252
|
#define bit_RDPRU 0x00000010
|
|
245
253
|
#define bit_WBNOINVD 0x00000200
|
|
246
254
|
|
|
255
|
+
/* Features in %ebx for leaf 0x24 */
|
|
256
|
+
#define bit_AVX10_256 0x00020000
|
|
257
|
+
#define bit_AVX10_512 0x00040000
|
|
247
258
|
|
|
248
|
-
#
|
|
259
|
+
#ifdef __i386__
|
|
249
260
|
#define __cpuid(__leaf, __eax, __ebx, __ecx, __edx) \
|
|
250
261
|
__asm("cpuid" : "=a"(__eax), "=b" (__ebx), "=c"(__ecx), "=d"(__edx) \
|
|
251
262
|
: "0"(__leaf))
|
|
@@ -274,7 +285,7 @@ static __inline unsigned int __get_cpuid_max (unsigned int __leaf,
|
|
|
274
285
|
unsigned int *__sig)
|
|
275
286
|
{
|
|
276
287
|
unsigned int __eax, __ebx, __ecx, __edx;
|
|
277
|
-
#
|
|
288
|
+
#ifdef __i386__
|
|
278
289
|
int __cpuid_supported;
|
|
279
290
|
|
|
280
291
|
__asm(" pushfl\n"
|
|
@@ -328,4 +339,13 @@ static __inline int __get_cpuid_count (unsigned int __leaf,
|
|
|
328
339
|
return 1;
|
|
329
340
|
}
|
|
330
341
|
|
|
342
|
+
// In some configurations, __cpuidex is defined as a builtin (primarily
|
|
343
|
+
// -fms-extensions) which will conflict with the __cpuidex definition below.
|
|
344
|
+
#if !(__has_builtin(__cpuidex))
|
|
345
|
+
static __inline void __cpuidex(int __cpu_info[4], int __leaf, int __subleaf) {
|
|
346
|
+
__cpuid_count(__leaf, __subleaf, __cpu_info[0], __cpu_info[1], __cpu_info[2],
|
|
347
|
+
__cpu_info[3]);
|
|
348
|
+
}
|
|
349
|
+
#endif
|
|
350
|
+
|
|
331
351
|
#endif /* __CPUID_H */
|
|
@@ -99,7 +99,7 @@ template <class __T>
|
|
|
99
99
|
__attribute__((enable_if(true, "")))
|
|
100
100
|
inline _CPP14_CONSTEXPR __host__ __device__ const __T &
|
|
101
101
|
min(const __T &__a, const __T &__b) {
|
|
102
|
-
return
|
|
102
|
+
return __b < __a ? __b : __a;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
#pragma pop_macro("_CPP14_CONSTEXPR")
|