La arquitectura del procesador Pentium I MMX de Intel presenta dos pipes de instrucciones paralelos, lo cual permite aumentar la velocidad de ejecución del código procesado. Sin embargo, no todas las instrucciones pueden aparearse en ambos pipes. Debido a que este hecho no es comúnmente considerado por los programadores y a que las reglas de apareamiento suelen ser complejas, es deseable contar con un optimizador automático que maximice el apareamiento del código assembler sin modificar su semántica, minimizando asi el tiempo de ejecución. Con este fin se presenta un optimizador automático basado en técnicas de List Scheduling, observándose un aumento significativo en la utilización de ambos pipes, con la consecuente disminucióon de los ciclos de máquina requeridos para la ejecución de distintos programas luego de la aplicación del mismo.