On Friday, July 28, 2017 at 9:30:36 PM UTC-4, Jeffrey Walton wrote: > > ... > We are experiencing some pain points trying to support SSE4, AVX and BMI > instruction sets under the compilations models we support. We experimented > with a few different ways to move forward, and we think we found a good one > that involves splitting source files. The test project is located at > https://github.com/noloader/CRC-Test... >
Changes to the library were checked-in on my testing branch at https://github.com/noloader/cryptopp/. The check-in of interest is https://github.com/noloader/cryptopp/commit/fe9e21dd. If interested, here's the CRC gear in the new configuration: * https://github.com/noloader/cryptopp/blob/master/crc.cpp * https://github.com/noloader/cryptopp/blob/master/crc-simd.cpp Things look good on first pass. Linux x86_64 tested good on old and new machines. Linux and ARMv8 also tested good. Windows x64 tested good with VS2012. Travis and AppVeyor also produced expected results (both have some expected failures, like Travis and the old Xcode compiler that can't handle UBsan). cpu.cpp is going to need some tweaking. I think we need to move function bodies, like HasCRC32(), into the appropriate source file so some code paths get activated as expected. Benchmarks are showing a 0.1 cpb drop on Linux. It looks like its due to Stack Clash remediations, and not freestanding functions like CRC32C_Update_SSE42. Jeff -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.