Hi!
I upgraded from MPSS 3.4.6 to 3.6.1 today and am now facing difficulties compiling my native MIC application.
Including <algorithm> and compiling with C++ 11 produces a slew of errors in x86intrin.h. Apparently the headers for intrinsics reference some non-existent compiler built-ins.
You can easily reproduce the problem by compiling
#include <algorithm> int main(int argc, char** argv) { }
with
icl /Qmic -std=c++11 mictest.cpp -o test
The result is several errors of the form
In file included from C:/Program Files/Intel/MPSS//x86_64-mpsssdk-linux/usr/lib/k1om-mpss-linux/gcc/k1om-mpss-linux/5.1.1/include/x86intrin.h(76),
from C:/Program Files/Intel/MPSS//k1om-mpss-linux/usr/include/c++/k1om-mpss-linux/bits/opt_random.h(33),
from C:/Program Files/Intel/MPSS//k1om-mpss-linux/usr/include/c++/random(50),
from C:/Program Files/Intel/MPSS//k1om-mpss-linux/usr/include/c++/bits/stl_algo.h(66),
from C:/Program Files/Intel/MPSS//k1om-mpss-linux/usr/include/c++/algorithm(62),
from mictest.cpp(1):
C:/Program Files/Intel/MPSS//x86_64-mpsssdk-linux/usr/lib/k1om-mpss-linux/gcc/k1om-mpss-linux/5.1.1/include/adxintrin.h(36): error: identifier "__builtin_ia32_sbb_u32" is undefined
return __builtin_ia32_sbb_u32 (__CF, __Y, __X, __P);
^
Has anyone observerd the same error or knows a workaround? Is this an error with the header files distributed with MPSS 3.6.1 or do I need to change the way I cross compile for MIC?
My environment is Windows 8.1 with all current updates, MPSS 3.6.1, Intel C++ Version 16.0.1.146 Build 20151021
thanks for your help,
Stefan