https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94163
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
From
/* There's no CCP pass after PRE which would re-compute alignment
information so make sure we re-materialize this here. */
if (gimple_call_builtin_p (call, BUILT_IN_ASSUME_ALIGNED)
&& args.length () - 2 <= 1
&& tree_fits_uhwi_p (args[1])
&& (args.length () != 3 || tree_fits_uhwi_p (args[2])))
{
unsigned HOST_WIDE_INT halign = tree_to_uhwi (args[1]);
unsigned HOST_WIDE_INT hmisalign
= args.length () == 3 ? tree_to_uhwi (args[2]) : 0;
if ((halign & (halign - 1)) == 0
&& (hmisalign & ~(halign - 1)) == 0)
set_ptr_info_alignment (get_ptr_info (forcedname),
halign, hmisalign);
}
where set_ptr_info_alignment ICEs for align == 0. set_ptr_info_alignment
takes unsigned int args but the above computes HWI quantities that get
truncated here.