title: assembly cltq and movslq difference
body: <p>Chapter 3 of <em><a href="http://csapp.cs.cmu.edu/" rel="noreferrer">Computer Systems A Programmer's Perspective</a> (2nd Edition)</em> mentions that<br>
  <code>cltq</code> is equivalent to <code>movslq  %eax, %rax</code>.</p>
  
  <p><strong>Why did they create a new instruction (<code>cltq</code>) instead of just using <code>movslq %eax,%rax</code>?  Isn't that redundant?</strong></p>