Intel® System Studio

Intel C++ Compiler 18 update 2 MacOS thread local compilation failure

#include <iostream>

template <class T> class wrapper {
  static T get() {
    static thread_local T thing(12);
    return thing;

int main() {

And I get this, it compile and function as expected using clang++

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Courier; color: #4d2f2d; background-color: #dfdbc3}
span.s1 {font-variant-ligatures: no-common-ligatures}
span.Apple-tab-span {white-space:pre}

icpc -std=c++11  -g

Yocto integration


I am trying to use the icc toolchain instead of gcc as a cross-compiler for Yocto, rocko branch.
I followed the documentation and installed the Intel system Studio integration layer on top of poky.

while I only tried to rebuild my project, without any specific call to the icc layer
- that means that I only add the layer to bblayer.conf -
I am facing many issue.


std::align_val_t error with c++17 on Mac

Dear Intel-Community,

I’m having trouble compiling any project with std=c++17 on Mac with the latest Intel Compiler 18 Update 2. Even a fresh hello world console project gives me the error:

enum "std::align_val_t" was previously declared with a different base type
  enum class _LIBCPP_ENUM_VIS align_val_t : size_t { };

Are there any additional flags that need to be set in order to compile it with the latest C++ language features?

Intel Compiler for KNL and Skylake X Problem


I have been trying to compile code for AVX512 with -O2 and all the other optimizations. However stumbled upon a small problem.

When using the zmm registers before each arithmetic instruction such as vaddpd, vsubpd, vmulpd, fmaddpd move instructions pop out of the blue. Each time the data from the high zmm registers (16 - 31) is first moved to the low zmm registers and the the operation is being done...

Is this a hardware problem where the instructions only use the low registers or is it a compiler bug?


Subscribe to Intel® System Studio