Micro fusion and addressing modes

Я нашел что-то неожиданное (для меня), используяIntel® Architecture Code Analyzer (МАА).

Следующая инструкция с использованием[base+index] адресация

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

не микроплавкий согласно IACA. Однако, если я использую[base+offset] как это

addps xmm1, xmmword ptr [rsi]

МАКА сообщает, что это действительно взрыватель.

Раздел 2-11 изСправочное руководство по оптимизации Intel в качестве примера приводим следующее «микроплавких микроопераций, которые могут обрабатываться всеми декодерами»

FADD DOUBLE PTR [RDI + RSI*8]

а такжеРуководство по сборке для оптимизации Agner Fog также приводит примеры микрооперации с использованием[base+index] адресации. См., Например, Раздел 12.2 «Тот же пример на Core2». Так какой правильный ответ?

Ответы на вопрос(4)

Ваш ответ на вопрос