<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/66710>66710</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[X86] Poor codegen for hand-written abs(char) function
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
vient
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/86bj5z6ab
EDI value is copied to EAX and then to ECX but EDI itself is not used after that. Since it is caller-saved, ECX usage can be omitted, saving one MOV.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxcUcuK3DAQ_Br50oyRpfHr4MNkZw05hAQCYa4tq21r0UiD1J4l-_XBTiCwJyGqurqrCnN2SyAaRP1F1NcCN15jGp6OAhcm2t_DyvzIQl-EGoUal2hN9FzGtAg1fgg1do15qz8aNEJehby8Xr_CE_1G4DJM8eHIAkd4vdwAgwVeKRz_lxuYjWGnO87k550fIsOWyQLOTAl4RS7hpwsTgeNDEL2ndMr4JCvUyyGzZVwIJgxgCOLdMf_FMj5dWCAGgm_ff5WFHbTtdY8FDVXT17KtZa-LdZDneVJt26Ax576V2nRzVc0ordJG274u3KCk0rKvOqWqSuty1tr0lbVEtpubVouzpDs6X3r_vO_RFC7njYamaStZeDTk8xGwUoHe4QCFUnveadhnTmZbsjhL7zLn_yrs2B_N3LpG1Ff4EWOCKVpaKMAcE6wY7Ok97ZYDoMlCddOKSage5i1M7GIotuQ_d-h43Uw5xbtQ477s33N6pPhGEws1HidmocbDwp8AAAD__338sE4">