Skip to content

Vc 1.3.0

Compare
Choose a tag to compare
@mattkretz mattkretz released this 27 Oct 12:58

SIMD zero-overhead language license
GCC Support Clang Support ICC Support MSVC Support

Vc is an open source library to ease explicit vectorization of C++ code. It has an intuitive API and provides portability between different compilers and compiler versions as well as portability between different vector instruction sets.

Vc 1.3.0 contains API cleanups, bug fixes, important compiler-specific optimizations & workarounds, and finally supports MSVC again

User Changelog

  • 64-bit MS VisualStudio 2015 support. (See #119 for some of the gory details.)
  • ICC 17 support (#143).
  • GCC 6 support (#125).
  • Workarounds for bad ICC code-gen (#135). Now Vc not only works correctly when compiled with ICC, but also performs as good (or better) as GCC and Clang.
  • Safer and more restrictive subscripting on Vector and Mask. There is a minor source compatibility break involved, since Vector::operator[] returned lvalue references before Vc 1.3 and returns a smart reference (rvalue) now. This change reduces the chance of miscompilation & internal compiler errors and reduces the reliance on non-standard C++ extensions.
  • Support for x32 compilation (like x86_64 but with 32-bit pointers).
  • Added scatter interface to SimdArray (thanks to Kay Jahnke).
  • simd_cast properly works with ADL now (i.e. you don't have to write fully qualified Vc::simd_cast anymore).
  • Added simd_for_each_n (thanks to Hartmut Kaiser).

Developer Changelog