diff options
Diffstat (limited to 'third_party/eigen3')
-rw-r--r-- | third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint | 9 | ||||
-rw-r--r-- | third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX2.h | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint b/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint index 9d6b9c3f01..8e55a1f3e8 100644 --- a/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint +++ b/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint @@ -31,8 +31,15 @@ #include "src/FixedPoint/FixedPointTypes.h" // Use optimized implementations whenever available -#ifdef EIGEN_VECTORIZE_AVX2 +#ifdef EIGEN_VECTORIZE_AVX512 +#include "src/Tensor/TensorContractionThreadPool.h" +#include "src/FixedPoint/PacketMathAVX512.h" +#include "src/FixedPoint/TypeCastingAVX512.h" + +#elif defined EIGEN_VECTORIZE_AVX2 #define EIGEN_USE_OPTIMIZED_INT8_UINT8_MAT_MAT_PRODUCT +#define EIGEN_USE_OPTIMIZED_INT16_INT16_MAT_MAT_PRODUCT +#include "src/Tensor/TensorContractionThreadPool.h" #include "src/FixedPoint/PacketMathAVX2.h" #include "src/FixedPoint/MatMatProductAVX2.h" #include "src/FixedPoint/TypeCastingAVX2.h" diff --git a/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX2.h b/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX2.h index e71c2d8aea..98deb1742e 100644 --- a/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX2.h +++ b/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX2.h @@ -46,6 +46,7 @@ typedef struct Packet4q32i { Packet4q32i(__m128i val) : val(val) {} } Packet4q32i; +#ifndef EIGEN_VECTORIZE_AVX512 template <> struct packet_traits<QInt8> : default_packet_traits { typedef Packet32q8i type; @@ -112,6 +113,7 @@ struct packet_traits<QInt32> : default_packet_traits { HasSetLinear = 0 }; }; +#endif template <> struct unpacket_traits<Packet32q8i> { |