what is the purpose of mov %rax,%rax?
I am currently learning ASM by disassembling some of C codes. One thing interested me is that the gcc compiler generates code like this

    movq %rax,%rax

which is obviously meaningless. So what is the purpose of doing that? 

I am wondering if it is used for waste a few cycles of CPU in order to improve the pipeline?

Thank you for your hint!

what is the purpose of mov %rax,%rax?
===

I am currently learning ASM by disassembling some of C codes. One thing interested me is that the gcc compiler generates code like this

    movq %rax,%rax

which is obviously meaningless. So what is the purpose of doing that? 

I am wondering if it is used for waste a few cycles of CPU in order to improve the pipeline?

Thank you for your hint!
