3 ms·
Autovectorisation is the main way SIMD hardware gets put into use, whether you think it's pretty poor or not. SIMD came to mainstream in 1995 Pentium MMX and h
by fulafel 5mo ago
Autovectorisation is the main way SIMD hardware gets put into use, whether you think it's pretty poor or not.
SIMD came to mainstream in 1995 Pentium MMX and has been proven rather difficult for compilers to target, but after 30+ years is doing a bit better despite PLT conspiring against it. (see eg CUDA, Futhark etc)
- secondcoming 5mo agoIn my limited experience with looking at autovectorisation compiler output, gcc is quite bad unless you hold its hand, and clang tries to autovectorise everything it sees.
- fulafel 5mo agoThe problem is more in language (or SIMD architecturally, depending on your POV). C semantics block too many of the necessary transformations that autovectorization would need to do.
- saagarjha 5mo agoI think the main way SIMD hardware gets put to use is probably memcpy.