News for hackers. Stuff that matters.
Re:Outperforming LAPACK with C++ metaprogramming by bigcheesegs on Monday January 29, 2018 @07:41PM (#16261964)
Why? The intrinsics aren't portable, the other code is.
Re:Outperforming LAPACK with C++ metaprogramming by dpwm on Monday January 29, 2018 @08:21PM (#16262159)
Even with intrinsics that do have a degree of portability, I prefer the more explicit form of the bit counting just for readability. Nobody has to learn what popcnt means.

These optimizations really mean that as software writers we can declare our intent and have the compiler do safe optimizations.

It seems like these optimizations of Clang are also quite insensitive to the many different ways of writing the same thing that C++ has earned notoriety for.

Re:Outperforming LAPACK with C++ metaprogramming by mpweiher on Tuesday January 30, 2018 @04:26AM (#16263988)
> I prefer the more explicit form

Huh? It's not explicit, the purpose is implicit. You are writing down an algorithm that implements a popcount algorithm. The compiler than has to infer the fact that you actually wanted popcount (maybe you just wanted to waste a bit of time in a timing loop?) and then substitute something based on that inference.

I am all for it being explicit, i.e. some library function that has a name that somewhere mentions "popcount" or some such. Then have the compiler generate whatever code it needs for that function.