avoid INTEL package compilation failure with upcoming Intel compiler releases
This commit is contained in:
@ -123,7 +123,9 @@ struct vector_ops<double, KNC> {
|
||||
static fvec recip(const fvec &a) { return _mm512_recip_pd(a); }
|
||||
template<int scale>
|
||||
static void gather_prefetch_t0(const ivec &idx, bvec mask, const void *base) {
|
||||
#ifdef __AVX512PF__
|
||||
_mm512_mask_prefetch_i32gather_ps(idx, mask, base, scale, _MM_HINT_T0);
|
||||
#endif
|
||||
}
|
||||
template<int scale>
|
||||
static fvec gather(const fvec &from, bvec mask, const ivec &idx, const void *base) {
|
||||
@ -262,7 +264,9 @@ struct vector_ops<float, KNC> {
|
||||
static fvec recip(const fvec &a) { return _mm512_recip_ps(a); }
|
||||
template<int scale>
|
||||
static void gather_prefetch_t0(const ivec &idx, bvec mask, const void *base) {
|
||||
#ifdef __AVX512PF__
|
||||
_mm512_mask_prefetch_i32gather_ps(idx, mask, base, scale, _MM_HINT_T0);
|
||||
#endif
|
||||
}
|
||||
template<int scale>
|
||||
static fvec gather(const fvec &from, bvec mask, const ivec &idx, const void *base) {
|
||||
|
||||
@ -639,8 +639,10 @@ public:
|
||||
AVEC_BINOP(-, sub)
|
||||
|
||||
VEC_INLINE static void gather_prefetch0(const IVEC_NAME &a, void * mem) {
|
||||
#ifdef __AVX512PF__
|
||||
_mm512_mask_prefetch_i32gather_ps(a.val_, BVEC_NAME::full().val_, mem,
|
||||
sizeof(FVEC_SCAL_T), _MM_HINT_T0);
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
@ -697,8 +699,10 @@ public:
|
||||
AVEC2_BINOP(-, sub)
|
||||
|
||||
VEC_INLINE static void gather_prefetch0(const IVEC_NAME &a, void * mem) {
|
||||
#ifdef __AVX512PF__
|
||||
_mm512_mask_prefetch_i32gather_ps(a.val_, BVEC_NAME::full().val_, mem,
|
||||
sizeof(double), _MM_HINT_T0);
|
||||
#endif
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user