У меня есть процессор Xeon W3550, который должен поддерживать набор инструкций SSE4.2, но когда я пытаюсь использовать что-либо после SSE2 в моей программе на c, я получаю ошибку компилятора, например,
#error "SSE4.2 instruction set not enabled"
Когда я использую
$cat /procs/cpuinfo
, он обнаруживает все соответствующие наборы инструкций sse, но
$cpuid
обнаруживает только SSE и SSE2.
Моя операционная система - Ubuntu 11.04 с ядром 2.6..38-11-generic.
Есть идеи, как это исправить?Спасибо.
РЕДАКТИРОВАТЬ: обновление на основе комментария Steve-o ниже.Заголовочные файлы <* mmintrin.h> выполняют проверку версии sse, с которой они связаны, используя директиву препроцессора #ifndef, например,
#ifndef __SSSE3__
#error "SSSE3 instruction set not enabled".
Так что я думаю, что вопрос в том, почему это возвращается ложнонесмотря на то, что процессор включен SSSE3.