mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Fixes to make generic backend build with AVX512
See merge request libeigen/eigen!2064 Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com>
This commit is contained in:
committed by
Antonio Sánchez
parent
ec93a6d098
commit
fecfa7f27e
@@ -415,6 +415,7 @@ using std::ptrdiff_t;
|
|||||||
#include "src/Core/CoreIterators.h"
|
#include "src/Core/CoreIterators.h"
|
||||||
#include "src/Core/ConditionEstimator.h"
|
#include "src/Core/ConditionEstimator.h"
|
||||||
|
|
||||||
|
#if !defined(EIGEN_VECTORIZE_GENERIC)
|
||||||
#if defined(EIGEN_VECTORIZE_VSX)
|
#if defined(EIGEN_VECTORIZE_VSX)
|
||||||
#include "src/Core/arch/AltiVec/MatrixProduct.h"
|
#include "src/Core/arch/AltiVec/MatrixProduct.h"
|
||||||
#elif defined EIGEN_VECTORIZE_NEON
|
#elif defined EIGEN_VECTORIZE_NEON
|
||||||
@@ -426,6 +427,7 @@ using std::ptrdiff_t;
|
|||||||
#if defined(EIGEN_VECTORIZE_AVX512)
|
#if defined(EIGEN_VECTORIZE_AVX512)
|
||||||
#include "src/Core/arch/AVX512/GemmKernel.h"
|
#include "src/Core/arch/AVX512/GemmKernel.h"
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "src/Core/Select.h"
|
#include "src/Core/Select.h"
|
||||||
#include "src/Core/VectorwiseOp.h"
|
#include "src/Core/VectorwiseOp.h"
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ EIGEN_STRONG_INLINE std::complex<float> predux_mul<Packet8cf>(const Packet8cf& a
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
EIGEN_STRONG_INLINE Packet4cf predux_half_dowto4<Packet8cf>(const Packet8cf& a) {
|
EIGEN_STRONG_INLINE Packet4cf predux_half<Packet8cf>(const Packet8cf& a) {
|
||||||
__m256 lane0 = extract256<0>(a.v);
|
__m256 lane0 = extract256<0>(a.v);
|
||||||
__m256 lane1 = extract256<1>(a.v);
|
__m256 lane1 = extract256<1>(a.v);
|
||||||
__m256 res = _mm256_add_ps(lane0, lane1);
|
__m256 res = _mm256_add_ps(lane0, lane1);
|
||||||
|
|||||||
@@ -541,7 +541,7 @@ EIGEN_CLANG_PACKET_MATH_FLOAT(Packet8d)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// --- Fused Multiply-Add (MADD) ---
|
// --- Fused Multiply-Add (MADD) ---
|
||||||
#if defined(EIGEN_VECTORIZE_FMA) && __has_builtin(__builtin_elementwise_fma)
|
#if defined(__FMA__) && __has_builtin(__builtin_elementwise_fma)
|
||||||
#define EIGEN_CLANG_PACKET_MADD(PACKET_TYPE) \
|
#define EIGEN_CLANG_PACKET_MADD(PACKET_TYPE) \
|
||||||
template <> \
|
template <> \
|
||||||
EIGEN_STRONG_INLINE PACKET_TYPE pmadd<PACKET_TYPE>(const PACKET_TYPE& a, const PACKET_TYPE& b, \
|
EIGEN_STRONG_INLINE PACKET_TYPE pmadd<PACKET_TYPE>(const PACKET_TYPE& a, const PACKET_TYPE& b, \
|
||||||
|
|||||||
Reference in New Issue
Block a user