Forgot:
that will also *EXTREMELY* simplify comparison of the results of normal
code and the SSE code.
Just pass correctly aligned buffer to use SSE and pass incorrectly aligned
buffer to use plain code.
On Fri, Oct 10, 2014 at 11:35 PM, Sebastian Kraft <[email protected]>
wrote:
> Am 10.10.2014 um 13:42 schrieb Roman Lebedev:
> >>
> >> - There was two identical *ModifyColor_DeVignetting_PA_SSE2* functions,
> >>> that only were different in loading/storing part (alignment issues), i
> >>> was able to collapse them to 1 function with help of *C++11 Lambdas*.
> >>
> >> Perfect!
> >
> > Now that i have looked at mod-coord-sse.cpp
> > <
> https://github.com/LebedevRI/lensfun/blob/master/libs/lensfun/mod-coord-sse.cpp
> >,
> > and it only works on properly aligned buffers, otherwise falling-back to
> > plain non-SSE code.
>
> This seems to be inconsistant... ModifyCoord_Dist_PTLens_SSE() falls
> back to non SSE code for unaligned buffers. However
> ModifyCoord_UnDist_PTLens_SSE() does not check for alignment but uses
> slow unaligned loads all the time.
>
> From my point of view your solution in mod-color-sse2.cpp is nice for
> this case as it removes duplicate code and allows the use of SSE for
> aligned and unaligned memory.
>
> On the other hand I am not sure if we need SSE code for unaligned
> buffers. AFAIK most recent compilers on 64bit systems align to at least
> 16 bytes by default and most applications use SSE and therefore
> internally already use aligned buffers. I assume that we can expect that
> if a system has support for SSE (all 64bit processors) we get properly
> aligned memory. Of course we need to check and fall back to non SSE code
> if that is not the case.
>
> So adding all the lambdas and different versions might only be relevant
> for a really really low percentage of users and not worth the effort.
> What do you think?
>
> Sebastian
>
>
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://p.sf.net/sfu/Zoho
_______________________________________________
Lensfun-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lensfun-users