__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* Copyright (C) 2019-2024 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Under Section 7 of GPL version 3, you are granted additional
permissions described in the GCC Runtime Library Exception, version
3.1, as published by the Free Software Foundation.
You should have received a copy of the GNU General Public License and
a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
#ifndef _IMMINTRIN_H_INCLUDED
#error "Never use <avx512bf16intrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _AVX512BF16INTRIN_H_INCLUDED
#define _AVX512BF16INTRIN_H_INCLUDED
#if !defined (__AVX512BF16__) || defined (__EVEX512__)
#pragma GCC push_options
#pragma GCC target("avx512bf16,no-evex512")
#define __DISABLE_AVX512BF16__
#endif /* __AVX512BF16__ */
/* Convert One BF16 Data to One Single Float Data. */
extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsbh_ss (__bf16 __A)
{
return __builtin_ia32_cvtbf2sf (__A);
}
#ifdef __DISABLE_AVX512BF16__
#undef __DISABLE_AVX512BF16__
#pragma GCC pop_options
#endif /* __DISABLE_AVX512BF16__ */
#if !defined (__AVX512BF16__) || !defined (__EVEX512__)
#pragma GCC push_options
#pragma GCC target("avx512bf16,evex512")
#define __DISABLE_AVX512BF16_512__
#endif /* __AVX512BF16_512__ */
/* Internal data types for implementing the intrinsics. */
typedef __bf16 __v32bf __attribute__ ((__vector_size__ (64)));
/* The Intel API is flexible enough that we must allow aliasing with other
vector types, and their scalar components. */
typedef __bf16 __m512bh __attribute__ ((__vector_size__ (64), __may_alias__));
/* vcvtne2ps2bf16 */
extern __inline __m512bh
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtne2ps_pbh (__m512 __A, __m512 __B)
{
return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32bf(__A, __B);
}
extern __inline __m512bh
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtne2ps_pbh (__m512bh __A, __mmask32 __B, __m512 __C, __m512 __D)
{
return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32bf_mask(__C, __D, __A, __B);
}
extern __inline __m512bh
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtne2ps_pbh (__mmask32 __A, __m512 __B, __m512 __C)
{
return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32bf_maskz(__B, __C, __A);
}
/* vcvtneps2bf16 */
extern __inline __m256bh
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtneps_pbh (__m512 __A)
{
return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf(__A);
}
extern __inline __m256bh
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtneps_pbh (__m256bh __A, __mmask16 __B, __m512 __C)
{
return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf_mask(__C, __A, __B);
}
extern __inline __m256bh
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtneps_pbh (__mmask16 __A, __m512 __B)
{
return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf_maskz(__B, __A);
}
/* vdpbf16ps */
extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_dpbf16_ps (__m512 __A, __m512bh __B, __m512bh __C)
{
return (__m512)__builtin_ia32_dpbf16ps_v16sf(__A, __B, __C);
}
extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_dpbf16_ps (__m512 __A, __mmask16 __B, __m512bh __C, __m512bh __D)
{
return (__m512)__builtin_ia32_dpbf16ps_v16sf_mask(__A, __C, __D, __B);
}
extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_dpbf16_ps (__mmask16 __A, __m512 __B, __m512bh __C, __m512bh __D)
{
return (__m512)__builtin_ia32_dpbf16ps_v16sf_maskz(__B, __C, __D, __A);
}
extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtpbh_ps (__m256bh __A)
{
return (__m512)_mm512_castsi512_ps ((__m512i)_mm512_slli_epi32 (
(__m512i)_mm512_cvtepi16_epi32 ((__m256i)__A), 16));
}
extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtpbh_ps (__mmask16 __U, __m256bh __A)
{
return (__m512)_mm512_castsi512_ps ((__m512i) _mm512_slli_epi32 (
(__m512i)_mm512_maskz_cvtepi16_epi32 (
(__mmask16)__U, (__m256i)__A), 16));
}
extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtpbh_ps (__m512 __S, __mmask16 __U, __m256bh __A)
{
return (__m512)_mm512_castsi512_ps ((__m512i)(_mm512_mask_slli_epi32 (
(__m512i)__S, (__mmask16)__U,
(__m512i)_mm512_cvtepi16_epi32 ((__m256i)__A), 16)));
}
#ifdef __DISABLE_AVX512BF16_512__
#undef __DISABLE_AVX512BF16_512__
#pragma GCC pop_options
#endif /* __DISABLE_AVX512BF16_512__ */
#endif /* _AVX512BF16INTRIN_H_INCLUDED */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| sanitizer | Folder | 0755 |
|
|
| acc_prof.h | File | 7.28 KB | 0644 |
|
| adxintrin.h | File | 2.77 KB | 0644 |
|
| ammintrin.h | File | 3.14 KB | 0644 |
|
| amxbf16intrin.h | File | 1.75 KB | 0644 |
|
| amxcomplexintrin.h | File | 2.13 KB | 0644 |
|
| amxfp16intrin.h | File | 1.61 KB | 0644 |
|
| amxint8intrin.h | File | 2.04 KB | 0644 |
|
| amxtileintrin.h | File | 3.05 KB | 0644 |
|
| avx2intrin.h | File | 68.38 KB | 0644 |
|
| avx5124fmapsintrin.h | File | 6.39 KB | 0644 |
|
| avx5124vnniwintrin.h | File | 4.16 KB | 0644 |
|
| avx512bf16intrin.h | File | 5.27 KB | 0644 |
|
| avx512bf16vlintrin.h | File | 9 KB | 0644 |
|
| avx512bitalgintrin.h | File | 3.6 KB | 0644 |
|
| avx512bitalgvlintrin.h | File | 5.71 KB | 0644 |
|
| avx512bwintrin.h | File | 101.58 KB | 0644 |
|
| avx512cdintrin.h | File | 5.69 KB | 0644 |
|
| avx512dqintrin.h | File | 91.4 KB | 0644 |
|
| avx512erintrin.h | File | 17.29 KB | 0644 |
|
| avx512fintrin.h | File | 517.42 KB | 0644 |
|
| avx512fp16intrin.h | File | 211.07 KB | 0644 |
|
| avx512fp16vlintrin.h | File | 95.51 KB | 0644 |
|
| avx512ifmaintrin.h | File | 3.39 KB | 0644 |
|
| avx512ifmavlintrin.h | File | 4.69 KB | 0644 |
|
| avx512pfintrin.h | File | 10.05 KB | 0644 |
|
| avx512vbmi2intrin.h | File | 19.07 KB | 0644 |
|
| avx512vbmi2vlintrin.h | File | 36.17 KB | 0644 |
|
| avx512vbmiintrin.h | File | 4.85 KB | 0644 |
|
| avx512vbmivlintrin.h | File | 8.26 KB | 0644 |
|
| avx512vlbwintrin.h | File | 160.71 KB | 0644 |
|
| avx512vldqintrin.h | File | 60.76 KB | 0644 |
|
| avx512vlintrin.h | File | 424.57 KB | 0644 |
|
| avx512vnniintrin.h | File | 4.89 KB | 0644 |
|
| avx512vnnivlintrin.h | File | 7.27 KB | 0644 |
|
| avx512vp2intersectintrin.h | File | 2.09 KB | 0644 |
|
| avx512vp2intersectvlintrin.h | File | 2.62 KB | 0644 |
|
| avx512vpopcntdqintrin.h | File | 3.08 KB | 0644 |
|
| avx512vpopcntdqvlintrin.h | File | 4.62 KB | 0644 |
|
| avxifmaintrin.h | File | 2.49 KB | 0644 |
|
| avxintrin.h | File | 52.12 KB | 0644 |
|
| avxneconvertintrin.h | File | 4.32 KB | 0644 |
|
| avxvnniint16intrin.h | File | 4.47 KB | 0644 |
|
| avxvnniint8intrin.h | File | 4.42 KB | 0644 |
|
| avxvnniintrin.h | File | 3.52 KB | 0644 |
|
| backtrace-supported.h | File | 2.91 KB | 0644 |
|
| backtrace.h | File | 8.93 KB | 0644 |
|
| bmi2intrin.h | File | 3.28 KB | 0644 |
|
| bmiintrin.h | File | 6 KB | 0644 |
|
| bmmintrin.h | File | 1.13 KB | 0644 |
|
| cet.h | File | 2.6 KB | 0644 |
|
| cetintrin.h | File | 3.26 KB | 0644 |
|
| cldemoteintrin.h | File | 1.58 KB | 0644 |
|
| clflushoptintrin.h | File | 1.63 KB | 0644 |
|
| clwbintrin.h | File | 1.55 KB | 0644 |
|
| clzerointrin.h | File | 1.46 KB | 0644 |
|
| cmpccxaddintrin.h | File | 2.82 KB | 0644 |
|
| cpuid.h | File | 10.33 KB | 0644 |
|
| cross-stdarg.h | File | 2.5 KB | 0644 |
|
| emmintrin.h | File | 51.13 KB | 0644 |
|
| enqcmdintrin.h | File | 1.77 KB | 0644 |
|
| f16cintrin.h | File | 3.33 KB | 0644 |
|
| float.h | File | 20.26 KB | 0644 |
|
| fma4intrin.h | File | 8.92 KB | 0644 |
|
| fmaintrin.h | File | 9.88 KB | 0644 |
|
| fxsrintrin.h | File | 2.01 KB | 0644 |
|
| gcov.h | File | 2.87 KB | 0644 |
|
| gfniintrin.h | File | 15.11 KB | 0644 |
|
| hresetintrin.h | File | 1.59 KB | 0644 |
|
| ia32intrin.h | File | 7.68 KB | 0644 |
|
| immintrin.h | File | 2.82 KB | 0644 |
|
| iso646.h | File | 1.24 KB | 0644 |
|
| keylockerintrin.h | File | 4.34 KB | 0644 |
|
| limits.h | File | 6.35 KB | 0644 |
|
| lwpintrin.h | File | 3.33 KB | 0644 |
|
| lzcntintrin.h | File | 2.31 KB | 0644 |
|
| mm3dnow.h | File | 6.91 KB | 0644 |
|
| mm_malloc.h | File | 1.74 KB | 0644 |
|
| mmintrin.h | File | 31.14 KB | 0644 |
|
| movdirintrin.h | File | 2.29 KB | 0644 |
|
| mwaitintrin.h | File | 1.67 KB | 0644 |
|
| mwaitxintrin.h | File | 1.71 KB | 0644 |
|
| nmmintrin.h | File | 1.26 KB | 0644 |
|
| omp.h | File | 12.53 KB | 0644 |
|
| openacc.h | File | 6.25 KB | 0644 |
|
| pconfigintrin.h | File | 2.3 KB | 0644 |
|
| pkuintrin.h | File | 1.7 KB | 0644 |
|
| pmmintrin.h | File | 3.92 KB | 0644 |
|
| popcntintrin.h | File | 1.71 KB | 0644 |
|
| prfchiintrin.h | File | 1.96 KB | 0644 |
|
| prfchwintrin.h | File | 1.41 KB | 0644 |
|
| quadmath.h | File | 9.14 KB | 0644 |
|
| quadmath_weak.h | File | 3.13 KB | 0644 |
|
| raointintrin.h | File | 2.87 KB | 0644 |
|
| rdseedintrin.h | File | 1.97 KB | 0644 |
|
| rtmintrin.h | File | 2.67 KB | 0644 |
|
| serializeintrin.h | File | 1.59 KB | 0644 |
|
| sgxintrin.h | File | 6.92 KB | 0644 |
|
| sha512intrin.h | File | 2.11 KB | 0644 |
|
| shaintrin.h | File | 3.13 KB | 0644 |
|
| sm3intrin.h | File | 2.33 KB | 0644 |
|
| sm4intrin.h | File | 2.25 KB | 0644 |
|
| smmintrin.h | File | 27.53 KB | 0644 |
|
| stdalign.h | File | 1.26 KB | 0644 |
|
| stdarg.h | File | 4.2 KB | 0644 |
|
| stdatomic.h | File | 9.5 KB | 0644 |
|
| stdbool.h | File | 1.46 KB | 0644 |
|
| stdckdint.h | File | 1.47 KB | 0644 |
|
| stddef.h | File | 13.33 KB | 0644 |
|
| stdfix.h | File | 5.86 KB | 0644 |
|
| stdint-gcc.h | File | 9.42 KB | 0644 |
|
| stdint.h | File | 328 B | 0644 |
|
| stdnoreturn.h | File | 1.11 KB | 0644 |
|
| syslimits.h | File | 330 B | 0644 |
|
| tbmintrin.h | File | 5.13 KB | 0644 |
|
| tmmintrin.h | File | 8.15 KB | 0644 |
|
| tsxldtrkintrin.h | File | 1.74 KB | 0644 |
|
| uintrintrin.h | File | 2.25 KB | 0644 |
|
| unwind.h | File | 10.68 KB | 0644 |
|
| usermsrintrin.h | File | 1.88 KB | 0644 |
|
| vaesintrin.h | File | 3.4 KB | 0644 |
|
| varargs.h | File | 139 B | 0644 |
|
| vpclmulqdqintrin.h | File | 2.67 KB | 0644 |
|
| waitpkgintrin.h | File | 1.95 KB | 0644 |
|
| wbnoinvdintrin.h | File | 1.59 KB | 0644 |
|
| wmmintrin.h | File | 4.1 KB | 0644 |
|
| x86gprintrin.h | File | 6.05 KB | 0644 |
|
| x86intrin.h | File | 1.27 KB | 0644 |
|
| xmmintrin.h | File | 43.56 KB | 0644 |
|
| xopintrin.h | File | 28.11 KB | 0644 |
|
| xsavecintrin.h | File | 1.78 KB | 0644 |
|
| xsaveintrin.h | File | 2.42 KB | 0644 |
|
| xsaveoptintrin.h | File | 1.81 KB | 0644 |
|
| xsavesintrin.h | File | 2.11 KB | 0644 |
|
| xtestintrin.h | File | 1.65 KB | 0644 |
|