aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/Core
diff options
context:
space:
mode:
authorGravatar Konstantinos Margaritis <markos@freevec.org>2016-04-05 22:22:08 +0300
committerGravatar Konstantinos Margaritis <markos@freevec.org>2016-04-05 22:22:08 +0300
commit2bba4ee2cf0b1fb3f80e7cff09c1d1bf6588ad48 (patch)
tree6c323fb36461843286cb03485a4cfb974fe704b9 /Eigen/Core
parent4d7e230d2f8a55c45c1191fe08aa19d41e869a65 (diff)
parent317384b397faee28ad9296778aab478be1fb6b85 (diff)
Merged kmargar/eigen/tip into default
Diffstat (limited to 'Eigen/Core')
-rw-r--r--Eigen/Core10
1 files changed, 10 insertions, 0 deletions
diff --git a/Eigen/Core b/Eigen/Core
index 24799f32b..e44819383 100644
--- a/Eigen/Core
+++ b/Eigen/Core
@@ -197,6 +197,10 @@
#define EIGEN_VECTORIZE
#define EIGEN_VECTORIZE_NEON
#include <arm_neon.h>
+ #elif (defined __s390x__ && defined __VEC__)
+ #define EIGEN_VECTORIZE
+ #define EIGEN_VECTORIZE_ZVECTOR
+ #include <vecintrin.h>
#endif
#endif
@@ -270,6 +274,8 @@ inline static const char *SimdInstructionSetsInUse(void) {
return "VSX";
#elif defined(EIGEN_VECTORIZE_NEON)
return "ARM NEON";
+#elif defined(EIGEN_VECTORIZE_ZVECTOR)
+ return "S390X ZVECTOR";
#else
return "None";
#endif
@@ -332,6 +338,10 @@ using std::ptrdiff_t;
#include "src/Core/arch/NEON/PacketMath.h"
#include "src/Core/arch/NEON/MathFunctions.h"
#include "src/Core/arch/NEON/Complex.h"
+#elif defined EIGEN_VECTORIZE_ZVECTOR
+ #include "src/Core/arch/ZVector/PacketMath.h"
+ #include "src/Core/arch/ZVector/MathFunctions.h"
+ #include "src/Core/arch/ZVector/Complex.h"
#endif
#include "src/Core/arch/CUDA/Half.h"