diff options
author | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2012-06-24 17:33:21 +0100 |
---|---|---|
committer | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2012-06-24 17:33:21 +0100 |
commit | d0d077b21218034df2518c86981670281f9a142c (patch) | |
tree | 2464743f42dc69a82e92fe19df1a547a0efc8af6 /Eigen | |
parent | 172af9facc25161bd7cca75905b563782f966d4b (diff) |
Fix bug in evaluators with sliced vectorization.
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/AssignEvaluator.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Eigen/src/Core/AssignEvaluator.h b/Eigen/src/Core/AssignEvaluator.h index d52e9647e..7d1bb5cdd 100644 --- a/Eigen/src/Core/AssignEvaluator.h +++ b/Eigen/src/Core/AssignEvaluator.h @@ -567,8 +567,7 @@ struct copy_using_evaluator_impl<DstXprType, SrcXprType, SliceVectorizedTraversa enum { packetSize = PacketTraits::size, alignable = PacketTraits::AlignedOnScalar, - dstAlignment = alignable ? Aligned : int(copy_using_evaluator_traits<DstXprType,SrcXprType>::DstIsAligned) , - srcAlignment = copy_using_evaluator_traits<DstXprType,SrcXprType>::JointAlignment + dstAlignment = alignable ? Aligned : int(copy_using_evaluator_traits<DstXprType,SrcXprType>::DstIsAligned) }; const Index packetAlignedMask = packetSize - 1; const Index innerSize = dst.innerSize(); @@ -587,7 +586,7 @@ struct copy_using_evaluator_impl<DstXprType, SrcXprType, SliceVectorizedTraversa // do the vectorizable part of the assignment for(Index inner = alignedStart; inner<alignedEnd; inner+=packetSize) { - dstEvaluator.template copyPacketByOuterInner<dstAlignment, srcAlignment>(outer, inner, srcEvaluator); + dstEvaluator.template copyPacketByOuterInner<dstAlignment, Unaligned>(outer, inner, srcEvaluator); } // do the non-vectorizable part of the assignment |