diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2010-01-02 12:38:16 -0500 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2010-01-02 12:38:16 -0500 |
commit | 25f8adfa6c6d6019d09f0611e56182c4688bd785 (patch) | |
tree | 3d000e352758948b358b24ae454c4588a141d157 /bench/btl | |
parent | ed5c9728010d891ec1e62fa4ce970c9eb5e66e45 (diff) |
* Fix bug #79: ei_alignmentOffset was assuming that ptr is multiple of
sizeof(Scalar), and that assumption breaks with double on linux x86-32.
* Rename ei_alignmentOffset to ei_first_aligned
* Rewrite its documentation and part of its body
* The variant taking a MatrixBase doesn't need a separate size argument.
Diffstat (limited to 'bench/btl')
-rw-r--r-- | bench/btl/libs/eigen2/eigen2_interface.hh | 2 | ||||
-rwxr-xr-x | bench/btl/libs/hand_vec/hand_vec_interface.hh | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/bench/btl/libs/eigen2/eigen2_interface.hh b/bench/btl/libs/eigen2/eigen2_interface.hh index f93ccad58..f14c8c383 100644 --- a/bench/btl/libs/eigen2/eigen2_interface.hh +++ b/bench/btl/libs/eigen2/eigen2_interface.hh @@ -124,7 +124,7 @@ public : Scalar* A0 = dst.data() + j*dst.stride(); int starti = j; int alignedEnd = starti; - int alignedStart = (starti) + ei_alignmentOffset(&A0[starti], size-starti); + int alignedStart = (starti) + ei_first_aligned(&A0[starti], size-starti); alignedEnd = alignedStart + ((size-alignedStart)/(2*PacketSize))*(PacketSize*2); // do the non-vectorizable part of the assignment diff --git a/bench/btl/libs/hand_vec/hand_vec_interface.hh b/bench/btl/libs/hand_vec/hand_vec_interface.hh index 6080b2460..4b54c03a3 100755 --- a/bench/btl/libs/hand_vec/hand_vec_interface.hh +++ b/bench/btl/libs/hand_vec/hand_vec_interface.hh @@ -265,7 +265,7 @@ public : int starti = j+2; int alignedEnd = starti; - int alignedStart = (starti) + ei_alignmentOffset(&X[starti], N-starti); + int alignedStart = (starti) + ei_first_aligned(&X[starti], N-starti); alignedEnd = alignedStart + ((N-alignedStart)/(PacketSize))*(PacketSize); X[j] += t0 * A0[j]; |