/* Copyright (C) 2013-2018 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 <avx512pfintrin.h> directly; include <immintrin.h> instead." #endif #ifndef _AVX512PFINTRIN_H_INCLUDED #define _AVX512PFINTRIN_H_INCLUDED #ifndef __AVX512PF__ #pragma GCC push_options #pragma GCC target("avx512pf") #define __DISABLE_AVX512PF__ #endif /* __AVX512PF__ */ /* Internal data types for implementing the intrinsics. */ typedef long long __v8di __attribute__ ((__vector_size__ (64))); typedef int __v16si __attribute__ ((__vector_size__ (64))); /* The Intel API is flexible enough that we must allow aliasing with other vector types, and their scalar components. */ typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__)); typedef unsigned char __mmask8; typedef unsigned short __mmask16; #ifdef __OPTIMIZE__ extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i32gather_pd (__m256i __index, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfdpd ((__mmask8) 0xFF, (__v8si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i32gather_ps (__m512i __index, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfdps ((__mmask16) 0xFFFF, (__v16si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32gather_pd (__m256i __index, __mmask8 __mask, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfdpd (__mask, (__v8si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32gather_ps (__m512i __index, __mmask16 __mask, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfdps (__mask, (__v16si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i64gather_pd (__m512i __index, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfqpd ((__mmask8) 0xFF, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i64gather_ps (__m512i __index, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfqps ((__mmask8) 0xFF, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64gather_pd (__m512i __index, __mmask8 __mask, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfqpd (__mask, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64gather_ps (__m512i __index, __mmask8 __mask, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfqps (__mask, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i32scatter_pd (void *__addr, __m256i __index, int __scale, int __hint) { __builtin_ia32_scatterpfdpd ((__mmask8) 0xFF, (__v8si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i32scatter_ps (void *__addr, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfdps ((__mmask16) 0xFFFF, (__v16si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32scatter_pd (void *__addr, __mmask8 __mask, __m256i __index, int __scale, int __hint) { __builtin_ia32_scatterpfdpd (__mask, (__v8si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32scatter_ps (void *__addr, __mmask16 __mask, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfdps (__mask, (__v16si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i64scatter_pd (void *__addr, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfqpd ((__mmask8) 0xFF, (__v8di) __index,__addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i64scatter_ps (void *__addr, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfqps ((__mmask8) 0xFF, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64scatter_pd (void *__addr, __mmask16 __mask, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfqpd (__mask, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64scatter_ps (void *__addr, __mmask16 __mask, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfqps (__mask, (__v8di) __index, __addr, __scale, __hint); } #else #define _mm512_prefetch_i32gather_pd(INDEX, ADDR, SCALE, HINT) \ __builtin_ia32_gatherpfdpd ((__mmask8)0xFF, (__v8si)(__m256i) (INDEX), \ (void const *) (ADDR), (int) (SCALE), \ (int) (HINT)) #define _mm512_prefetch_i32gather_ps(INDEX, ADDR, SCALE, HINT) \ __builtin_ia32_gatherpfdps ((__mmask16)0xFFFF, (__v16si)(__m512i) (INDEX), \ (void const *) (ADDR), (int) (SCALE), \ (int) (HINT)) #define _mm512_mask_prefetch_i32gather_pd(INDEX, MASK, ADDR, SCALE, HINT) \ __builtin_ia32_gatherpfdpd ((__mmask8) (MASK), (__v8si)(__m256i) (INDEX), \ (void const *) (ADDR), (int) (SCALE), \ (int) (HINT)) #define _mm512_mask_prefetch_i32gather_ps(INDEX, MASK, ADDR, SCALE, HINT) \ __builtin_ia32_gatherpfdps ((__mmask16) (MASK), (__v16si)(__m512i) (INDEX),\ (void const *) (ADDR), (int) (SCALE), \ (int) (HINT)) #define _mm512_prefetch_i64gather_pd(INDEX, ADDR, SCALE, HINT) \ __builtin_ia32_gatherpfqpd ((__mmask8)0xFF, (__v8di)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_prefetch_i64gather_ps(INDEX, ADDR, SCALE, HINT) \ __builtin_ia32_gatherpfqps ((__mmask8)0xFF, (__v8di)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_mask_prefetch_i64gather_pd(INDEX, MASK, ADDR, SCALE, HINT) \ __builtin_ia32_gatherpfqpd ((__mmask8) (MASK), (__v8di)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_mask_prefetch_i64gather_ps(INDEX, MASK, ADDR, SCALE, HINT) \ __builtin_ia32_gatherpfqps ((__mmask8) (MASK), (__v8di)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_prefetch_i32scatter_pd(ADDR, INDEX, SCALE, HINT) \ __builtin_ia32_scatterpfdpd ((__mmask8)0xFF, (__v8si)(__m256i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_prefetch_i32scatter_ps(ADDR, INDEX, SCALE, HINT) \ __builtin_ia32_scatterpfdps ((__mmask16)0xFFFF, (__v16si)(__m512i) (INDEX),\ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_mask_prefetch_i32scatter_pd(ADDR, MASK, INDEX, SCALE, HINT) \ __builtin_ia32_scatterpfdpd ((__mmask8) (MASK), (__v8si)(__m256i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_mask_prefetch_i32scatter_ps(ADDR, MASK, INDEX, SCALE, HINT) \ __builtin_ia32_scatterpfdps ((__mmask16) (MASK), \ (__v16si)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_prefetch_i64scatter_pd(ADDR, INDEX, SCALE, HINT) \ __builtin_ia32_scatterpfqpd ((__mmask8)0xFF, (__v8di)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_prefetch_i64scatter_ps(ADDR, INDEX, SCALE, HINT) \ __builtin_ia32_scatterpfqps ((__mmask8)0xFF, (__v8di)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_mask_prefetch_i64scatter_pd(ADDR, MASK, INDEX, SCALE, HINT) \ __builtin_ia32_scatterpfqpd ((__mmask8) (MASK), (__v8di)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #define _mm512_mask_prefetch_i64scatter_ps(ADDR, MASK, INDEX, SCALE, HINT) \ __builtin_ia32_scatterpfqps ((__mmask8) (MASK), (__v8di)(__m512i) (INDEX), \ (void *) (ADDR), (int) (SCALE), (int) (HINT)) #endif #ifdef __DISABLE_AVX512PF__ #undef __DISABLE_AVX512PF__ #pragma GCC pop_options #endif /* __DISABLE_AVX512PF__ */ #endif /* _AVX512PFINTRIN_H_INCLUDED */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
sanitizer | Folder | 0755 |
|
|
adxintrin.h | File | 2.8 KB | 0644 |
|
ammintrin.h | File | 3.14 KB | 0644 |
|
avx2intrin.h | File | 57.26 KB | 0644 |
|
avx5124fmapsintrin.h | File | 6.38 KB | 0644 |
|
avx5124vnniwintrin.h | File | 4.16 KB | 0644 |
|
avx512bitalgintrin.h | File | 8.64 KB | 0644 |
|
avx512bwintrin.h | File | 99.13 KB | 0644 |
|
avx512cdintrin.h | File | 5.69 KB | 0644 |
|
avx512dqintrin.h | File | 83.37 KB | 0644 |
|
avx512erintrin.h | File | 12.66 KB | 0644 |
|
avx512fintrin.h | File | 475.38 KB | 0644 |
|
avx512ifmaintrin.h | File | 3.35 KB | 0644 |
|
avx512ifmavlintrin.h | File | 5.26 KB | 0644 |
|
avx512pfintrin.h | File | 10.05 KB | 0644 |
|
avx512vbmi2intrin.h | File | 19.35 KB | 0644 |
|
avx512vbmi2vlintrin.h | File | 36.25 KB | 0644 |
|
avx512vbmiintrin.h | File | 4.81 KB | 0644 |
|
avx512vbmivlintrin.h | File | 8.17 KB | 0644 |
|
avx512vlbwintrin.h | File | 140.48 KB | 0644 |
|
avx512vldqintrin.h | File | 59.88 KB | 0644 |
|
avx512vlintrin.h | File | 414.04 KB | 0644 |
|
avx512vnniintrin.h | File | 4.85 KB | 0644 |
|
avx512vnnivlintrin.h | File | 8.05 KB | 0644 |
|
avx512vpopcntdqintrin.h | File | 3.04 KB | 0644 |
|
avx512vpopcntdqvlintrin.h | File | 4.56 KB | 0644 |
|
avxintrin.h | File | 49.43 KB | 0644 |
|
bmi2intrin.h | File | 3.31 KB | 0644 |
|
bmiintrin.h | File | 5.5 KB | 0644 |
|
bmmintrin.h | File | 1.13 KB | 0644 |
|
cet.h | File | 2.6 KB | 0644 |
|
cetintrin.h | File | 3.25 KB | 0644 |
|
clflushoptintrin.h | File | 1.62 KB | 0644 |
|
clwbintrin.h | File | 1.55 KB | 0644 |
|
clzerointrin.h | File | 1.46 KB | 0644 |
|
cpuid.h | File | 8.72 KB | 0644 |
|
cross-stdarg.h | File | 2.5 KB | 0644 |
|
emmintrin.h | File | 49.84 KB | 0644 |
|
f16cintrin.h | File | 3.33 KB | 0644 |
|
float.h | File | 16.52 KB | 0644 |
|
fma4intrin.h | File | 8.92 KB | 0644 |
|
fmaintrin.h | File | 10.29 KB | 0644 |
|
fxsrintrin.h | File | 2.06 KB | 0644 |
|
gcov.h | File | 1.36 KB | 0644 |
|
gfniintrin.h | File | 14.7 KB | 0644 |
|
ia32intrin.h | File | 7.69 KB | 0644 |
|
immintrin.h | File | 5.33 KB | 0644 |
|
iso646.h | File | 1.24 KB | 0644 |
|
limits.h | File | 5.95 KB | 0644 |
|
lwpintrin.h | File | 3.32 KB | 0644 |
|
lzcntintrin.h | File | 2.34 KB | 0644 |
|
mm3dnow.h | File | 6.91 KB | 0644 |
|
mm_malloc.h | File | 1.74 KB | 0644 |
|
mmintrin.h | File | 30.62 KB | 0644 |
|
movdirintrin.h | File | 2.29 KB | 0644 |
|
mwaitxintrin.h | File | 1.71 KB | 0644 |
|
nmmintrin.h | File | 1.26 KB | 0644 |
|
omp.h | File | 5.85 KB | 0644 |
|
openacc.h | File | 4.53 KB | 0644 |
|
pconfigintrin.h | File | 2.29 KB | 0644 |
|
pkuintrin.h | File | 1.7 KB | 0644 |
|
pmmintrin.h | File | 4.27 KB | 0644 |
|
popcntintrin.h | File | 1.71 KB | 0644 |
|
prfchwintrin.h | File | 1.41 KB | 0644 |
|
rdseedintrin.h | File | 1.97 KB | 0644 |
|
rtmintrin.h | File | 2.67 KB | 0644 |
|
sgxintrin.h | File | 6.92 KB | 0644 |
|
shaintrin.h | File | 3.13 KB | 0644 |
|
smmintrin.h | File | 27.74 KB | 0644 |
|
stdalign.h | File | 1.18 KB | 0644 |
|
stdarg.h | File | 3.98 KB | 0644 |
|
stdatomic.h | File | 9.1 KB | 0644 |
|
stdbool.h | File | 1.49 KB | 0644 |
|
stddef.h | File | 13.81 KB | 0644 |
|
stdfix.h | File | 5.86 KB | 0644 |
|
stdint-gcc.h | File | 9.24 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.12 KB | 0644 |
|
tmmintrin.h | File | 8.15 KB | 0644 |
|
unwind.h | File | 10.65 KB | 0644 |
|
vaesintrin.h | File | 4.55 KB | 0644 |
|
varargs.h | File | 139 B | 0644 |
|
vpclmulqdqintrin.h | File | 3.4 KB | 0644 |
|
wbnoinvdintrin.h | File | 1.58 KB | 0644 |
|
wmmintrin.h | File | 4.55 KB | 0644 |
|
x86intrin.h | File | 2.06 KB | 0644 |
|
xmmintrin.h | File | 41.22 KB | 0644 |
|
xopintrin.h | File | 27.9 KB | 0644 |
|
xsavecintrin.h | File | 1.78 KB | 0644 |
|
xsaveintrin.h | File | 2.46 KB | 0644 |
|
xsaveoptintrin.h | File | 1.86 KB | 0644 |
|
xsavesintrin.h | File | 2.11 KB | 0644 |
|
xtestintrin.h | File | 1.65 KB | 0644 |
|