<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57576>57576</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[X86][13 regression] Suboptimial i128 subtraction
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
chfast
</td>
</tr>
</table>
<pre>
```c
typedef unsigned __int128 u128;
u128 sub(u128 x, u128 y) {
return x - y;
}
```
is
```asm
sub rax, rdx
sbb rsi, 0
sub rsi, rcx
```
should be
```asm
sub rax, rdx
sbb rsi, rcx
```
https://godbolt.org/z/c3x6qKz7K
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytUstu5CAQ_Bq4oIwwfmAOHJKM9pLjXvYWgcE2EWNmeSSefP1iPNmsRtqcgnBTTbWrS4B06sJBh_c5AHwE-D5ezlrpEaUlmGnRCj0_myVWpEcpB1A_7GV73LZQSBKQvsAVkMdShy6AMATotRrl4XVMfkErusvkXxl6vIIPG__Km3BDinD6FNxG7l1WL0prr9YbXl75YDYe_-fvnfXD-oWZMLtkFZL6mz193XWPc4znAOp7QH7kOTklnY0H56ecvedvqNfu99M7fYKaV11HmpYywqDitWI1EzCaaDUH7cOvvgPtMYOqzhcyeR2CcUveQj-TdOdoTkZYZK7XGr0YYuZh8pbfeDBxTvIwuFNOrH39WO7O3r3oIebUhJB0yKClLe3gzFnfkKxc0UaOaqwaopqqkrSSmnSSygZaIbUNm09AyKLfUJHIOBuEhhNMCGa4w6wluD8oIhlVVI5Mj23PFGiwPgljD5uP7XCg58WSTFPIpDUhhk9ShPLAy7Fs-iLF2Xk-zKMIEZbOvDj_A4-T3sI">