fix vectorization_logic when EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT
diff --git a/test/vectorization_logic.cpp b/test/vectorization_logic.cpp
index b029652..a69a373 100644
--- a/test/vectorization_logic.cpp
+++ b/test/vectorization_logic.cpp
@@ -123,7 +123,8 @@
(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 @@
VERIFY(test_assign(Matrix11(),Matrix<Scalar,17,17>().template block<PacketSize,PacketSize>(2,3)+Matrix<Scalar,17,17>().template block<PacketSize,PacketSize>(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, Aligned, OuterStride<3*PacketSize> >,
- Matrix22
- >(InnerVectorizedTraversal,CompleteUnrolling)));
-
- VERIFY((test_assign<
- Map<Matrix22, Aligned, InnerStride<3*PacketSize> >,
- 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 @@
VERIFY(test_redux(Matrix44r().template block<1,2*PacketSize>(2,1),
LinearVectorizedTraversal,CompleteUnrolling));
+
+ VERIFY((test_assign<
+ Map<Matrix22, Aligned, OuterStride<3*PacketSize> >,
+ Matrix22
+ >(InnerVectorizedTraversal,CompleteUnrolling)));
+
+ VERIFY((test_assign<
+ Map<Matrix22, Aligned, InnerStride<3*PacketSize> >,
+ 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 @@
#ifdef EIGEN_VECTORIZE
- vectorization_logic<float>::run();
- vectorization_logic<double>::run();
- vectorization_logic<std::complex<float> >::run();
- vectorization_logic<std::complex<double> >::run();
+ CALL_SUBTEST( vectorization_logic<float>::run() );
+ CALL_SUBTEST( vectorization_logic<double>::run() );
+ CALL_SUBTEST( vectorization_logic<std::complex<float> >::run() );
+ CALL_SUBTEST( vectorization_logic<std::complex<double> >::run() );
if(internal::packet_traits<float>::Vectorizable)
{