https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114404
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|c |target --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Sounds similar to PR113255. Yes, the code is undefined and you should cast the pointers to uintptr_t but for the RTL problem that won't help. Note the increment of 'plt' is similarly invalid so that has to be uintptr_t as well. It might be that different (no) REG_POINTER marking will then avoid the latent PR113255 issue from triggering. It might be that the s390 cpymem expander does some bogus REG_POINTER marking as well (or that it lacks marking, causing the heuristics to go wrong). You can check whether backporting the PR113255 fix avoids the issue, but I do not consider backporting the revs suitable.