У меня возникли сбои при запуске моего старого кода в системе, которая не поддерживает SSE4.1, я немного отладил и нашел инструкции SSE в glibc, это возможно? Почему об этом не говорится в примечаниях к выпуску gcc 4.8.1?
Вы можете увидеть, какие оптимизации используются GCC с помощью следующей команды:
$ gcc -Q --help=target
Например, на моей машине GCC по умолчанию не включает sse4.1:
$ gcc -Q --help=target | grep msse4.1
-msse4.1 [disabled]
Тем не менее, он поддерживается, потому что он появляется в /proc/cpuinfo
, И действительно, если я прошу GCC оптимизировать сгенерированный код для моей машины, он активирует sse4.1:
$ gcc -Q --help=target -march=native | grep msse4.1
-msse4.1 [enabled]
Других решений пока нет …