Opciones de optimización

12/05/2005 - 12:04 por Msalas | Informe spam
Tengo algunas dudas respecto a algunas opciones de optimización:
1. ¿Con arch:SSE2 se generan instrucciones SSE además de SSE2 o sólo se
generan SSE2?. Si sólo se generan SSE2, ¿se pueden usar conjuntamente
arch:SSE y arch:SSE2?
2. ¿Hay algunas opciones de optimización que generen instrucciones
prefetch?, ¿pueden ser arch:SSE y arch:SSE2?
3. ¿Qué opción se puede usar para que el compilador genere desenrollado de
bucles?
4. Con arch:SSE o arch:SSE2 el compilador genera instrucciones de movimiento
condicional cmov, ¿antes de existir estas opciones del compilador había
alguna otra opción que permitiera generar instrucciones de movimiento
condicional?

Muchas gracias
 

Leer las respuestas

#1 Rodrigo Corral [MVP]
12/05/2005 - 12:51 | Informe spam
SSE2 implica SSE, todos los procesadores que soportan SSE2 soportan SSE.

PREFECT es una instrucción de el conjunto 3DNow! pero no se que parametro
hay que pasarle al compilador para que las utiliza, intuyo que si estableces
el parametro /G7 para el nivel de optimización se uilizará.

Loop unrolling es algo soportado por el optimizador de VC++ desde hace mucho
tiempo. No es necesario hacer nada en particular, simplemente cuando el
optimizador entra en acción verá si es rentable o no hacer esta optimización
y si es rentable la hara. No se puede forzar que la realice hasta donde yo
se.

Algunos articulos interesantes:

Developing Optimized Code with Microsoft Visual C++ 6.0
msdn.microsoft.com/library/ en-us/dnvc60/html/optcode.asp

Microsoft Visual C++ Floating-Point Optimization
msdn.microsoft.com/library/ en-us/dv_vstechart/html/floapoint.asp

Power Your App with the Programming Model and Compiler Optimizations of
Visual C++
http://msdn.microsoft.com/msdnmag/i...fault.aspx

Optimize and Trim Your Code with New Switches in Visual C++ .NET
http://msdn.microsoft.com/msdnmag/i.../bugslayer


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org

Preguntas similares