https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111070
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
In this case name1 and name2 are both ADDR_EXPR rather than SSA_NAMES.
We start with:
```
<bb 2> [local count: 1073741822]:
_1 = (long unsigned int) &c_ary[0];
_2 = _1 & 7;
if (_2 != 0)
goto <bb 5>; [34.00%]
else
goto <bb 3>; [66.00%]
<bb 3> [local count: 708669599]:
_3 = (long unsigned int) &d_ary[0];
_4 = _3 & 7;
if (_4 != 0)
```
And ifcombine is trying to optimize it to:
```
_7 = (unsigned long) &d_ary[0];
_8 = (unsigned long) &c_ary[0];
_9 = _7 | _8;
_10 = _9 & 7;
if (_10 != 0)
```
Which is what GCC 13 did.