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.

Reply via email to