Hi,The following program does not compile (linux host, qnx target) when using the gcc 5.1 branch:
#include <immintrin.h>
template <typename T> T func(const T &a, const T &b) {
return a + b;
}
template <> int func<int>(const int &a, const int &b) {
return a-b;
}
template <> __m128 func<__m128>(const __m128 &a, const __m128 &b) {
return _mm_add_ps(a,b);
}
The specialization on __m128 fails with an error about __vector type attributes.
I've traced this to the backported patches from
Reverting those changes fixes the build problem. There are probably related patches that need to be added for the above code to work; but I could not easily determine what changes were needed (something to do with stripping certain kinds of attributes).