¿Por qué los compiladores producen código de ensamblaje?

El ensamblador convierte el lenguaje ensamblador en lenguaje máquina. ¿Por qué un compilador convertiría lenguaje de alto nivel a ensamblador? ¿No se puede convertir directamente del lenguaje de alto nivel al código de