mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-30 07:44:10 +08:00
Add EIGEN_STRONG_INLINE where required
This commit is contained in:
parent
961ff567e8
commit
4aa667b510
@ -263,14 +263,14 @@ EIGEN_STRONG_INLINE Packet8d pmax<Packet8d>(const Packet8d& a,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef EIGEN_VECTORIZE_AVX512DQ
|
#ifdef EIGEN_VECTORIZE_AVX512DQ
|
||||||
template<int I> Packet8f extract256(Packet16f x) { return _mm512_extractf32x8_ps(x,I); }
|
template<int I> EIGEN_STRONG_INLINE Packet8f extract256(Packet16f x) { return _mm512_extractf32x8_ps(x,I); }
|
||||||
Packet16f cat256(Packet8f a, Packet8f b) { return _mm512_insertf32x8(_mm512_castps256_ps512(a),b,1); }
|
EIGEN_STRONG_INLINE Packet16f cat256(Packet8f a, Packet8f b) { return _mm512_insertf32x8(_mm512_castps256_ps512(a),b,1); }
|
||||||
#else
|
#else
|
||||||
// AVX512F does not define _mm512_extractf32x8_ps to extract _m256 from _m512
|
// AVX512F does not define _mm512_extractf32x8_ps to extract _m256 from _m512
|
||||||
template<int I> Packet8f extract256(Packet16f x) {
|
template<int I> EIGEN_STRONG_INLINE Packet8f extract256(Packet16f x) {
|
||||||
return _mm256_castsi256_ps(_mm512_extracti64x4_epi64( _mm512_castps_si512(x),I));
|
return _mm256_castsi256_ps(_mm512_extracti64x4_epi64( _mm512_castps_si512(x),I));
|
||||||
}
|
}
|
||||||
Packet16f cat256(Packet8f a, Packet8f b) {
|
EIGEN_STRONG_INLINE Packet16f cat256(Packet8f a, Packet8f b) {
|
||||||
return _mm512_castsi512_ps(_mm512_inserti64x4(_mm512_castsi256_si512(_mm256_castps_si256(a)),
|
return _mm512_castsi512_ps(_mm512_inserti64x4(_mm512_castsi256_si512(_mm256_castps_si256(a)),
|
||||||
_mm256_castps_si256(b),1));
|
_mm256_castps_si256(b),1));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user