У меня есть процессор 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.
Любые идеи о том, как это исправить? Спасибо.
РЕДАКТИРОВАТЬ: Обновление на основе комментария Стива-о ниже. Файлы заголовков <* mmintrin.h> выполняют проверку версии sse, с которой они связаны, с помощью директивы препроцессора #ifndef например,
#ifndef __SSSE3__
#error "SSSE3 instruction set not enabled".
Итак, я думаю, вопрос в том, почему это возвращается неверно, несмотря на то, что на ЦП включен SSSE3.