mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-04 18:54:00 +08:00
Add missing pcmp_lt and others for AVX512
This commit is contained in:
parent
e6b217b8dd
commit
aeec68f77b
@ -283,9 +283,27 @@ EIGEN_STRONG_INLINE Packet16f cat256(Packet8f a, Packet8f b) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
template<> EIGEN_STRONG_INLINE Packet16f pcmp_le(const Packet16f& a, const Packet16f& b) {
|
||||||
|
__m256 lo = pcmp_le(extract256<0>(a), extract256<0>(b));
|
||||||
|
__m256 hi = pcmp_le(extract256<1>(a), extract256<1>(b));
|
||||||
|
return cat256(lo, hi);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<> EIGEN_STRONG_INLINE Packet16f pcmp_lt(const Packet16f& a, const Packet16f& b) {
|
||||||
|
__m256 lo = pcmp_lt(extract256<0>(a), extract256<0>(b));
|
||||||
|
__m256 hi = pcmp_lt(extract256<1>(a), extract256<1>(b));
|
||||||
|
return cat256(lo, hi);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<> EIGEN_STRONG_INLINE Packet16f pcmp_eq(const Packet16f& a, const Packet16f& b) {
|
||||||
|
__m256 lo = pcmp_eq(extract256<0>(a), extract256<0>(b));
|
||||||
|
__m256 hi = pcmp_eq(extract256<1>(a), extract256<1>(b));
|
||||||
|
return cat256(lo, hi);
|
||||||
|
}
|
||||||
|
|
||||||
template<> EIGEN_STRONG_INLINE Packet16f pcmp_lt_or_nan(const Packet16f& a, const Packet16f& b) {
|
template<> EIGEN_STRONG_INLINE Packet16f pcmp_lt_or_nan(const Packet16f& a, const Packet16f& b) {
|
||||||
__m256 lo = _mm256_cmp_ps(extract256<0>(a), extract256<0>(b), _CMP_NGE_UQ);
|
__m256 lo = pcmp_lt_or_nan(extract256<0>(a), extract256<0>(b));
|
||||||
__m256 hi = _mm256_cmp_ps(extract256<1>(a), extract256<1>(b), _CMP_NGE_UQ);
|
__m256 hi = pcmp_lt_or_nan(extract256<1>(a), extract256<1>(b));
|
||||||
return cat256(lo, hi);
|
return cat256(lo, hi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user