<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64531>64531</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
missing optimisations: combining conditions
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DenisYaroshevskiy
</td>
</tr>
</table>
<pre>
Two functions:
```
bool tst1(int a0, int a1, int b0, int b1) {
return (a0 > a1) || (a0 == a1 && b0 < b1);
}
bool tst2(int a0, int a1, int b0, int b1) {
return (a0 > a1) | (a0 == a1 && b0 < b1);
}
```
Produce different assembly https://godbolt.org/z/jfEW5Y4nx
I think it should be the same assembly.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyskslu3DAMhp-GvhAZaPE2Bx-acQz01kOBIkfJosdKZGlgyUmnT1_YszTtsQggUNRP8ccHgipGe_REDRSPULSZWtIY5qYlb-OzmkMc6S2-2nOmgzk3398DDovvkw0-gvwCrAV2iyW7nu2pQ3CYYuIgausTKgbigFvGb5m-a5qD2CNUj5dmxJnSMnsEUSuGIJ-2rvXHAarDXW5Btqg4gihBlKhX7XAxA3n1gqr9iHnjEp_N9Z9Qf0_tEr_NwSw9obHDQDOtbDHSpN0Zx5RO2-RFB6I7BqODS7swH0F0v0B0L8PTj-I59z8_-n3FNFr_ijZhHMPiDGrCNBJGNdHde5eZRpq93KuMGl7uecGkECwbG15VuhrKSlMtK6pUxYu6Nn3ek5G655TZRjAhWc1qnjPGi12uTSW15sNQ5FJSCTmjSVm3c-5tWnEzG-NCTZkXkmdOaXJxW0EhPL3jVgQh1o2cm7XnQS_HCDlzNqb4xyXZ5KiZbIzWHzGckp1sVLf1xD5M2vq11Adv7KZny-yaf8Zo07joXR8mEN3qfb0eTnN4oT6B6DaiCKLbiH8HAAD___Sy7sc">