3 ms·
"That's wishful thinking. GCC isn't able to do that with C language, a 20 years old compiler with a 40 years language. How would a compiler know that you can us
by DannyBee 10y ago
"That's wishful thinking. GCC isn't able to do that with C language, a 20 years old compiler with a 40 years language. How would a compiler know that you can use a SHA2 instruction?"
Well, actually, they could, it's just not worth pattern matching because it occurs so infrequently.
"but history has shown that things like autovectorization are too fragile and can't be relied upon."
Errr, i'd say the opposite. History has shown that good autovectorizing compilers can come pretty damn close to whatever you want.
Usually the only issue is that they may insert too many runtime checks, and that's easily solvable.
- giovannibajo1 10y agoCan you show me an opensource library implementing performance-sensitive computations in any field (graphics, numerics, crypto, etc.) which relies on autovectorization to obtain the performance characteristics that clients rely upon? The large majority of performance-sensitive libraries I know of rely on carefully written native code (C, C++), with a mixture of assembly and/or intrinsics. This, to me, is a failure to concretize autovectorization from textbooks into an industry-accepted solution.