diff --git a/test/vectorization_logic.cpp b/test/vectorization_logic.cpp index b029652cf..a69a3738a 100644 --- a/test/vectorization_logic.cpp +++ b/test/vectorization_logic.cpp @@ -123,7 +123,8 @@ template::Vectori (PacketSize==8 ? 4 : PacketSize==4 ? 6 : PacketSize==2 ? ((Matrix11::Flags&RowMajorBit)?2:3) : /*PacketSize==1 ?*/ 1), (PacketSize==8 ? 6 : PacketSize==4 ? 2 : PacketSize==2 ? ((Matrix11::Flags&RowMajorBit)?3:2) : /*PacketSize==1 ?*/ 3) > Matrix3; - + + #if !EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT VERIFY(test_assign(Vector1(),Vector1(), InnerVectorizedTraversal,CompleteUnrolling)); VERIFY(test_assign(Vector1(),Vector1()+Vector1(), @@ -173,25 +174,7 @@ template::Vectori VERIFY(test_assign(Matrix11(),Matrix().template block(2,3)+Matrix().template block(10,4), DefaultTraversal,CompleteUnrolling)); } - - VERIFY(test_assign(MatrixXX(10,10),MatrixXX(20,20).block(10,10,2,3), - SliceVectorizedTraversal,NoUnrolling)); - - VERIFY((test_assign< - Map >, - Matrix22 - >(InnerVectorizedTraversal,CompleteUnrolling))); - - VERIFY((test_assign< - Map >, - Matrix22 - >(DefaultTraversal,CompleteUnrolling))); - - VERIFY((test_assign(Matrix11(), Matrix11()*Matrix11(), InnerVectorizedTraversal, CompleteUnrolling))); - - VERIFY(test_redux(VectorX(10), - LinearVectorizedTraversal,NoUnrolling)); - + VERIFY(test_redux(Matrix3(), LinearVectorizedTraversal,CompleteUnrolling)); @@ -206,6 +189,27 @@ template::Vectori VERIFY(test_redux(Matrix44r().template block<1,2*PacketSize>(2,1), LinearVectorizedTraversal,CompleteUnrolling)); + + VERIFY((test_assign< + Map >, + Matrix22 + >(InnerVectorizedTraversal,CompleteUnrolling))); + + VERIFY((test_assign< + Map >, + Matrix22 + >(DefaultTraversal,CompleteUnrolling))); + + VERIFY((test_assign(Matrix11(), Matrix11()*Matrix11(), InnerVectorizedTraversal, CompleteUnrolling))); + #endif + + VERIFY(test_assign(MatrixXX(10,10),MatrixXX(20,20).block(10,10,2,3), + SliceVectorizedTraversal,NoUnrolling)); + + VERIFY(test_redux(VectorX(10), + LinearVectorizedTraversal,NoUnrolling)); + + } }; @@ -219,10 +223,10 @@ void test_vectorization_logic() #ifdef EIGEN_VECTORIZE - vectorization_logic::run(); - vectorization_logic::run(); - vectorization_logic >::run(); - vectorization_logic >::run(); + CALL_SUBTEST( vectorization_logic::run() ); + CALL_SUBTEST( vectorization_logic::run() ); + CALL_SUBTEST( vectorization_logic >::run() ); + CALL_SUBTEST( vectorization_logic >::run() ); if(internal::packet_traits::Vectorizable) {