Hello, I have two screenshots of a few constexpr methods I'm using and the code generation and code bloat is different between the two binaries. I would like to have the code generation of the first screenshot (update 2, sorry didn't have symbols for this binary but the source is the same!) but cannot seem to replicate it in Update 3 (second screenshot). Can someone tell me what flags I need to set? Thanks!

I'm having trouble compiling code with icc 2016 update 3 on a clean install of 64-bit Ubuntu 16.04 [icc version 16.0.3 (gcc version 5.0.0 compatibility)]. In many (but by no means all) cases it produces a binary which immediately gives a segfault on execution. The simplest case I have found occurs when compiling with the flag -lirng, but I think it is a deeper problem as I have also observed it in other circumstances when -lirng is not used.

Intel® C++ Compiler 17.0 starts supporting virtual vector functions. A Vector Function (aka SIMD-enabled function) allows you to vectorize a loop containing user-defined functions without inlining them. This is especially helpful for virtual functions, which normally are not inlined, to get vectorized within a loop.

The syntax of a virtual vector function is exactly the same as for usual vector functions1,2.

I'm using Visual Studio 2013, where I created 4 projects - all built with the Intel C++ compiler. 3 of them are static libraries and one contains my main program. The projects use MPI and I've learned that I need to explicitly add the MPI library to the list of libraries in the project.