<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/82340>82340</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
__builtin_unpredictable stops working with load
</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++
using u128 = unsigned __int128;
u128 bad(bool c, u128 a, const u128& m)
{
u128 b = m; // load
return __builtin_unpredictable(c) ? a + b: a;
}
```
produces
```asm
bad(bool, unsigned __int128, unsigned __int128 const&): # @bad(bool, unsigned __int128, unsigned __int128 const&)
mov rax, rsi
test edi, edi
je .LBB0_1
mov rsi, qword ptr [rcx + 8]
mov rcx, qword ptr [rcx]
add rax, rcx
adc rdx, rsi
ret
.LBB0_1:
xor esi, esi
xor ecx, ecx
add rax, rcx
adc rdx, rsi
ret
```
https://godbolt.org/z/zvcoKPfoY
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVE9zmz4Q_TTLRROPWBkMBw7h5-Hy66HXnjz6Z1spIFcSsdtP35EgceLYp2rwCO--t_veAuLem8OodQNFC8U241M4WtfI4577kAmrfjdQ0vmSgG286Bbo8-TNeCBTjhUBtiXTmOoostuZMeRYAVuACzwCBVeAlbC2JxLwv5nN4520ow_pP2BJBsB6IW-WKoSQGS5SuwFYSwhgB9iR3nJ1RTkdJjeS3U5Mpg9m3E3jyWllZOCi14CVBKwJsI5wAtgSAeyZ8KvczXa5ebP90cbJWTVJ7T_G3oHcD3Pk6jO5_DKae8F5BIBl9M6Sk0cLkBFY03_u8j6yuAb7mnbHL5HpvFnyQfsQE1qZmIjbJ-KLnvfVt7alu_xBVZ_Iv87WKXIKjkDROnlJD6CCYvuAJS_3WF_wXKlP2uXlNi_nvLrxtiynwxx488CePwMu1hE9W9C35JhL85nF6q_NH4h7qOpdzt1X8BjCyUeF6eU_WCVsH1bWHQC7P_H3Ku3_3_f2R6YapmpW80w3-YZWa9ywosiOjaAFE3vBCiULyop6k9cMVaXLiuZlXZSZaZDimiLSPKd1XqxEWe01EyVVnCpe7WFN9cBNv-r71yH2zoz3k24qZGua9Vzo3qcTBXHUZ5KSgBgPGNdEzpOYDh7WtDc--GuVYEKvmwefLvHBnjw5W_czHj1nE47p088m1zc3UzHhOImVtANgF6sv29PJ2RctA2CXNHnALmn-GwAA__8dG2UE">