simongog/sdsl-lite — pull request #197 by diegohavenstein (2014-08-29 13:31:57+00:00)
Title: Popcnt vectorization

Hi Simon!

As I told you some months ago in an E-Mail, I have been working on a Range-Min-Max Tree implementation. I decided to share my implementation for the population count function with you, since you are using the __builtin_popcnt and other methods I tested.

The method is similar to this one: http://wm.ite.pl/articles/sse-popcount.html. But it performs even better when AVX2 is available (added to Haswell), about 40% faster than the fastest method on that website.

I added also a CheckAVX2.cmake in the CMakeModules dir

If you have questions do not hesitate to contact me

Best regards,
Diego Havenstein