After writing code, I've realized that the link_llvm_intrinsics
feature is not a feature I want to use. Rather, I'd like to see explicit SIMD (internally based on the platform_intrinsics
feature) stabilized instead.
The reason why I'd like to see explicit SIMD stabilized in 2017 (hopefully early 2017) is that I'd like to land encoding_rs
in Firefox sooner rather than later, but the most performance-sensitive conversion pair, decoding 100% ASCII or almost 100% ASCII labeled as UTF-8 to UTF-16 (affects the Firefox startup path as well as CSS and JS on the Web even if the content isn't English), would regress in performance without explicit SSE2. (Look for row "English, UTF-8" column "uconv" under "Decode" in the second table of the linked doc: only 63% of Gecko's current decode speed if explicit SSE2 isn't used by encoding_rs
but over twice as fast as the current code if explicit SSE2 is used.)