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.

Reply via email to