From: Chuck A. <chu...@ki...> - 2008-11-19 17:03:55
|
I do see a couple issues with the windows implementation: 1. The x87 registers and instructions are being used. While this is fine for Win32, not so much for Win64. For x64 code in Windows, all floating point operations must be done via SSE. 2. Win64 still doesn't support inline assembler. 3. With the /Oi option (msvc8 and msvc9, perhaps earlier, I just can't say for sure) the floor and ceil functions are implemented with intrinsics on all architectures which are very fast. This may be a much cleaner implementation. On Wed, Nov 19, 2008 at 5:26 AM, Tom Vercauteren <tom...@gm...> wrote: > Hi all, > > Some time ago we discussed the optimization of real to integer conversions: > http://sourceforge.net/mailarchive/forum.php?thread_name=28392e8b0808050138r31574c90wddd19c0072a7da3c%40mail.gmail.com&forum_name=vxl-maintainers > > Such an optimization is currently implemented only for vnl_math_rnd on MSVC. > > The attached patch implements the optimization for: > - vnl_math_rnd > - vnl_math_floor > - vnl_math_ceil > on > - gcc > - msvc > > Could a vxl developer review this patch and commit it if deemed reasonable? > > Best regards, > Tom Vercauteren > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Vxl-maintainers mailing list > Vxl...@li... > https://lists.sourceforge.net/lists/listinfo/vxl-maintainers > > |