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); }
|
static fvec recip(const fvec &a) { return _mm512_recip_pd(a); }
|
||||||
template<int scale>
|
template<int scale>
|
||||||
static void gather_prefetch_t0(const ivec &idx, bvec mask, const void *base) {
|
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);
|
_mm512_mask_prefetch_i32gather_ps(idx, mask, base, scale, _MM_HINT_T0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
template<int scale>
|
template<int scale>
|
||||||
static fvec gather(const fvec &from, bvec mask, const ivec &idx, const void *base) {
|
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); }
|
static fvec recip(const fvec &a) { return _mm512_recip_ps(a); }
|
||||||
template<int scale>
|
template<int scale>
|
||||||
static void gather_prefetch_t0(const ivec &idx, bvec mask, const void *base) {
|
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);
|
_mm512_mask_prefetch_i32gather_ps(idx, mask, base, scale, _MM_HINT_T0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
template<int scale>
|
template<int scale>
|
||||||
static fvec gather(const fvec &from, bvec mask, const ivec &idx, const void *base) {
|
static fvec gather(const fvec &from, bvec mask, const ivec &idx, const void *base) {
|
||||||
|
|||||||
@ -639,8 +639,10 @@ public:
|
|||||||
AVEC_BINOP(-, sub)
|
AVEC_BINOP(-, sub)
|
||||||
|
|
||||||
VEC_INLINE static void gather_prefetch0(const IVEC_NAME &a, void * mem) {
|
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,
|
_mm512_mask_prefetch_i32gather_ps(a.val_, BVEC_NAME::full().val_, mem,
|
||||||
sizeof(FVEC_SCAL_T), _MM_HINT_T0);
|
sizeof(FVEC_SCAL_T), _MM_HINT_T0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -697,8 +699,10 @@ public:
|
|||||||
AVEC2_BINOP(-, sub)
|
AVEC2_BINOP(-, sub)
|
||||||
|
|
||||||
VEC_INLINE static void gather_prefetch0(const IVEC_NAME &a, void * mem) {
|
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,
|
_mm512_mask_prefetch_i32gather_ps(a.val_, BVEC_NAME::full().val_, mem,
|
||||||
sizeof(double), _MM_HINT_T0);
|
sizeof(double), _MM_HINT_T0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user