https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116498
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at gcc dot gnu.org
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed on trunk,
while (!targetm.valid_pointer_mode (p_mode))
p_mode = GET_MODE_WIDER_MODE (p_mode).require ();
is broken, but I think the code expects it will find a valid_pointer_mode
and this expectation is wrong in this case.
It seems odd that neither Pmode nor ptr_mode is in the set of integer modes
though. Eventually because
/* 20-bit address */
PARTIAL_INT_MODE (SI, 20, PSI);
INT_N (PSI, 20);
it seems PSImode is not found via the above iteration.