diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-08-07 10:44:01 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-08-07 10:44:01 +0200 |
commit | ce57dbd937ca250863d4d52f3d0940d57551a25c (patch) | |
tree | 39f15bd3db545a9e52d88ba48c37ddb6083f7ade /Eigen/src/Core/Redux.h | |
parent | 2afdef6a54e7fd09a4a6d5e933cf15ffa129beb6 (diff) |
Let unpacket_traits<> exposes the required alignment and make use of it everywhere
Diffstat (limited to 'Eigen/src/Core/Redux.h')
-rw-r--r-- | Eigen/src/Core/Redux.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Eigen/src/Core/Redux.h b/Eigen/src/Core/Redux.h index fa308b53e..942f51d51 100644 --- a/Eigen/src/Core/Redux.h +++ b/Eigen/src/Core/Redux.h @@ -221,10 +221,10 @@ struct redux_impl<Func, Derived, LinearVectorizedTraversal, NoUnrolling> { const Index size = mat.size(); - const Index packetSize = packet_traits<Scalar>::size; - const int packetBytes = int(packetSize*sizeof(Scalar)); + const Index packetSize = packet_traits<Scalar>::size; + const int packetAlignment = unpacket_traits<PacketScalar>::alignment; enum { - alignment0 = (bool(Derived::Flags & DirectAccessBit) && bool(packet_traits<Scalar>::AlignedOnScalar)) ? int(packetBytes) : int(Unaligned), // FIXME take into account alignment requirement + alignment0 = (bool(Derived::Flags & DirectAccessBit) && bool(packet_traits<Scalar>::AlignedOnScalar)) ? int(packetAlignment) : int(Unaligned), alignment = EIGEN_PLAIN_ENUM_MAX(alignment0, Derived::Alignment) }; const Index alignedStart = internal::first_default_aligned(mat.nestedExpression()); |