movl %eax, %eax
or mov eax, eax
, depending on the assembler in use.
see: Intel® 64 and IA-32 Architectures - Software Developer’s Manual, Volume 1, 3.4.1.1 : General-Purpose Registers in 64-Bit Mode.
32-bit operands generate a 32-bit result, zero-extended to a 64-bit result in the destination general-purpose register.
I should also add, in regards to @HansPassant's comment: 7.3.1.7 :
The MOVSXD instruction operates on 64-bit data. It sign-extends a 32-bit value to 64 bits.