From 8e1f1ba6a6cf0580da6f8756562f94b6410d5e58 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 12 Feb 2016 22:16:59 +0100 Subject: Import wiki's paragraph: "I disabled vectorization, but I'm still getting annoyed about alignment issues" --- doc/UnalignedArrayAssert.dox | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'doc/UnalignedArrayAssert.dox') diff --git a/doc/UnalignedArrayAssert.dox b/doc/UnalignedArrayAssert.dox index 65ab16fb7..f0f84d25f 100644 --- a/doc/UnalignedArrayAssert.dox +++ b/doc/UnalignedArrayAssert.dox @@ -109,7 +109,10 @@ Two possibilities: 128-bit alignment code and thus preserves ABI compatibility, but completely disables vectorization. -For more information, see this FAQ. +If you want to know why defining EIGEN_DONT_VECTORIZE does not by itself disable 128-bit alignment and the assertion, here's the explanation: + +It doesn't disable the assertion, because otherwise code that runs fine without vectorization would suddenly crash when enabling vectorization. +It doesn't disable 128bit alignment, because that would mean that vectorized and non-vectorized code are not mutually ABI-compatible. This ABI compatibility is very important, even for people who develop only an in-house application, as for instance one may want to have in the same application a vectorized path and a non-vectorized path. */ -- cgit v1.2.3