assembly cltq and movslq difference
<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>