llvm-runtime-resources-darwin 0.0.0 → 22.1.8
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/LICENSE +201 -0
- package/NOTICE +33 -0
- package/include/__clang_cuda_builtin_vars.h +121 -0
- package/include/__clang_cuda_cmath.h +512 -0
- package/include/__clang_cuda_complex_builtins.h +229 -0
- package/include/__clang_cuda_device_functions.h +1572 -0
- package/include/__clang_cuda_intrinsics.h +994 -0
- package/include/__clang_cuda_libdevice_declares.h +468 -0
- package/include/__clang_cuda_math.h +353 -0
- package/include/__clang_cuda_math_forward_declares.h +284 -0
- package/include/__clang_cuda_runtime_wrapper.h +522 -0
- package/include/__clang_cuda_texture_intrinsics.h +1177 -0
- package/include/__clang_hip_cmath.h +848 -0
- package/include/__clang_hip_libdevice_declares.h +340 -0
- package/include/__clang_hip_math.h +1405 -0
- package/include/__clang_hip_runtime_wrapper.h +165 -0
- package/include/__clang_hip_stdlib.h +43 -0
- package/include/__clang_spirv_builtins.h +217 -0
- package/include/__float_float.h +176 -0
- package/include/__float_header_macro.h +12 -0
- package/include/__float_infinity_nan.h +20 -0
- package/include/__stdarg___gnuc_va_list.h +13 -0
- package/include/__stdarg___va_copy.h +12 -0
- package/include/__stdarg_header_macro.h +12 -0
- package/include/__stdarg_va_arg.h +22 -0
- package/include/__stdarg_va_copy.h +12 -0
- package/include/__stdarg_va_list.h +13 -0
- package/include/__stddef_header_macro.h +12 -0
- package/include/__stddef_max_align_t.h +27 -0
- package/include/__stddef_null.h +29 -0
- package/include/__stddef_nullptr_t.h +29 -0
- package/include/__stddef_offsetof.h +17 -0
- package/include/__stddef_ptrdiff_t.h +20 -0
- package/include/__stddef_rsize_t.h +20 -0
- package/include/__stddef_size_t.h +20 -0
- package/include/__stddef_unreachable.h +21 -0
- package/include/__stddef_wchar_t.h +28 -0
- package/include/__stddef_wint_t.h +15 -0
- package/include/__wmmintrin_aes.h +140 -0
- package/include/__wmmintrin_pclmul.h +48 -0
- package/include/adcintrin.h +165 -0
- package/include/adxintrin.h +107 -0
- package/include/altivec.h +19364 -0
- package/include/amdgpuintrin.h +191 -0
- package/include/ammintrin.h +183 -0
- package/include/amo.h +131 -0
- package/include/amxavx512intrin.h +596 -0
- package/include/amxcomplexintrin.h +167 -0
- package/include/amxfp16intrin.h +93 -0
- package/include/amxfp8intrin.h +230 -0
- package/include/amxintrin.h +492 -0
- package/include/amxmovrsintrin.h +48 -0
- package/include/amxtf32intrin.h +108 -0
- package/include/andes_vector.h +16 -0
- package/include/arm64intr.h +35 -0
- package/include/arm_acle.h +865 -0
- package/include/arm_bf16.h +20 -0
- package/include/arm_cde.h +410 -0
- package/include/arm_cmse.h +217 -0
- package/include/arm_fp16.h +596 -0
- package/include/arm_mve.h +19187 -0
- package/include/arm_neon.h +74183 -0
- package/include/arm_neon_sve_bridge.h +182 -0
- package/include/arm_sme.h +3741 -0
- package/include/arm_sve.h +32278 -0
- package/include/arm_vector_types.h +432 -0
- package/include/armintr.h +31 -0
- package/include/avx10_2_512bf16intrin.h +568 -0
- package/include/avx10_2_512convertintrin.h +322 -0
- package/include/avx10_2_512minmaxintrin.h +127 -0
- package/include/avx10_2_512niintrin.h +314 -0
- package/include/avx10_2_512satcvtdsintrin.h +307 -0
- package/include/avx10_2_512satcvtintrin.h +301 -0
- package/include/avx10_2bf16intrin.h +1094 -0
- package/include/avx10_2convertintrin.h +3257 -0
- package/include/avx10_2copyintrin.h +66 -0
- package/include/avx10_2minmaxintrin.h +232 -0
- package/include/avx10_2niintrin.h +409 -0
- package/include/avx10_2satcvtdsintrin.h +376 -0
- package/include/avx10_2satcvtintrin.h +312 -0
- package/include/avx2intrin.h +5191 -0
- package/include/avx512bf16intrin.h +292 -0
- package/include/avx512bitalgintrin.h +75 -0
- package/include/avx512bwintrin.h +1895 -0
- package/include/avx512cdintrin.h +112 -0
- package/include/avx512dqintrin.h +1350 -0
- package/include/avx512fintrin.h +9378 -0
- package/include/avx512fp16intrin.h +3355 -0
- package/include/avx512ifmaintrin.h +68 -0
- package/include/avx512ifmavlintrin.h +138 -0
- package/include/avx512vbmi2intrin.h +368 -0
- package/include/avx512vbmiintrin.h +98 -0
- package/include/avx512vbmivlintrin.h +179 -0
- package/include/avx512vlbf16intrin.h +527 -0
- package/include/avx512vlbitalgintrin.h +135 -0
- package/include/avx512vlbwintrin.h +3064 -0
- package/include/avx512vlcdintrin.h +202 -0
- package/include/avx512vldqintrin.h +1156 -0
- package/include/avx512vlfp16intrin.h +2090 -0
- package/include/avx512vlintrin.h +8083 -0
- package/include/avx512vlvbmi2intrin.h +710 -0
- package/include/avx512vlvnniintrin.h +313 -0
- package/include/avx512vlvp2intersectintrin.h +123 -0
- package/include/avx512vnniintrin.h +116 -0
- package/include/avx512vp2intersectintrin.h +77 -0
- package/include/avx512vpopcntdqintrin.h +62 -0
- package/include/avx512vpopcntdqvlintrin.h +105 -0
- package/include/avxifmaintrin.h +193 -0
- package/include/avxintrin.h +5064 -0
- package/include/avxneconvertintrin.h +484 -0
- package/include/avxvnniint16intrin.h +451 -0
- package/include/avxvnniint8intrin.h +454 -0
- package/include/avxvnniintrin.h +233 -0
- package/include/bmi2intrin.h +253 -0
- package/include/bmiintrin.h +604 -0
- package/include/builtins.h +19 -0
- package/include/cet.h +66 -0
- package/include/cetintrin.h +115 -0
- package/include/cldemoteintrin.h +36 -0
- package/include/clflushoptintrin.h +36 -0
- package/include/clwbintrin.h +38 -0
- package/include/clzerointrin.h +38 -0
- package/include/cmpccxaddintrin.h +70 -0
- package/include/cpuid.h +451 -0
- package/include/crc32intrin.h +100 -0
- package/include/cuda_wrappers/__utility/declval.h +28 -0
- package/include/cuda_wrappers/algorithm +116 -0
- package/include/cuda_wrappers/bits/basic_string.h +9 -0
- package/include/cuda_wrappers/bits/basic_string.tcc +9 -0
- package/include/cuda_wrappers/bits/c++config.h +61 -0
- package/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
- package/include/cuda_wrappers/cmath +44 -0
- package/include/cuda_wrappers/complex +90 -0
- package/include/cuda_wrappers/new +108 -0
- package/include/emmintrin.h +4940 -0
- package/include/enqcmdintrin.h +63 -0
- package/include/f16cintrin.h +176 -0
- package/include/float.h +48 -0
- package/include/fma4intrin.h +220 -0
- package/include/fmaintrin.h +826 -0
- package/include/fuzzer/FuzzedDataProvider.h +397 -0
- package/include/fxsrintrin.h +91 -0
- package/include/gfniintrin.h +238 -0
- package/include/gpuintrin.h +330 -0
- package/include/hexagon_circ_brev_intrinsics.h +298 -0
- package/include/hexagon_protos.h +8439 -0
- package/include/hexagon_types.h +2628 -0
- package/include/hresetintrin.h +49 -0
- package/include/htmintrin.h +212 -0
- package/include/htmxlintrin.h +345 -0
- package/include/hvx_hexagon_protos.h +5399 -0
- package/include/ia32intrin.h +863 -0
- package/include/immintrin.h +595 -0
- package/include/intrin.h +491 -0
- package/include/intrin0.h +256 -0
- package/include/inttypes.h +101 -0
- package/include/invpcidintrin.h +23 -0
- package/include/iso646.h +31 -0
- package/include/keylockerintrin.h +518 -0
- package/include/larchintrin.h +260 -0
- package/include/lasxintrin.h +3999 -0
- package/include/limits.h +133 -0
- package/include/llvm_libc_wrappers/assert.h +32 -0
- package/include/llvm_libc_wrappers/ctype.h +28 -0
- package/include/llvm_libc_wrappers/inttypes.h +32 -0
- package/include/llvm_libc_wrappers/stdio.h +52 -0
- package/include/llvm_libc_wrappers/stdlib.h +32 -0
- package/include/llvm_libc_wrappers/string.h +28 -0
- package/include/llvm_libc_wrappers/time.h +28 -0
- package/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/include/lsxintrin.h +3752 -0
- package/include/lwpintrin.h +136 -0
- package/include/lzcntintrin.h +109 -0
- package/include/mm3dnow.h +22 -0
- package/include/mm_malloc.h +67 -0
- package/include/mmintrin.h +1541 -0
- package/include/module.modulemap +360 -0
- package/include/movdirintrin.h +49 -0
- package/include/movrs_avx10_2_512intrin.h +98 -0
- package/include/movrs_avx10_2intrin.h +174 -0
- package/include/movrsintrin.h +59 -0
- package/include/msa.h +573 -0
- package/include/mwaitxintrin.h +62 -0
- package/include/nmmintrin.h +20 -0
- package/include/nvptxintrin.h +219 -0
- package/include/opencl-c-base.h +758 -0
- package/include/opencl-c.h +18676 -0
- package/include/openmp_wrappers/__clang_openmp_device_functions.h +104 -0
- package/include/openmp_wrappers/cmath +132 -0
- package/include/openmp_wrappers/complex +55 -0
- package/include/openmp_wrappers/complex.h +35 -0
- package/include/openmp_wrappers/complex_cmath.h +393 -0
- package/include/openmp_wrappers/math.h +61 -0
- package/include/openmp_wrappers/new +48 -0
- package/include/pconfigintrin.h +40 -0
- package/include/pkuintrin.h +34 -0
- package/include/pmmintrin.h +302 -0
- package/include/popcntintrin.h +59 -0
- package/include/ppc_wrappers/bmi2intrin.h +134 -0
- package/include/ppc_wrappers/bmiintrin.h +165 -0
- package/include/ppc_wrappers/emmintrin.h +2269 -0
- package/include/ppc_wrappers/immintrin.h +27 -0
- package/include/ppc_wrappers/mm_malloc.h +45 -0
- package/include/ppc_wrappers/mmintrin.h +1453 -0
- package/include/ppc_wrappers/nmmintrin.h +26 -0
- package/include/ppc_wrappers/pmmintrin.h +145 -0
- package/include/ppc_wrappers/smmintrin.h +683 -0
- package/include/ppc_wrappers/tmmintrin.h +453 -0
- package/include/ppc_wrappers/x86gprintrin.h +17 -0
- package/include/ppc_wrappers/x86intrin.h +28 -0
- package/include/ppc_wrappers/xmmintrin.h +1827 -0
- package/include/prfchiintrin.h +61 -0
- package/include/prfchwintrin.h +57 -0
- package/include/profile/InstrProfData.inc +1001 -0
- package/include/profile/instr_prof_interface.h +88 -0
- package/include/ptrauth.h +407 -0
- package/include/ptwriteintrin.h +37 -0
- package/include/raointintrin.h +203 -0
- package/include/rdpruintrin.h +57 -0
- package/include/rdseedintrin.h +105 -0
- package/include/riscv_bitmanip.h +195 -0
- package/include/riscv_corev_alu.h +128 -0
- package/include/riscv_crypto.h +170 -0
- package/include/riscv_mips.h +34 -0
- package/include/riscv_nds.h +89 -0
- package/include/riscv_ntlh.h +26 -0
- package/include/riscv_vector.h +422 -0
- package/include/rtmintrin.h +45 -0
- package/include/s390intrin.h +25 -0
- package/include/sanitizer/allocator_interface.h +106 -0
- package/include/sanitizer/asan_interface.h +348 -0
- package/include/sanitizer/common_interface_defs.h +544 -0
- package/include/sanitizer/coverage_interface.h +36 -0
- package/include/sanitizer/dfsan_interface.h +220 -0
- package/include/sanitizer/hwasan_interface.h +109 -0
- package/include/sanitizer/linux_syscall_hooks.h +3112 -0
- package/include/sanitizer/lsan_interface.h +89 -0
- package/include/sanitizer/msan_interface.h +135 -0
- package/include/sanitizer/netbsd_syscall_hooks.h +5005 -0
- package/include/sanitizer/rtsan_interface.h +75 -0
- package/include/sanitizer/scudo_interface.h +38 -0
- package/include/sanitizer/tsan_interface.h +316 -0
- package/include/sanitizer/tsan_interface_atomic.h +223 -0
- package/include/sanitizer/ubsan_interface.h +34 -0
- package/include/serializeintrin.h +30 -0
- package/include/sgxintrin.h +60 -0
- package/include/sha512intrin.h +200 -0
- package/include/shaintrin.h +190 -0
- package/include/sifive_vector.h +174 -0
- package/include/sm3intrin.h +238 -0
- package/include/sm4evexintrin.h +32 -0
- package/include/sm4intrin.h +269 -0
- package/include/smmintrin.h +2352 -0
- package/include/spirvintrin.h +194 -0
- package/include/stdalign.h +24 -0
- package/include/stdarg.h +75 -0
- package/include/stdatomic.h +204 -0
- package/include/stdbool.h +39 -0
- package/include/stdckdint.h +42 -0
- package/include/stdcountof.h +15 -0
- package/include/stddef.h +139 -0
- package/include/stddefer.h +19 -0
- package/include/stdint.h +844 -0
- package/include/stdnoreturn.h +35 -0
- package/include/tbmintrin.h +128 -0
- package/include/tgmath.h +1368 -0
- package/include/tmmintrin.h +779 -0
- package/include/tsxldtrkintrin.h +56 -0
- package/include/uintrintrin.h +157 -0
- package/include/unwind.h +332 -0
- package/include/usermsrintrin.h +51 -0
- package/include/vadefs.h +51 -0
- package/include/vaesintrin.h +86 -0
- package/include/varargs.h +16 -0
- package/include/vecintrin.h +12868 -0
- package/include/velintrin.h +71 -0
- package/include/velintrin_approx.h +120 -0
- package/include/velintrin_gen.h +1257 -0
- package/include/vpclmulqdqintrin.h +30 -0
- package/include/waitpkgintrin.h +42 -0
- package/include/wasm_simd128.h +2143 -0
- package/include/wbnoinvdintrin.h +24 -0
- package/include/wmmintrin.h +23 -0
- package/include/x86gprintrin.h +49 -0
- package/include/x86intrin.h +35 -0
- package/include/xmmintrin.h +3175 -0
- package/include/xopintrin.h +780 -0
- package/include/xsavecintrin.h +84 -0
- package/include/xsaveintrin.h +63 -0
- package/include/xsaveoptintrin.h +34 -0
- package/include/xsavesintrin.h +44 -0
- package/include/xtestintrin.h +27 -0
- package/include/yvals_core.h +25 -0
- package/include/zos_wrappers/builtins.h +18 -0
- package/index.js +5 -0
- package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
- package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
- package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
- package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.cc_kext.a +0 -0
- package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_interceptors_ios.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_interceptors_iossim.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_interceptors_osx.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
- package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
- package/lib/darwin/libclang_rt.ios.a +0 -0
- package/lib/darwin/libclang_rt.iossim.a +0 -0
- package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.osx.a +0 -0
- package/lib/darwin/libclang_rt.profile_ios.a +0 -0
- package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
- package/lib/darwin/libclang_rt.profile_osx.a +0 -0
- package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
- package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
- package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
- package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
- package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
- package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
- package/package.json +40 -1
- package/share/asan_ignorelist.txt +14 -0
- package/share/cfi_ignorelist.txt +17 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/*===--------- avx10_2_512convertintrin.h - AVX10_2_512CONVERT -------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
#ifndef __IMMINTRIN_H
|
|
10
|
+
#error \
|
|
11
|
+
"Never use <avx10_2_512convertintrin.h> directly; include <immintrin.h> instead."
|
|
12
|
+
#endif // __IMMINTRIN_H
|
|
13
|
+
|
|
14
|
+
#ifdef __SSE2__
|
|
15
|
+
|
|
16
|
+
#ifndef __AVX10_2_512CONVERTINTRIN_H
|
|
17
|
+
#define __AVX10_2_512CONVERTINTRIN_H
|
|
18
|
+
|
|
19
|
+
/* Define the default attributes for the functions in this file. */
|
|
20
|
+
#define __DEFAULT_FN_ATTRS512 \
|
|
21
|
+
__attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
|
|
22
|
+
__min_vector_width__(512)))
|
|
23
|
+
|
|
24
|
+
static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_cvtx2ps_ph(__m512 __A,
|
|
25
|
+
__m512 __B) {
|
|
26
|
+
return (__m512h)__builtin_ia32_vcvt2ps2phx512_mask(
|
|
27
|
+
(__v16sf)__A, (__v16sf)__B, (__v32hf)_mm512_setzero_ph(), (__mmask32)(-1),
|
|
28
|
+
_MM_FROUND_CUR_DIRECTION);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static __inline__ __m512h __DEFAULT_FN_ATTRS512
|
|
32
|
+
_mm512_mask_cvtx2ps_ph(__m512h __W, __mmask32 __U, __m512 __A, __m512 __B) {
|
|
33
|
+
return (__m512h)__builtin_ia32_vcvt2ps2phx512_mask(
|
|
34
|
+
(__v16sf)__A, (__v16sf)__B, (__v32hf)__W, (__mmask32)__U,
|
|
35
|
+
_MM_FROUND_CUR_DIRECTION);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static __inline__ __m512h __DEFAULT_FN_ATTRS512
|
|
39
|
+
_mm512_maskz_cvtx2ps_ph(__mmask32 __U, __m512 __A, __m512 __B) {
|
|
40
|
+
return (__m512h)__builtin_ia32_vcvt2ps2phx512_mask(
|
|
41
|
+
(__v16sf)__A, (__v16sf)__B, (__v32hf)_mm512_setzero_ph(), (__mmask32)__U,
|
|
42
|
+
_MM_FROUND_CUR_DIRECTION);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
#define _mm512_cvtx_round2ps_ph(A, B, R) \
|
|
46
|
+
((__m512h)__builtin_ia32_vcvt2ps2phx512_mask( \
|
|
47
|
+
(__v16sf)(A), (__v16sf)(B), (__v32hf)_mm512_undefined_ph(), \
|
|
48
|
+
(__mmask32)(-1), (const int)(R)))
|
|
49
|
+
|
|
50
|
+
#define _mm512_mask_cvtx_round2ps_ph(W, U, A, B, R) \
|
|
51
|
+
((__m512h)__builtin_ia32_vcvt2ps2phx512_mask((__v16sf)(A), (__v16sf)(B), \
|
|
52
|
+
(__v32hf)(W), (__mmask32)(U), \
|
|
53
|
+
(const int)(R)))
|
|
54
|
+
|
|
55
|
+
#define _mm512_maskz_cvtx_round2ps_ph(U, A, B, R) \
|
|
56
|
+
((__m512h)__builtin_ia32_vcvt2ps2phx512_mask( \
|
|
57
|
+
(__v16sf)(A), (__v16sf)(B), (__v32hf)_mm512_setzero_ph(), \
|
|
58
|
+
(__mmask32)(U), (const int)(R)))
|
|
59
|
+
|
|
60
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
61
|
+
_mm512_cvtbiasph_bf8(__m512i __A, __m512h __B) {
|
|
62
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
|
|
63
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
|
|
64
|
+
(__mmask32)-1);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtbiasph_bf8(
|
|
68
|
+
__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
|
|
69
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
|
|
70
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
74
|
+
_mm512_maskz_cvtbiasph_bf8(__mmask32 __U, __m512i __A, __m512h __B) {
|
|
75
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
|
|
76
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
|
|
77
|
+
(__mmask32)__U);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
81
|
+
_mm512_cvts_biasph_bf8(__m512i __A, __m512h __B) {
|
|
82
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask(
|
|
83
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
|
|
84
|
+
(__mmask32)-1);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvts_biasph_bf8(
|
|
88
|
+
__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
|
|
89
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask(
|
|
90
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
94
|
+
_mm512_maskz_cvts_biasph_bf8(__mmask32 __U, __m512i __A, __m512h __B) {
|
|
95
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask(
|
|
96
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
|
|
97
|
+
(__mmask32)__U);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
101
|
+
_mm512_cvtbiasph_hf8(__m512i __A, __m512h __B) {
|
|
102
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
|
|
103
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
|
|
104
|
+
(__mmask32)-1);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtbiasph_hf8(
|
|
108
|
+
__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
|
|
109
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
|
|
110
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
114
|
+
_mm512_maskz_cvtbiasph_hf8(__mmask32 __U, __m512i __A, __m512h __B) {
|
|
115
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
|
|
116
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
|
|
117
|
+
(__mmask32)__U);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
121
|
+
_mm512_cvts_biasph_hf8(__m512i __A, __m512h __B) {
|
|
122
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask(
|
|
123
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
|
|
124
|
+
(__mmask32)-1);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvts_biasph_hf8(
|
|
128
|
+
__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
|
|
129
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask(
|
|
130
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
134
|
+
_mm512_maskz_cvts_biasph_hf8(__mmask32 __U, __m512i __A, __m512h __B) {
|
|
135
|
+
return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask(
|
|
136
|
+
(__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
|
|
137
|
+
(__mmask32)__U);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvt2ph_bf8(__m512h __A,
|
|
141
|
+
__m512h __B) {
|
|
142
|
+
return (__m512i)__builtin_ia32_vcvt2ph2bf8_512((__v32hf)(__A),
|
|
143
|
+
(__v32hf)(__B));
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
147
|
+
_mm512_mask_cvt2ph_bf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
|
|
148
|
+
return (__m512i)__builtin_ia32_selectb_512(
|
|
149
|
+
(__mmask64)__U, (__v64qi)_mm512_cvt2ph_bf8(__A, __B), (__v64qi)__W);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
153
|
+
_mm512_maskz_cvt2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) {
|
|
154
|
+
return (__m512i)__builtin_ia32_selectb_512(
|
|
155
|
+
(__mmask64)__U, (__v64qi)_mm512_cvt2ph_bf8(__A, __B),
|
|
156
|
+
(__v64qi)(__m512i)_mm512_setzero_si512());
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
160
|
+
_mm512_cvts_2ph_bf8(__m512h __A, __m512h __B) {
|
|
161
|
+
return (__m512i)__builtin_ia32_vcvt2ph2bf8s_512((__v32hf)(__A),
|
|
162
|
+
(__v32hf)(__B));
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
166
|
+
_mm512_mask_cvts_2ph_bf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
|
|
167
|
+
return (__m512i)__builtin_ia32_selectb_512(
|
|
168
|
+
(__mmask64)__U, (__v64qi)_mm512_cvts_2ph_bf8(__A, __B), (__v64qi)__W);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
172
|
+
_mm512_maskz_cvts_2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) {
|
|
173
|
+
return (__m512i)__builtin_ia32_selectb_512(
|
|
174
|
+
(__mmask64)__U, (__v64qi)_mm512_cvts_2ph_bf8(__A, __B),
|
|
175
|
+
(__v64qi)(__m512i)_mm512_setzero_si512());
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvt2ph_hf8(__m512h __A,
|
|
179
|
+
__m512h __B) {
|
|
180
|
+
return (__m512i)__builtin_ia32_vcvt2ph2hf8_512((__v32hf)(__A),
|
|
181
|
+
(__v32hf)(__B));
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
185
|
+
_mm512_mask_cvt2ph_hf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
|
|
186
|
+
return (__m512i)__builtin_ia32_selectb_512(
|
|
187
|
+
(__mmask64)__U, (__v64qi)_mm512_cvt2ph_hf8(__A, __B), (__v64qi)__W);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
191
|
+
_mm512_maskz_cvt2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) {
|
|
192
|
+
return (__m512i)__builtin_ia32_selectb_512(
|
|
193
|
+
(__mmask64)__U, (__v64qi)_mm512_cvt2ph_hf8(__A, __B),
|
|
194
|
+
(__v64qi)(__m512i)_mm512_setzero_si512());
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
198
|
+
_mm512_cvts_2ph_hf8(__m512h __A, __m512h __B) {
|
|
199
|
+
return (__m512i)__builtin_ia32_vcvt2ph2hf8s_512((__v32hf)(__A),
|
|
200
|
+
(__v32hf)(__B));
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
204
|
+
_mm512_mask_cvts_2ph_hf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
|
|
205
|
+
return (__m512i)__builtin_ia32_selectb_512(
|
|
206
|
+
(__mmask64)__U, (__v64qi)_mm512_cvts_2ph_hf8(__A, __B), (__v64qi)__W);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS512
|
|
210
|
+
_mm512_maskz_cvts_2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) {
|
|
211
|
+
return (__m512i)__builtin_ia32_selectb_512(
|
|
212
|
+
(__mmask64)__U, (__v64qi)_mm512_cvts_2ph_hf8(__A, __B),
|
|
213
|
+
(__v64qi)(__m512i)_mm512_setzero_si512());
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_cvthf8_ph(__m256i __A) {
|
|
217
|
+
return (__m512h)__builtin_ia32_vcvthf8_2ph512_mask(
|
|
218
|
+
(__v32qi)__A, (__v32hf)(__m512h)_mm512_undefined_ph(), (__mmask32)-1);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
static __inline__ __m512h __DEFAULT_FN_ATTRS512
|
|
222
|
+
_mm512_mask_cvthf8_ph(__m512h __W, __mmask32 __U, __m256i __A) {
|
|
223
|
+
return (__m512h)__builtin_ia32_vcvthf8_2ph512_mask(
|
|
224
|
+
(__v32qi)__A, (__v32hf)(__m512h)__W, (__mmask32)__U);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
static __inline__ __m512h __DEFAULT_FN_ATTRS512
|
|
228
|
+
_mm512_maskz_cvthf8_ph(__mmask32 __U, __m256i __A) {
|
|
229
|
+
return (__m512h)__builtin_ia32_vcvthf8_2ph512_mask(
|
|
230
|
+
(__v32qi)__A, (__v32hf)(__m512h)_mm512_setzero_ph(), (__mmask32)__U);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtph_bf8(__m512h __A) {
|
|
234
|
+
return (__m256i)__builtin_ia32_vcvtph2bf8_512_mask(
|
|
235
|
+
(__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
239
|
+
_mm512_mask_cvtph_bf8(__m256i __W, __mmask32 __U, __m512h __A) {
|
|
240
|
+
return (__m256i)__builtin_ia32_vcvtph2bf8_512_mask(
|
|
241
|
+
(__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
245
|
+
_mm512_maskz_cvtph_bf8(__mmask32 __U, __m512h __A) {
|
|
246
|
+
return (__m256i)__builtin_ia32_vcvtph2bf8_512_mask(
|
|
247
|
+
(__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
251
|
+
_mm512_cvts_ph_bf8(__m512h __A) {
|
|
252
|
+
return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask(
|
|
253
|
+
(__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
257
|
+
_mm512_mask_cvts_ph_bf8(__m256i __W, __mmask32 __U, __m512h __A) {
|
|
258
|
+
return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask(
|
|
259
|
+
(__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
263
|
+
_mm512_maskz_cvts_ph_bf8(__mmask32 __U, __m512h __A) {
|
|
264
|
+
return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask(
|
|
265
|
+
(__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtph_hf8(__m512h __A) {
|
|
269
|
+
return (__m256i)__builtin_ia32_vcvtph2hf8_512_mask(
|
|
270
|
+
(__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
274
|
+
_mm512_mask_cvtph_hf8(__m256i __W, __mmask32 __U, __m512h __A) {
|
|
275
|
+
return (__m256i)__builtin_ia32_vcvtph2hf8_512_mask(
|
|
276
|
+
(__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
280
|
+
_mm512_maskz_cvtph_hf8(__mmask32 __U, __m512h __A) {
|
|
281
|
+
return (__m256i)__builtin_ia32_vcvtph2hf8_512_mask(
|
|
282
|
+
(__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
286
|
+
_mm512_cvts_ph_hf8(__m512h __A) {
|
|
287
|
+
return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask(
|
|
288
|
+
(__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
292
|
+
_mm512_mask_cvts_ph_hf8(__m256i __W, __mmask32 __U, __m512h __A) {
|
|
293
|
+
return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask(
|
|
294
|
+
(__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS512
|
|
298
|
+
_mm512_maskz_cvts_ph_hf8(__mmask32 __U, __m512h __A) {
|
|
299
|
+
return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask(
|
|
300
|
+
(__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
static __inline __m512h __DEFAULT_FN_ATTRS512 _mm512_cvtbf8_ph(__m256i __A) {
|
|
304
|
+
return _mm512_castsi512_ph(_mm512_slli_epi16(_mm512_cvtepi8_epi16(__A), 8));
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
static __inline __m512h __DEFAULT_FN_ATTRS512
|
|
308
|
+
_mm512_mask_cvtbf8_ph(__m512h __S, __mmask32 __U, __m256i __A) {
|
|
309
|
+
return _mm512_castsi512_ph(
|
|
310
|
+
_mm512_mask_slli_epi16((__m512i)__S, __U, _mm512_cvtepi8_epi16(__A), 8));
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
static __inline __m512h __DEFAULT_FN_ATTRS512
|
|
314
|
+
_mm512_maskz_cvtbf8_ph(__mmask32 __U, __m256i __A) {
|
|
315
|
+
return _mm512_castsi512_ph(
|
|
316
|
+
_mm512_slli_epi16(_mm512_maskz_cvtepi8_epi16(__U, __A), 8));
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
#undef __DEFAULT_FN_ATTRS512
|
|
320
|
+
|
|
321
|
+
#endif // __AVX10_2_512CONVERTINTRIN_H
|
|
322
|
+
#endif // __SSE2__
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/*===---- avx10_2_512minmaxintrin.h - AVX10_2_512MINMAX intrinsics ---------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
#ifndef __IMMINTRIN_H
|
|
10
|
+
#error \
|
|
11
|
+
"Never use <avx10_2_512minmaxintrin.h> directly; include <immintrin.h> instead."
|
|
12
|
+
#endif // __IMMINTRIN_H
|
|
13
|
+
|
|
14
|
+
#ifndef __AVX10_2_512MINMAXINTRIN_H
|
|
15
|
+
#define __AVX10_2_512MINMAXINTRIN_H
|
|
16
|
+
|
|
17
|
+
#define _mm512_minmax_pbh(A, B, C) \
|
|
18
|
+
((__m512bh)__builtin_ia32_vminmaxbf16512((__v32bf)(__m512bh)(A), \
|
|
19
|
+
(__v32bf)(__m512bh)(A), (int)(C)))
|
|
20
|
+
|
|
21
|
+
#define _mm512_mask_minmax_pbh(W, U, A, B, C) \
|
|
22
|
+
((__m512bh)__builtin_ia32_selectpbf_512( \
|
|
23
|
+
(__mmask32)(U), \
|
|
24
|
+
(__v32bf)_mm512_minmax_pbh((__v32bf)(__m512bh)(A), \
|
|
25
|
+
(__v32bf)(__m512bh)(B), (int)(C)), \
|
|
26
|
+
(__v32bf)(__m512bh)(W)))
|
|
27
|
+
|
|
28
|
+
#define _mm512_maskz_minmax_pbh(U, A, B, C) \
|
|
29
|
+
((__m512bh)__builtin_ia32_selectpbf_512( \
|
|
30
|
+
(__mmask32)(U), \
|
|
31
|
+
(__v32bf)_mm512_minmax_pbh((__v32bf)(__m512bh)(A), \
|
|
32
|
+
(__v32bf)(__m512bh)(B), (int)(C)), \
|
|
33
|
+
(__v32bf) __builtin_bit_cast(__m512bh, _mm512_setzero_ps())))
|
|
34
|
+
|
|
35
|
+
#define _mm512_minmax_pd(A, B, C) \
|
|
36
|
+
((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
|
|
37
|
+
(__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
|
|
38
|
+
(__v8df)_mm512_undefined_pd(), (__mmask8)-1, \
|
|
39
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
40
|
+
|
|
41
|
+
#define _mm512_mask_minmax_pd(W, U, A, B, C) \
|
|
42
|
+
((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
|
|
43
|
+
(__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
|
|
44
|
+
(__v8df)(__m512d)(W), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
|
|
45
|
+
|
|
46
|
+
#define _mm512_maskz_minmax_pd(U, A, B, C) \
|
|
47
|
+
((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
|
|
48
|
+
(__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
|
|
49
|
+
(__v8df)_mm512_setzero_pd(), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
|
|
50
|
+
|
|
51
|
+
#define _mm512_minmax_round_pd(A, B, C, R) \
|
|
52
|
+
((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
|
|
53
|
+
(__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
|
|
54
|
+
(__v8df)_mm512_undefined_pd(), (__mmask8)-1, (int)(R)))
|
|
55
|
+
|
|
56
|
+
#define _mm512_mask_minmax_round_pd(W, U, A, B, C, R) \
|
|
57
|
+
((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
|
|
58
|
+
(__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
|
|
59
|
+
(__v8df)(__m512d)(W), (__mmask8)(U), (int)(R)))
|
|
60
|
+
|
|
61
|
+
#define _mm512_maskz_minmax_round_pd(U, A, B, C, R) \
|
|
62
|
+
((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
|
|
63
|
+
(__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
|
|
64
|
+
(__v8df)_mm512_setzero_pd(), (__mmask8)(U), (int)(R)))
|
|
65
|
+
|
|
66
|
+
#define _mm512_minmax_ph(A, B, C) \
|
|
67
|
+
((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
|
|
68
|
+
(__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
|
|
69
|
+
(__v32hf)_mm512_undefined_ph(), (__mmask32)-1, \
|
|
70
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
71
|
+
|
|
72
|
+
#define _mm512_mask_minmax_ph(W, U, A, B, C) \
|
|
73
|
+
((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
|
|
74
|
+
(__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
|
|
75
|
+
(__v32hf)(__m512h)(W), (__mmask32)(U), _MM_FROUND_CUR_DIRECTION))
|
|
76
|
+
|
|
77
|
+
#define _mm512_maskz_minmax_ph(U, A, B, C) \
|
|
78
|
+
((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
|
|
79
|
+
(__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
|
|
80
|
+
(__v32hf)_mm512_setzero_ph(), (__mmask32)(U), _MM_FROUND_CUR_DIRECTION))
|
|
81
|
+
|
|
82
|
+
#define _mm512_minmax_round_ph(A, B, C, R) \
|
|
83
|
+
((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
|
|
84
|
+
(__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
|
|
85
|
+
(__v32hf)_mm512_undefined_ph(), (__mmask32)-1, (int)(R)))
|
|
86
|
+
|
|
87
|
+
#define _mm512_mask_minmax_round_ph(W, U, A, B, C, R) \
|
|
88
|
+
((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
|
|
89
|
+
(__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
|
|
90
|
+
(__v32hf)(__m512h)(W), (__mmask32)(U), (int)(R)))
|
|
91
|
+
|
|
92
|
+
#define _mm512_maskz_minmax_round_ph(U, A, B, C, R) \
|
|
93
|
+
((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
|
|
94
|
+
(__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
|
|
95
|
+
(__v32hf)_mm512_setzero_ph(), (__mmask32)(U), (int)(R)))
|
|
96
|
+
|
|
97
|
+
#define _mm512_minmax_ps(A, B, C) \
|
|
98
|
+
((__m512)__builtin_ia32_vminmaxps512_round_mask( \
|
|
99
|
+
(__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), \
|
|
100
|
+
(__v16sf)_mm512_undefined_ps(), (__mmask16)-1, \
|
|
101
|
+
_MM_FROUND_CUR_DIRECTION))
|
|
102
|
+
|
|
103
|
+
#define _mm512_mask_minmax_ps(W, U, A, B, C) \
|
|
104
|
+
((__m512)__builtin_ia32_vminmaxps512_round_mask( \
|
|
105
|
+
(__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), (__v16sf)(W), \
|
|
106
|
+
(__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
|
|
107
|
+
|
|
108
|
+
#define _mm512_maskz_minmax_ps(U, A, B, C) \
|
|
109
|
+
((__m512)__builtin_ia32_vminmaxps512_round_mask( \
|
|
110
|
+
(__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), \
|
|
111
|
+
(__v16sf)_mm512_setzero_ps(), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
|
|
112
|
+
|
|
113
|
+
#define _mm512_minmax_round_ps(A, B, C, R) \
|
|
114
|
+
((__m512)__builtin_ia32_vminmaxps512_round_mask( \
|
|
115
|
+
(__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), \
|
|
116
|
+
(__v16sf)_mm512_undefined_ps(), (__mmask16)-1, (int)(R)))
|
|
117
|
+
|
|
118
|
+
#define _mm512_mask_minmax_round_ps(W, U, A, B, C, R) \
|
|
119
|
+
((__m512)__builtin_ia32_vminmaxps512_round_mask( \
|
|
120
|
+
(__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), (__v16sf)(W), \
|
|
121
|
+
(__mmask16)(U), (int)(R)))
|
|
122
|
+
|
|
123
|
+
#define _mm512_maskz_minmax_round_ps(U, A, B, C, R) \
|
|
124
|
+
((__m512)__builtin_ia32_vminmaxps512_round_mask( \
|
|
125
|
+
(__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), \
|
|
126
|
+
(__v16sf)_mm512_setzero_ps(), (__mmask16)(U), (int)(R)))
|
|
127
|
+
#endif // __AVX10_2_512MINMAXINTRIN_H
|