Micro fusión y modos de direccionamiento

He encontrado algo inesperado (para mí) usando elAnalizador de código de arquitectura Intel® (IACA)

La siguiente instrucción usando[base+index] direccionamiento

addps xmm1, xmmword ptr [rsi+rax*1]

no se fusiona de acuerdo con IACA. Sin embargo, si uso[base+offset] Me gusta esto

addps xmm1, xmmword ptr [rsi]

IACA informa que se fusiona.

Sección 2-11 de laManual de referencia de optimización de Intel da lo siguiente como ejemplo "de micro-operaciones micro fusionadas que pueden ser manejadas por todos los decodificadores"

FADD DOUBLE PTR [RDI + RSI*8]

yManual de montaje de optimización de Agner Fog también da ejemplos de fusión micro-op usando[base+index] direccionamiento. Consulte, por ejemplo, la Sección 12.2 "El mismo ejemplo en Core2". Entonces, ¿cuál es la respuesta correcta?

Respuestas a la pregunta(4)

Su respuesta a la pregunta