Std Simd Versions Save

std::experimental::simd for GCC [ISO/IEC TS 19570:2018]

simd-1.0.0

5 years ago

This is the first release of an implementation of ISO/IEC TS 19570:2018 [Section 9] for GCC 9 / libstdc++.

It implements explicit support for SSE, AVX, and AVX512 as well as preliminary support for ARM NEON. All other platforms will currently fall back to only having simd_abi::scalar and simd_abi::fixed_size available.

This release supports the following implementation-defined ABI tags (please note that you normally should not use implementation-defined ABI tags — use compatible<T>, native<T>, or deduce_t<T, N>:

  • simd_abi::__sse,
  • simd_abi::__avx,
  • simd_abi::__avx512,
  • simd_abi::__neon64, and
  • simd_abi::__neon128.

There are more implementation-defined ABI tags planned for future releases using partial vector registers and combining multiple registers into one simd object. The latter differes from fixed_size in that fixed_size implements higher ABI stability guarantees and pays for those with possibly less efficient function parameter passing and less efficient masks.