@cpp-linter/clang-tidy-darwin-arm64 17.0.6 → 18.1.5
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/{17 → 18}/include/__clang_cuda_device_functions.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_math.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_hip_math.h +192 -171
- package/lib/clang/{17 → 18}/include/__clang_hip_runtime_wrapper.h +34 -26
- package/lib/clang/18/include/__stdarg___gnuc_va_list.h +13 -0
- package/lib/clang/18/include/__stdarg___va_copy.h +12 -0
- package/lib/clang/18/include/__stdarg_va_arg.h +22 -0
- package/lib/clang/18/include/__stdarg_va_copy.h +12 -0
- package/lib/clang/18/include/__stdarg_va_list.h +13 -0
- package/lib/clang/{17 → 18}/include/__stddef_max_align_t.h +1 -1
- package/lib/clang/18/include/__stddef_null.h +29 -0
- package/lib/clang/18/include/__stddef_nullptr_t.h +29 -0
- package/lib/clang/18/include/__stddef_offsetof.h +17 -0
- package/lib/clang/18/include/__stddef_ptrdiff_t.h +20 -0
- package/lib/clang/18/include/__stddef_rsize_t.h +20 -0
- package/lib/clang/18/include/__stddef_size_t.h +20 -0
- package/lib/clang/18/include/__stddef_unreachable.h +21 -0
- package/lib/clang/18/include/__stddef_wchar_t.h +28 -0
- package/lib/clang/18/include/__stddef_wint_t.h +15 -0
- package/lib/clang/{17/include/adxintrin.h → 18/include/adcintrin.h} +27 -94
- package/lib/clang/18/include/adxintrin.h +102 -0
- package/lib/clang/{17 → 18}/include/altivec.h +31 -12
- package/lib/clang/{17 → 18}/include/ammintrin.h +4 -4
- package/lib/clang/{17 → 18}/include/arm_acle.h +111 -31
- package/lib/clang/{17 → 18}/include/arm_neon.h +85 -327
- package/lib/clang/18/include/arm_sme.h +2412 -0
- package/lib/clang/{17 → 18}/include/arm_sve.h +7386 -351
- package/lib/clang/18/include/arm_vector_types.h +345 -0
- package/lib/clang/{17 → 18}/include/avx2intrin.h +24 -3
- package/lib/clang/{17 → 18}/include/avx512bf16intrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512bitalgintrin.h +4 -1
- package/lib/clang/{17 → 18}/include/avx512bwintrin.h +28 -38
- package/lib/clang/{17 → 18}/include/avx512cdintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512dqintrin.h +4 -2
- package/lib/clang/{17 → 18}/include/avx512fintrin.h +7 -3
- package/lib/clang/{17 → 18}/include/avx512fp16intrin.h +6 -4
- package/lib/clang/{17 → 18}/include/avx512ifmaintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512ifmavlintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512pfintrin.h +0 -5
- package/lib/clang/{17 → 18}/include/avx512vbmi2intrin.h +1 -1
- package/lib/clang/{17 → 18}/include/avx512vbmiintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vbmivlintrin.h +8 -3
- package/lib/clang/{17 → 18}/include/avx512vlbf16intrin.h +8 -6
- package/lib/clang/{17 → 18}/include/avx512vlbitalgintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlbwintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlcdintrin.h +8 -3
- package/lib/clang/{17 → 18}/include/avx512vldqintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlfp16intrin.h +2 -2
- package/lib/clang/{17 → 18}/include/avx512vlintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvbmi2intrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvnniintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
- package/lib/clang/{17 → 18}/include/avx512vnniintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vp2intersectintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vpopcntdqintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
- package/lib/clang/{17 → 18}/include/avxintrin.h +9 -5
- package/lib/clang/{17 → 18}/include/bmiintrin.h +231 -46
- package/lib/clang/{17 → 18}/include/emmintrin.h +10 -10
- package/lib/clang/{17 → 18}/include/gfniintrin.h +23 -6
- package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +624 -0
- package/lib/clang/18/include/ia32intrin.h +863 -0
- package/lib/clang/{17 → 18}/include/immintrin.h +66 -3
- package/lib/clang/{17 → 18}/include/intrin.h +16 -0
- package/lib/clang/{17 → 18}/include/larchintrin.h +13 -1
- package/lib/clang/18/include/lasxintrin.h +3884 -0
- package/lib/clang/{17 → 18}/include/limits.h +2 -4
- package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 18/include/llvm_libc_wrappers/assert.h} +7 -7
- package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/ctype.h +17 -0
- package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
- package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/stdlib.h +4 -1
- package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
- package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 18/include/llvm_libc_wrappers/time.h} +9 -12
- package/lib/clang/18/include/lsxintrin.h +3750 -0
- package/lib/clang/{17 → 18}/include/mmintrin.h +7 -5
- package/lib/clang/{17 → 18}/include/module.modulemap +155 -2
- package/lib/clang/{17 → 18}/include/opencl-c-base.h +5 -0
- package/lib/clang/{17 → 18}/include/openmp_wrappers/cmath +1 -1
- package/lib/clang/{17 → 18}/include/pmmintrin.h +3 -2
- package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
- package/lib/clang/{17 → 18}/include/ppc_wrappers/smmintrin.h +35 -15
- package/lib/clang/18/include/riscv_bitmanip.h +195 -0
- package/lib/clang/18/include/riscv_crypto.h +170 -0
- package/lib/clang/{17 → 18}/include/riscv_ntlh.h +3 -5
- package/lib/clang/{17 → 18}/include/riscv_vector.h +31 -0
- package/lib/clang/{17 → 18}/include/smmintrin.h +3 -3
- package/lib/clang/{17 → 18}/include/stdalign.h +1 -3
- package/lib/clang/18/include/stdarg.h +79 -0
- package/lib/clang/{17 → 18}/include/stdatomic.h +3 -5
- package/lib/clang/18/include/stdckdint.h +42 -0
- package/lib/clang/18/include/stddef.h +123 -0
- package/lib/clang/{17 → 18}/include/stdint.h +19 -48
- package/lib/clang/{17 → 18}/include/stdnoreturn.h +2 -2
- package/lib/clang/{17 → 18}/include/tmmintrin.h +7 -2
- package/lib/clang/18/include/usermsrintrin.h +51 -0
- package/lib/clang/{17 → 18}/include/vaesintrin.h +4 -2
- package/lib/clang/{17 → 18}/include/vecintrin.h +217 -199
- package/lib/clang/{17 → 18}/include/x86gprintrin.h +5 -0
- package/lib/clang/{17 → 18}/include/xmmintrin.h +9 -5
- package/package.json +6 -6
- package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
- package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +0 -480
- package/lib/clang/17/include/ia32intrin.h +0 -441
- package/lib/clang/17/include/stdarg.h +0 -51
- package/lib/clang/17/include/stddef.h +0 -133
- /package/lib/clang/{17 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{17 → 18}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{17 → 18}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm64intr.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_bf16.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_cde.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_cmse.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_fp16.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_mve.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{17 → 18}/include/armintr.h +0 -0
- /package/lib/clang/{17 → 18}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniint16intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/builtins.h +0 -0
- /package/lib/clang/{17 → 18}/include/cet.h +0 -0
- /package/lib/clang/{17 → 18}/include/cetintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clwbintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clzerointrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cpuid.h +0 -0
- /package/lib/clang/{17 → 18}/include/crc32intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{17 → 18}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/f16cintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/float.h +0 -0
- /package/lib/clang/{17 → 18}/include/fma4intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/fmaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_types.h +0 -0
- /package/lib/clang/{17 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
- /package/lib/clang/{17 → 18}/include/hlsl.h +0 -0
- /package/lib/clang/{17 → 18}/include/hresetintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/htmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 18}/include/inttypes.h +0 -0
- /package/lib/clang/{17 → 18}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/iso646.h +0 -0
- /package/lib/clang/{17 → 18}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{17 → 18}/include/lwpintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/mm3dnow.h +0 -0
- /package/lib/clang/{17 → 18}/include/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 18}/include/movdirintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/msa.h +0 -0
- /package/lib/clang/{17 → 18}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/nmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/opencl-c.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{17 → 18}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/pkuintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/popcntintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/raointintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rtmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/s390intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/serializeintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sgxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sha512intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/shaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sifive_vector.h +0 -0
- /package/lib/clang/{17 → 18}/include/sm3intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sm4intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/stdbool.h +0 -0
- /package/lib/clang/{17 → 18}/include/tbmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/tgmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/uintrintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/unwind.h +0 -0
- /package/lib/clang/{17 → 18}/include/vadefs.h +0 -0
- /package/lib/clang/{17 → 18}/include/varargs.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{17 → 18}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{17 → 18}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/wmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/x86intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xopintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xtestintrin.h +0 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
/*===---- arm_vector_types - ARM vector type ------===
|
|
2
|
+
*
|
|
3
|
+
*
|
|
4
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
5
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
7
|
+
*
|
|
8
|
+
*===-----------------------------------------------------------------------===
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#if !defined(__ARM_NEON_H) && !defined(__ARM_SVE_H)
|
|
12
|
+
#error "This file should not be used standalone. Please include arm_neon.h or arm_sve.h instead"
|
|
13
|
+
|
|
14
|
+
#endif
|
|
15
|
+
#ifndef __ARM_NEON_TYPES_H
|
|
16
|
+
#define __ARM_NEON_TYPES_H
|
|
17
|
+
typedef float float32_t;
|
|
18
|
+
typedef __fp16 float16_t;
|
|
19
|
+
#ifdef __aarch64__
|
|
20
|
+
typedef double float64_t;
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
|
|
24
|
+
typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
|
|
25
|
+
typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
|
|
26
|
+
typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
|
|
27
|
+
typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
|
|
28
|
+
typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
|
|
29
|
+
typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
|
|
30
|
+
typedef __attribute__((neon_vector_type(2))) int64_t int64x2_t;
|
|
31
|
+
typedef __attribute__((neon_vector_type(8))) uint8_t uint8x8_t;
|
|
32
|
+
typedef __attribute__((neon_vector_type(16))) uint8_t uint8x16_t;
|
|
33
|
+
typedef __attribute__((neon_vector_type(4))) uint16_t uint16x4_t;
|
|
34
|
+
typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;
|
|
35
|
+
typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t;
|
|
36
|
+
typedef __attribute__((neon_vector_type(4))) uint32_t uint32x4_t;
|
|
37
|
+
typedef __attribute__((neon_vector_type(1))) uint64_t uint64x1_t;
|
|
38
|
+
typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t;
|
|
39
|
+
typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
|
|
40
|
+
typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
|
|
41
|
+
typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t;
|
|
42
|
+
typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t;
|
|
43
|
+
#ifdef __aarch64__
|
|
44
|
+
typedef __attribute__((neon_vector_type(1))) float64_t float64x1_t;
|
|
45
|
+
typedef __attribute__((neon_vector_type(2))) float64_t float64x2_t;
|
|
46
|
+
#endif
|
|
47
|
+
|
|
48
|
+
typedef struct int8x8x2_t {
|
|
49
|
+
int8x8_t val[2];
|
|
50
|
+
} int8x8x2_t;
|
|
51
|
+
|
|
52
|
+
typedef struct int8x16x2_t {
|
|
53
|
+
int8x16_t val[2];
|
|
54
|
+
} int8x16x2_t;
|
|
55
|
+
|
|
56
|
+
typedef struct int16x4x2_t {
|
|
57
|
+
int16x4_t val[2];
|
|
58
|
+
} int16x4x2_t;
|
|
59
|
+
|
|
60
|
+
typedef struct int16x8x2_t {
|
|
61
|
+
int16x8_t val[2];
|
|
62
|
+
} int16x8x2_t;
|
|
63
|
+
|
|
64
|
+
typedef struct int32x2x2_t {
|
|
65
|
+
int32x2_t val[2];
|
|
66
|
+
} int32x2x2_t;
|
|
67
|
+
|
|
68
|
+
typedef struct int32x4x2_t {
|
|
69
|
+
int32x4_t val[2];
|
|
70
|
+
} int32x4x2_t;
|
|
71
|
+
|
|
72
|
+
typedef struct int64x1x2_t {
|
|
73
|
+
int64x1_t val[2];
|
|
74
|
+
} int64x1x2_t;
|
|
75
|
+
|
|
76
|
+
typedef struct int64x2x2_t {
|
|
77
|
+
int64x2_t val[2];
|
|
78
|
+
} int64x2x2_t;
|
|
79
|
+
|
|
80
|
+
typedef struct uint8x8x2_t {
|
|
81
|
+
uint8x8_t val[2];
|
|
82
|
+
} uint8x8x2_t;
|
|
83
|
+
|
|
84
|
+
typedef struct uint8x16x2_t {
|
|
85
|
+
uint8x16_t val[2];
|
|
86
|
+
} uint8x16x2_t;
|
|
87
|
+
|
|
88
|
+
typedef struct uint16x4x2_t {
|
|
89
|
+
uint16x4_t val[2];
|
|
90
|
+
} uint16x4x2_t;
|
|
91
|
+
|
|
92
|
+
typedef struct uint16x8x2_t {
|
|
93
|
+
uint16x8_t val[2];
|
|
94
|
+
} uint16x8x2_t;
|
|
95
|
+
|
|
96
|
+
typedef struct uint32x2x2_t {
|
|
97
|
+
uint32x2_t val[2];
|
|
98
|
+
} uint32x2x2_t;
|
|
99
|
+
|
|
100
|
+
typedef struct uint32x4x2_t {
|
|
101
|
+
uint32x4_t val[2];
|
|
102
|
+
} uint32x4x2_t;
|
|
103
|
+
|
|
104
|
+
typedef struct uint64x1x2_t {
|
|
105
|
+
uint64x1_t val[2];
|
|
106
|
+
} uint64x1x2_t;
|
|
107
|
+
|
|
108
|
+
typedef struct uint64x2x2_t {
|
|
109
|
+
uint64x2_t val[2];
|
|
110
|
+
} uint64x2x2_t;
|
|
111
|
+
|
|
112
|
+
typedef struct float16x4x2_t {
|
|
113
|
+
float16x4_t val[2];
|
|
114
|
+
} float16x4x2_t;
|
|
115
|
+
|
|
116
|
+
typedef struct float16x8x2_t {
|
|
117
|
+
float16x8_t val[2];
|
|
118
|
+
} float16x8x2_t;
|
|
119
|
+
|
|
120
|
+
typedef struct float32x2x2_t {
|
|
121
|
+
float32x2_t val[2];
|
|
122
|
+
} float32x2x2_t;
|
|
123
|
+
|
|
124
|
+
typedef struct float32x4x2_t {
|
|
125
|
+
float32x4_t val[2];
|
|
126
|
+
} float32x4x2_t;
|
|
127
|
+
|
|
128
|
+
#ifdef __aarch64__
|
|
129
|
+
typedef struct float64x1x2_t {
|
|
130
|
+
float64x1_t val[2];
|
|
131
|
+
} float64x1x2_t;
|
|
132
|
+
|
|
133
|
+
typedef struct float64x2x2_t {
|
|
134
|
+
float64x2_t val[2];
|
|
135
|
+
} float64x2x2_t;
|
|
136
|
+
|
|
137
|
+
#endif
|
|
138
|
+
typedef struct int8x8x3_t {
|
|
139
|
+
int8x8_t val[3];
|
|
140
|
+
} int8x8x3_t;
|
|
141
|
+
|
|
142
|
+
typedef struct int8x16x3_t {
|
|
143
|
+
int8x16_t val[3];
|
|
144
|
+
} int8x16x3_t;
|
|
145
|
+
|
|
146
|
+
typedef struct int16x4x3_t {
|
|
147
|
+
int16x4_t val[3];
|
|
148
|
+
} int16x4x3_t;
|
|
149
|
+
|
|
150
|
+
typedef struct int16x8x3_t {
|
|
151
|
+
int16x8_t val[3];
|
|
152
|
+
} int16x8x3_t;
|
|
153
|
+
|
|
154
|
+
typedef struct int32x2x3_t {
|
|
155
|
+
int32x2_t val[3];
|
|
156
|
+
} int32x2x3_t;
|
|
157
|
+
|
|
158
|
+
typedef struct int32x4x3_t {
|
|
159
|
+
int32x4_t val[3];
|
|
160
|
+
} int32x4x3_t;
|
|
161
|
+
|
|
162
|
+
typedef struct int64x1x3_t {
|
|
163
|
+
int64x1_t val[3];
|
|
164
|
+
} int64x1x3_t;
|
|
165
|
+
|
|
166
|
+
typedef struct int64x2x3_t {
|
|
167
|
+
int64x2_t val[3];
|
|
168
|
+
} int64x2x3_t;
|
|
169
|
+
|
|
170
|
+
typedef struct uint8x8x3_t {
|
|
171
|
+
uint8x8_t val[3];
|
|
172
|
+
} uint8x8x3_t;
|
|
173
|
+
|
|
174
|
+
typedef struct uint8x16x3_t {
|
|
175
|
+
uint8x16_t val[3];
|
|
176
|
+
} uint8x16x3_t;
|
|
177
|
+
|
|
178
|
+
typedef struct uint16x4x3_t {
|
|
179
|
+
uint16x4_t val[3];
|
|
180
|
+
} uint16x4x3_t;
|
|
181
|
+
|
|
182
|
+
typedef struct uint16x8x3_t {
|
|
183
|
+
uint16x8_t val[3];
|
|
184
|
+
} uint16x8x3_t;
|
|
185
|
+
|
|
186
|
+
typedef struct uint32x2x3_t {
|
|
187
|
+
uint32x2_t val[3];
|
|
188
|
+
} uint32x2x3_t;
|
|
189
|
+
|
|
190
|
+
typedef struct uint32x4x3_t {
|
|
191
|
+
uint32x4_t val[3];
|
|
192
|
+
} uint32x4x3_t;
|
|
193
|
+
|
|
194
|
+
typedef struct uint64x1x3_t {
|
|
195
|
+
uint64x1_t val[3];
|
|
196
|
+
} uint64x1x3_t;
|
|
197
|
+
|
|
198
|
+
typedef struct uint64x2x3_t {
|
|
199
|
+
uint64x2_t val[3];
|
|
200
|
+
} uint64x2x3_t;
|
|
201
|
+
|
|
202
|
+
typedef struct float16x4x3_t {
|
|
203
|
+
float16x4_t val[3];
|
|
204
|
+
} float16x4x3_t;
|
|
205
|
+
|
|
206
|
+
typedef struct float16x8x3_t {
|
|
207
|
+
float16x8_t val[3];
|
|
208
|
+
} float16x8x3_t;
|
|
209
|
+
|
|
210
|
+
typedef struct float32x2x3_t {
|
|
211
|
+
float32x2_t val[3];
|
|
212
|
+
} float32x2x3_t;
|
|
213
|
+
|
|
214
|
+
typedef struct float32x4x3_t {
|
|
215
|
+
float32x4_t val[3];
|
|
216
|
+
} float32x4x3_t;
|
|
217
|
+
|
|
218
|
+
#ifdef __aarch64__
|
|
219
|
+
typedef struct float64x1x3_t {
|
|
220
|
+
float64x1_t val[3];
|
|
221
|
+
} float64x1x3_t;
|
|
222
|
+
|
|
223
|
+
typedef struct float64x2x3_t {
|
|
224
|
+
float64x2_t val[3];
|
|
225
|
+
} float64x2x3_t;
|
|
226
|
+
|
|
227
|
+
#endif
|
|
228
|
+
typedef struct int8x8x4_t {
|
|
229
|
+
int8x8_t val[4];
|
|
230
|
+
} int8x8x4_t;
|
|
231
|
+
|
|
232
|
+
typedef struct int8x16x4_t {
|
|
233
|
+
int8x16_t val[4];
|
|
234
|
+
} int8x16x4_t;
|
|
235
|
+
|
|
236
|
+
typedef struct int16x4x4_t {
|
|
237
|
+
int16x4_t val[4];
|
|
238
|
+
} int16x4x4_t;
|
|
239
|
+
|
|
240
|
+
typedef struct int16x8x4_t {
|
|
241
|
+
int16x8_t val[4];
|
|
242
|
+
} int16x8x4_t;
|
|
243
|
+
|
|
244
|
+
typedef struct int32x2x4_t {
|
|
245
|
+
int32x2_t val[4];
|
|
246
|
+
} int32x2x4_t;
|
|
247
|
+
|
|
248
|
+
typedef struct int32x4x4_t {
|
|
249
|
+
int32x4_t val[4];
|
|
250
|
+
} int32x4x4_t;
|
|
251
|
+
|
|
252
|
+
typedef struct int64x1x4_t {
|
|
253
|
+
int64x1_t val[4];
|
|
254
|
+
} int64x1x4_t;
|
|
255
|
+
|
|
256
|
+
typedef struct int64x2x4_t {
|
|
257
|
+
int64x2_t val[4];
|
|
258
|
+
} int64x2x4_t;
|
|
259
|
+
|
|
260
|
+
typedef struct uint8x8x4_t {
|
|
261
|
+
uint8x8_t val[4];
|
|
262
|
+
} uint8x8x4_t;
|
|
263
|
+
|
|
264
|
+
typedef struct uint8x16x4_t {
|
|
265
|
+
uint8x16_t val[4];
|
|
266
|
+
} uint8x16x4_t;
|
|
267
|
+
|
|
268
|
+
typedef struct uint16x4x4_t {
|
|
269
|
+
uint16x4_t val[4];
|
|
270
|
+
} uint16x4x4_t;
|
|
271
|
+
|
|
272
|
+
typedef struct uint16x8x4_t {
|
|
273
|
+
uint16x8_t val[4];
|
|
274
|
+
} uint16x8x4_t;
|
|
275
|
+
|
|
276
|
+
typedef struct uint32x2x4_t {
|
|
277
|
+
uint32x2_t val[4];
|
|
278
|
+
} uint32x2x4_t;
|
|
279
|
+
|
|
280
|
+
typedef struct uint32x4x4_t {
|
|
281
|
+
uint32x4_t val[4];
|
|
282
|
+
} uint32x4x4_t;
|
|
283
|
+
|
|
284
|
+
typedef struct uint64x1x4_t {
|
|
285
|
+
uint64x1_t val[4];
|
|
286
|
+
} uint64x1x4_t;
|
|
287
|
+
|
|
288
|
+
typedef struct uint64x2x4_t {
|
|
289
|
+
uint64x2_t val[4];
|
|
290
|
+
} uint64x2x4_t;
|
|
291
|
+
|
|
292
|
+
typedef struct float16x4x4_t {
|
|
293
|
+
float16x4_t val[4];
|
|
294
|
+
} float16x4x4_t;
|
|
295
|
+
|
|
296
|
+
typedef struct float16x8x4_t {
|
|
297
|
+
float16x8_t val[4];
|
|
298
|
+
} float16x8x4_t;
|
|
299
|
+
|
|
300
|
+
typedef struct float32x2x4_t {
|
|
301
|
+
float32x2_t val[4];
|
|
302
|
+
} float32x2x4_t;
|
|
303
|
+
|
|
304
|
+
typedef struct float32x4x4_t {
|
|
305
|
+
float32x4_t val[4];
|
|
306
|
+
} float32x4x4_t;
|
|
307
|
+
|
|
308
|
+
#ifdef __aarch64__
|
|
309
|
+
typedef struct float64x1x4_t {
|
|
310
|
+
float64x1_t val[4];
|
|
311
|
+
} float64x1x4_t;
|
|
312
|
+
|
|
313
|
+
typedef struct float64x2x4_t {
|
|
314
|
+
float64x2_t val[4];
|
|
315
|
+
} float64x2x4_t;
|
|
316
|
+
|
|
317
|
+
#endif
|
|
318
|
+
typedef __attribute__((neon_vector_type(4))) bfloat16_t bfloat16x4_t;
|
|
319
|
+
typedef __attribute__((neon_vector_type(8))) bfloat16_t bfloat16x8_t;
|
|
320
|
+
|
|
321
|
+
typedef struct bfloat16x4x2_t {
|
|
322
|
+
bfloat16x4_t val[2];
|
|
323
|
+
} bfloat16x4x2_t;
|
|
324
|
+
|
|
325
|
+
typedef struct bfloat16x8x2_t {
|
|
326
|
+
bfloat16x8_t val[2];
|
|
327
|
+
} bfloat16x8x2_t;
|
|
328
|
+
|
|
329
|
+
typedef struct bfloat16x4x3_t {
|
|
330
|
+
bfloat16x4_t val[3];
|
|
331
|
+
} bfloat16x4x3_t;
|
|
332
|
+
|
|
333
|
+
typedef struct bfloat16x8x3_t {
|
|
334
|
+
bfloat16x8_t val[3];
|
|
335
|
+
} bfloat16x8x3_t;
|
|
336
|
+
|
|
337
|
+
typedef struct bfloat16x4x4_t {
|
|
338
|
+
bfloat16x4_t val[4];
|
|
339
|
+
} bfloat16x4x4_t;
|
|
340
|
+
|
|
341
|
+
typedef struct bfloat16x8x4_t {
|
|
342
|
+
bfloat16x8_t val[4];
|
|
343
|
+
} bfloat16x8x4_t;
|
|
344
|
+
|
|
345
|
+
#endif // __ARM_NEON_TYPES_H
|
|
@@ -15,8 +15,12 @@
|
|
|
15
15
|
#define __AVX2INTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS256
|
|
19
|
-
|
|
18
|
+
#define __DEFAULT_FN_ATTRS256 \
|
|
19
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
20
|
+
__target__("avx2,no-evex512"), __min_vector_width__(256)))
|
|
21
|
+
#define __DEFAULT_FN_ATTRS128 \
|
|
22
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
23
|
+
__target__("avx2,no-evex512"), __min_vector_width__(128)))
|
|
20
24
|
|
|
21
25
|
/* SSE4 Multiple Packed Sums of Absolute Difference. */
|
|
22
26
|
/// Computes sixteen sum of absolute difference (SAD) operations on sets of
|
|
@@ -1307,6 +1311,23 @@ _mm256_min_epu32(__m256i __a, __m256i __b)
|
|
|
1307
1311
|
return (__m256i)__builtin_elementwise_min((__v8su)__a, (__v8su)__b);
|
|
1308
1312
|
}
|
|
1309
1313
|
|
|
1314
|
+
/// Creates a 32-bit integer mask from the most significant bit of each byte
|
|
1315
|
+
/// in the 256-bit integer vector in \a __a and returns the result.
|
|
1316
|
+
///
|
|
1317
|
+
/// \code{.operation}
|
|
1318
|
+
/// FOR i := 0 TO 31
|
|
1319
|
+
/// j := i*8
|
|
1320
|
+
/// result[i] := __a[j+7]
|
|
1321
|
+
/// ENDFOR
|
|
1322
|
+
/// \endcode
|
|
1323
|
+
///
|
|
1324
|
+
/// \headerfile <immintrin.h>
|
|
1325
|
+
///
|
|
1326
|
+
/// This intrinsic corresponds to the \c VPMOVMSKB instruction.
|
|
1327
|
+
///
|
|
1328
|
+
/// \param __a
|
|
1329
|
+
/// A 256-bit integer vector containing the source bytes.
|
|
1330
|
+
/// \returns The 32-bit integer mask.
|
|
1310
1331
|
static __inline__ int __DEFAULT_FN_ATTRS256
|
|
1311
1332
|
_mm256_movemask_epi8(__m256i __a)
|
|
1312
1333
|
{
|
|
@@ -2962,7 +2983,7 @@ _mm256_xor_si256(__m256i __a, __m256i __b)
|
|
|
2962
2983
|
/// A pointer to the 32-byte aligned memory containing the vector to load.
|
|
2963
2984
|
/// \returns A 256-bit integer vector loaded from memory.
|
|
2964
2985
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
2965
|
-
_mm256_stream_load_si256(
|
|
2986
|
+
_mm256_stream_load_si256(const void *__V)
|
|
2966
2987
|
{
|
|
2967
2988
|
typedef __v4di __v4di_aligned __attribute__((aligned(32)));
|
|
2968
2989
|
return (__m256i)__builtin_nontemporal_load((const __v4di_aligned *)__V);
|
|
@@ -20,10 +20,11 @@ typedef __bf16 __m512bh __attribute__((__vector_size__(64), __aligned__(64)));
|
|
|
20
20
|
typedef __bf16 __bfloat16 __attribute__((deprecated("use __bf16 instead")));
|
|
21
21
|
|
|
22
22
|
#define __DEFAULT_FN_ATTRS512 \
|
|
23
|
-
__attribute__((__always_inline__, __nodebug__, __target__("avx512bf16"), \
|
|
23
|
+
__attribute__((__always_inline__, __nodebug__, __target__("avx512bf16,evex512"), \
|
|
24
24
|
__min_vector_width__(512)))
|
|
25
25
|
#define __DEFAULT_FN_ATTRS \
|
|
26
|
-
__attribute__((__always_inline__, __nodebug__,
|
|
26
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
27
|
+
__target__("avx512bf16,no-evex512")))
|
|
27
28
|
|
|
28
29
|
/// Convert One BF16 Data to One Single Float Data.
|
|
29
30
|
///
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
#define __AVX512BITALGINTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS
|
|
18
|
+
#define __DEFAULT_FN_ATTRS \
|
|
19
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
20
|
+
__target__("avx512bitalg,evex512"), \
|
|
21
|
+
__min_vector_width__(512)))
|
|
19
22
|
|
|
20
23
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
21
24
|
_mm512_popcnt_epi16(__m512i __A)
|
|
@@ -18,8 +18,12 @@ typedef unsigned int __mmask32;
|
|
|
18
18
|
typedef unsigned long long __mmask64;
|
|
19
19
|
|
|
20
20
|
/* Define the default attributes for the functions in this file. */
|
|
21
|
-
#define __DEFAULT_FN_ATTRS512
|
|
22
|
-
|
|
21
|
+
#define __DEFAULT_FN_ATTRS512 \
|
|
22
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
23
|
+
__target__("avx512bw,evex512"), __min_vector_width__(512)))
|
|
24
|
+
#define __DEFAULT_FN_ATTRS \
|
|
25
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
26
|
+
__target__("avx512bw,no-evex512")))
|
|
23
27
|
|
|
24
28
|
static __inline __mmask32 __DEFAULT_FN_ATTRS
|
|
25
29
|
_knot_mask32(__mmask32 __M)
|
|
@@ -27,9 +31,7 @@ _knot_mask32(__mmask32 __M)
|
|
|
27
31
|
return __builtin_ia32_knotsi(__M);
|
|
28
32
|
}
|
|
29
33
|
|
|
30
|
-
static __inline __mmask64 __DEFAULT_FN_ATTRS
|
|
31
|
-
_knot_mask64(__mmask64 __M)
|
|
32
|
-
{
|
|
34
|
+
static __inline __mmask64 __DEFAULT_FN_ATTRS _knot_mask64(__mmask64 __M) {
|
|
33
35
|
return __builtin_ia32_knotdi(__M);
|
|
34
36
|
}
|
|
35
37
|
|
|
@@ -39,9 +41,8 @@ _kand_mask32(__mmask32 __A, __mmask32 __B)
|
|
|
39
41
|
return (__mmask32)__builtin_ia32_kandsi((__mmask32)__A, (__mmask32)__B);
|
|
40
42
|
}
|
|
41
43
|
|
|
42
|
-
static __inline__ __mmask64 __DEFAULT_FN_ATTRS
|
|
43
|
-
|
|
44
|
-
{
|
|
44
|
+
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kand_mask64(__mmask64 __A,
|
|
45
|
+
__mmask64 __B) {
|
|
45
46
|
return (__mmask64)__builtin_ia32_kanddi((__mmask64)__A, (__mmask64)__B);
|
|
46
47
|
}
|
|
47
48
|
|
|
@@ -51,9 +52,8 @@ _kandn_mask32(__mmask32 __A, __mmask32 __B)
|
|
|
51
52
|
return (__mmask32)__builtin_ia32_kandnsi((__mmask32)__A, (__mmask32)__B);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
static __inline__ __mmask64 __DEFAULT_FN_ATTRS
|
|
55
|
-
|
|
56
|
-
{
|
|
55
|
+
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kandn_mask64(__mmask64 __A,
|
|
56
|
+
__mmask64 __B) {
|
|
57
57
|
return (__mmask64)__builtin_ia32_kandndi((__mmask64)__A, (__mmask64)__B);
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -63,9 +63,8 @@ _kor_mask32(__mmask32 __A, __mmask32 __B)
|
|
|
63
63
|
return (__mmask32)__builtin_ia32_korsi((__mmask32)__A, (__mmask32)__B);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
static __inline__ __mmask64 __DEFAULT_FN_ATTRS
|
|
67
|
-
|
|
68
|
-
{
|
|
66
|
+
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kor_mask64(__mmask64 __A,
|
|
67
|
+
__mmask64 __B) {
|
|
69
68
|
return (__mmask64)__builtin_ia32_kordi((__mmask64)__A, (__mmask64)__B);
|
|
70
69
|
}
|
|
71
70
|
|
|
@@ -75,9 +74,8 @@ _kxnor_mask32(__mmask32 __A, __mmask32 __B)
|
|
|
75
74
|
return (__mmask32)__builtin_ia32_kxnorsi((__mmask32)__A, (__mmask32)__B);
|
|
76
75
|
}
|
|
77
76
|
|
|
78
|
-
static __inline__ __mmask64 __DEFAULT_FN_ATTRS
|
|
79
|
-
|
|
80
|
-
{
|
|
77
|
+
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kxnor_mask64(__mmask64 __A,
|
|
78
|
+
__mmask64 __B) {
|
|
81
79
|
return (__mmask64)__builtin_ia32_kxnordi((__mmask64)__A, (__mmask64)__B);
|
|
82
80
|
}
|
|
83
81
|
|
|
@@ -87,9 +85,8 @@ _kxor_mask32(__mmask32 __A, __mmask32 __B)
|
|
|
87
85
|
return (__mmask32)__builtin_ia32_kxorsi((__mmask32)__A, (__mmask32)__B);
|
|
88
86
|
}
|
|
89
87
|
|
|
90
|
-
static __inline__ __mmask64 __DEFAULT_FN_ATTRS
|
|
91
|
-
|
|
92
|
-
{
|
|
88
|
+
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kxor_mask64(__mmask64 __A,
|
|
89
|
+
__mmask64 __B) {
|
|
93
90
|
return (__mmask64)__builtin_ia32_kxordi((__mmask64)__A, (__mmask64)__B);
|
|
94
91
|
}
|
|
95
92
|
|
|
@@ -112,14 +109,12 @@ _kortest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C) {
|
|
|
112
109
|
}
|
|
113
110
|
|
|
114
111
|
static __inline__ unsigned char __DEFAULT_FN_ATTRS
|
|
115
|
-
_kortestc_mask64_u8(__mmask64 __A, __mmask64 __B)
|
|
116
|
-
{
|
|
112
|
+
_kortestc_mask64_u8(__mmask64 __A, __mmask64 __B) {
|
|
117
113
|
return (unsigned char)__builtin_ia32_kortestcdi(__A, __B);
|
|
118
114
|
}
|
|
119
115
|
|
|
120
116
|
static __inline__ unsigned char __DEFAULT_FN_ATTRS
|
|
121
|
-
_kortestz_mask64_u8(__mmask64 __A, __mmask64 __B)
|
|
122
|
-
{
|
|
117
|
+
_kortestz_mask64_u8(__mmask64 __A, __mmask64 __B) {
|
|
123
118
|
return (unsigned char)__builtin_ia32_kortestzdi(__A, __B);
|
|
124
119
|
}
|
|
125
120
|
|
|
@@ -148,14 +143,12 @@ _ktest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C) {
|
|
|
148
143
|
}
|
|
149
144
|
|
|
150
145
|
static __inline__ unsigned char __DEFAULT_FN_ATTRS
|
|
151
|
-
_ktestc_mask64_u8(__mmask64 __A, __mmask64 __B)
|
|
152
|
-
{
|
|
146
|
+
_ktestc_mask64_u8(__mmask64 __A, __mmask64 __B) {
|
|
153
147
|
return (unsigned char)__builtin_ia32_ktestcdi(__A, __B);
|
|
154
148
|
}
|
|
155
149
|
|
|
156
150
|
static __inline__ unsigned char __DEFAULT_FN_ATTRS
|
|
157
|
-
_ktestz_mask64_u8(__mmask64 __A, __mmask64 __B)
|
|
158
|
-
{
|
|
151
|
+
_ktestz_mask64_u8(__mmask64 __A, __mmask64 __B) {
|
|
159
152
|
return (unsigned char)__builtin_ia32_ktestzdi(__A, __B);
|
|
160
153
|
}
|
|
161
154
|
|
|
@@ -171,9 +164,8 @@ _kadd_mask32(__mmask32 __A, __mmask32 __B)
|
|
|
171
164
|
return (__mmask32)__builtin_ia32_kaddsi((__mmask32)__A, (__mmask32)__B);
|
|
172
165
|
}
|
|
173
166
|
|
|
174
|
-
static __inline__ __mmask64 __DEFAULT_FN_ATTRS
|
|
175
|
-
|
|
176
|
-
{
|
|
167
|
+
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kadd_mask64(__mmask64 __A,
|
|
168
|
+
__mmask64 __B) {
|
|
177
169
|
return (__mmask64)__builtin_ia32_kadddi((__mmask64)__A, (__mmask64)__B);
|
|
178
170
|
}
|
|
179
171
|
|
|
@@ -214,8 +206,7 @@ _load_mask32(__mmask32 *__A) {
|
|
|
214
206
|
return (__mmask32)__builtin_ia32_kmovd(*(__mmask32 *)__A);
|
|
215
207
|
}
|
|
216
208
|
|
|
217
|
-
static __inline__ __mmask64 __DEFAULT_FN_ATTRS
|
|
218
|
-
_load_mask64(__mmask64 *__A) {
|
|
209
|
+
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _load_mask64(__mmask64 *__A) {
|
|
219
210
|
return (__mmask64)__builtin_ia32_kmovq(*(__mmask64 *)__A);
|
|
220
211
|
}
|
|
221
212
|
|
|
@@ -224,8 +215,8 @@ _store_mask32(__mmask32 *__A, __mmask32 __B) {
|
|
|
224
215
|
*(__mmask32 *)__A = __builtin_ia32_kmovd((__mmask32)__B);
|
|
225
216
|
}
|
|
226
217
|
|
|
227
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
228
|
-
|
|
218
|
+
static __inline__ void __DEFAULT_FN_ATTRS _store_mask64(__mmask64 *__A,
|
|
219
|
+
__mmask64 __B) {
|
|
229
220
|
*(__mmask64 *)__A = __builtin_ia32_kmovq((__mmask64)__B);
|
|
230
221
|
}
|
|
231
222
|
|
|
@@ -1714,9 +1705,8 @@ _mm512_maskz_set1_epi8 (__mmask64 __M, char __A)
|
|
|
1714
1705
|
(__v64qi) _mm512_setzero_si512());
|
|
1715
1706
|
}
|
|
1716
1707
|
|
|
1717
|
-
static __inline__ __mmask64 __DEFAULT_FN_ATTRS
|
|
1718
|
-
|
|
1719
|
-
{
|
|
1708
|
+
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _mm512_kunpackd(__mmask64 __A,
|
|
1709
|
+
__mmask64 __B) {
|
|
1720
1710
|
return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A,
|
|
1721
1711
|
(__mmask64) __B);
|
|
1722
1712
|
}
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
#define __AVX512CDINTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS
|
|
18
|
+
#define __DEFAULT_FN_ATTRS \
|
|
19
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
20
|
+
__target__("avx512cd,evex512"), __min_vector_width__(512)))
|
|
19
21
|
|
|
20
22
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
21
23
|
_mm512_conflict_epi64 (__m512i __A)
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
#define __AVX512DQINTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq"), __min_vector_width__(512)))
|
|
19
|
-
#define __DEFAULT_FN_ATTRS
|
|
18
|
+
#define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq,evex512"), __min_vector_width__(512)))
|
|
19
|
+
#define __DEFAULT_FN_ATTRS \
|
|
20
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
21
|
+
__target__("avx512dq,no-evex512")))
|
|
20
22
|
|
|
21
23
|
static __inline __mmask8 __DEFAULT_FN_ATTRS
|
|
22
24
|
_knot_mask8(__mmask8 __M)
|
|
@@ -167,9 +167,13 @@ typedef enum
|
|
|
167
167
|
} _MM_MANTISSA_SIGN_ENUM;
|
|
168
168
|
|
|
169
169
|
/* Define the default attributes for the functions in this file. */
|
|
170
|
-
#define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512f"), __min_vector_width__(512)))
|
|
171
|
-
#define __DEFAULT_FN_ATTRS128
|
|
172
|
-
|
|
170
|
+
#define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512f,evex512"), __min_vector_width__(512)))
|
|
171
|
+
#define __DEFAULT_FN_ATTRS128 \
|
|
172
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
173
|
+
__target__("avx512f,no-evex512"), __min_vector_width__(128)))
|
|
174
|
+
#define __DEFAULT_FN_ATTRS \
|
|
175
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
176
|
+
__target__("avx512f,no-evex512")))
|
|
173
177
|
|
|
174
178
|
/* Create vectors with repeated elements */
|
|
175
179
|
|
|
@@ -22,13 +22,15 @@ typedef _Float16 __m512h_u __attribute__((__vector_size__(64), __aligned__(1)));
|
|
|
22
22
|
|
|
23
23
|
/* Define the default attributes for the functions in this file. */
|
|
24
24
|
#define __DEFAULT_FN_ATTRS512 \
|
|
25
|
-
__attribute__((__always_inline__, __nodebug__,
|
|
26
|
-
__min_vector_width__(512)))
|
|
25
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
26
|
+
__target__("avx512fp16,evex512"), __min_vector_width__(512)))
|
|
27
27
|
#define __DEFAULT_FN_ATTRS256 \
|
|
28
|
-
__attribute__((__always_inline__, __nodebug__,
|
|
28
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
29
|
+
__target__("avx512fp16,no-evex512"), \
|
|
29
30
|
__min_vector_width__(256)))
|
|
30
31
|
#define __DEFAULT_FN_ATTRS128 \
|
|
31
|
-
__attribute__((__always_inline__, __nodebug__,
|
|
32
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
33
|
+
__target__("avx512fp16,no-evex512"), \
|
|
32
34
|
__min_vector_width__(128)))
|
|
33
35
|
|
|
34
36
|
static __inline__ _Float16 __DEFAULT_FN_ATTRS512 _mm512_cvtsh_h(__m512h __a) {
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
#define __IFMAINTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS
|
|
18
|
+
#define __DEFAULT_FN_ATTRS \
|
|
19
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
20
|
+
__target__("avx512ifma,evex512"), __min_vector_width__(512)))
|
|
19
21
|
|
|
20
22
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
21
23
|
_mm512_madd52hi_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
|
|
@@ -15,8 +15,14 @@
|
|
|
15
15
|
#define __IFMAVLINTRIN_H
|
|
16
16
|
|
|
17
17
|
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS128
|
|
19
|
-
|
|
18
|
+
#define __DEFAULT_FN_ATTRS128 \
|
|
19
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
20
|
+
__target__("avx512ifma,avx512vl,no-evex512"), \
|
|
21
|
+
__min_vector_width__(128)))
|
|
22
|
+
#define __DEFAULT_FN_ATTRS256 \
|
|
23
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
24
|
+
__target__("avx512ifma,avx512vl,no-evex512"), \
|
|
25
|
+
__min_vector_width__(256)))
|
|
20
26
|
|
|
21
27
|
#define _mm_madd52hi_epu64(X, Y, Z) \
|
|
22
28
|
((__m128i)__builtin_ia32_vpmadd52huq128((__v2di)(X), (__v2di)(Y), \
|
|
@@ -14,9 +14,6 @@
|
|
|
14
14
|
#ifndef __AVX512PFINTRIN_H
|
|
15
15
|
#define __AVX512PFINTRIN_H
|
|
16
16
|
|
|
17
|
-
/* Define the default attributes for the functions in this file. */
|
|
18
|
-
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512pf")))
|
|
19
|
-
|
|
20
17
|
#define _mm512_mask_prefetch_i32gather_pd(index, mask, addr, scale, hint) \
|
|
21
18
|
__builtin_ia32_gatherpfdpd((__mmask8)(mask), (__v8si)(__m256i)(index), \
|
|
22
19
|
(void const *)(addr), (int)(scale), \
|
|
@@ -92,6 +89,4 @@
|
|
|
92
89
|
__builtin_ia32_scatterpfqps((__mmask8)(mask), (__v8di)(__m512i)(index), \
|
|
93
90
|
(void *)(addr), (int)(scale), (int)(hint))
|
|
94
91
|
|
|
95
|
-
#undef __DEFAULT_FN_ATTRS
|
|
96
|
-
|
|
97
92
|
#endif
|