https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68636
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok x86_64 I get
if (zeroIsCavium_2 == 0)
goto <bb 4>;
else
goto <bb 3>;
<bb 3>:
<bb 4>:
# PT = nonlocal
# ALIGN = 536870912, MISALIGN = 8388720
# iftmp.0_1 = PHI <3229614192B(2), 2692743280B(3)>
_4 ={v} *iftmp.0_1;
x ={v} _4;
return;
thus alignment should be sufficient and *iftmp.0_1 should expand to an aligned
load. So you have to dig into RTL expansion to see where it goes wrong for
you.