Когда я компилирую этот фрагмент кода
unsigned char A[] = {1, 2, 3, 4};
unsigned int
f (unsigned int x)
{
return A[x];
}
gcc выводит
mov edi, edi
movzx eax, BYTE PTR A[rdi]
ret
на машине x86_64.
Вопрос: почему инструкция nop(mov edi, edi) там для?
Я использую gcc-4.4.4.