O que o alinhamento com o limite de 16 bytes significa em x86
Guia de otimização oficial da Intel tem um capítulo sobre a conversão de comandos MMX para SSE, onde eles afirmam a seguinte declaração:
Instruções de computação que usam um operando de memória que pode não estar alinhado a um limite de 16 bytes devem ser substituídas por um carregamento de 128 bits não alinhado (MOVDQU) seguido pela mesma operação de computação que usa operandos de registro.
(capítulo 5.8 Convertendo de números inteiros SIMD de 64 bits para 128 bits, pág. 5-43)
Eu não consigo entender o que eles querem dizer com "não pode ser alinhado a um limite de 16 bytes", poderia, por favor, esclarecê-lo e dar alguns exemplos?