Fix packet and alignment propagation logic of Block<Xpr> expressions. In particular, (A+B).col(j) lost vectorisation.

This commit is contained in:
Gael Guennebaud
2017-12-14 14:24:33 +01:00
parent 76c7dae600
commit 9c3aed9d48
2 changed files with 10 additions and 2 deletions

View File

@@ -207,6 +207,12 @@ struct vectorization_logic
VERIFY(test_redux(Vector1(),
LinearVectorizedTraversal,CompleteUnrolling));
VERIFY(test_redux(Vector1().array()*Vector1().array(),
LinearVectorizedTraversal,CompleteUnrolling));
VERIFY(test_redux((Vector1().array()*Vector1().array()).col(0),
LinearVectorizedTraversal,CompleteUnrolling));
VERIFY(test_redux(Matrix<Scalar,PacketSize,3>(),
LinearVectorizedTraversal,CompleteUnrolling));