Is mov %esi, %esi a no-op or not on x86-64?
问题 I am a bit confused by the comment in one of the header files for the Linux kernel, arch/x86/include/asm/nops.h. It states that <...> the following instructions are NOT nops in 64-bit mode, for 64-bit mode use K8 or P6 nops instead movl %esi,%esi leal 0x00(%esi),%esi <...> I guess the author implied the machine instructions ('89 F6' and '8D 76 00', respectively) there rather than assembly instructions. It follows from the description of LEA in Intel Software Developer's Manual Vol 2A that the