Pregunta

Estoy utilizando el procesador Intel Core2Duo E4500. Se supone que tienen SSE3, SSSE3 instalaciones. Pero si trato de usarlos en programas que muestra el siguiente error "conjunto de instrucciones SSE3 no permitido"

¿Alguna idea?

¿Fue útil?

Solución

CPU-Z para comprobar si hay disponibles conjuntos de instrucciones.

Si está utilizando Visual Studio, no es una opción en C/C++ -> Code Generation -> Enable Enhanced Instruction Set.

Aquí está cómo habilitarlo en gcc .

Desde el enlace de arriba:

-msse3
-mssse3

Otros consejos

En Linux, tiene una mirada en el campo flags de la salida de cat /proc/cpuinfo

Trate de añadir estas opciones de línea de comando gcc:

-march=core2 -msse3

Y, probablemente, también es una buena idea para encender optimizaciones SSE para las operaciones de punto flotante:

-mfpmath=sse

Si se compila en la misma máquina en la que estará ejecutando su código, con cualquier gcc reciente que debería ser capaz de utilizar -march=native para aprovechar todas sus funciones de la CPU. Se debe decirle a continuación, durante la compilación, si está utilizando instrucciones no compatible en el asm.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top