aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/arch/NEON/PacketMath.h
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <benoitjacob@google.com>2016-12-19 13:44:46 -0500
committerGravatar Benoit Jacob <benoitjacob@google.com>2016-12-19 13:44:46 -0500
commit751e097c57e84d368d782c4a18b960ed2350c2f0 (patch)
tree2d3b6ae7be25107af050dff158b3621dbfc0bfb0 /Eigen/src/Core/arch/NEON/PacketMath.h
parentfb1d0138ece3206cd67c04893e2a9d6a71594816 (diff)
Use 32 registers on ARM64
Diffstat (limited to 'Eigen/src/Core/arch/NEON/PacketMath.h')
-rw-r--r--Eigen/src/Core/arch/NEON/PacketMath.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/Eigen/src/Core/arch/NEON/PacketMath.h b/Eigen/src/Core/arch/NEON/PacketMath.h
index 2a8f58d74..d392bf3ff 100644
--- a/Eigen/src/Core/arch/NEON/PacketMath.h
+++ b/Eigen/src/Core/arch/NEON/PacketMath.h
@@ -28,11 +28,13 @@ namespace internal {
#define EIGEN_HAS_SINGLE_INSTRUCTION_CJMADD
#endif
-// FIXME NEON has 16 quad registers, but since the current register allocator
-// is so bad, it is much better to reduce it to 8
#ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS
+#if EIGEN_ARCH_ARM64
+#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 32
+#else
#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 16
#endif
+#endif
typedef float32x2_t Packet2f;
typedef float32x4_t Packet4f;