https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86547
--- Comment #2 from Ilya Leoshkevich <iii at linux dot ibm.com> --- I dug a bit deeper and found that this used to compile without errors on gcc-4_8_5-release. Bisect points to s390-specific commit 7b1bda1c, which first appeared in gcc-4_9_0-release: 2013-06-06 Vladimir Makarov <vmaka...@redhat.com> * config/s390/s390.opt (mlra): New option. * config/s390/s390.c (s390_decompose_address): Check displacement for all registers for LRA. (s390_secondary_reload): Don't used secondary reloads for LRA. (s390_lra_p): New function. (TARGET_LRA_P): Define. * config/s390/s390.md (*movmem_short, *clrmem_short): Change value of attribute cpu_facility to zarch for the last alternative. (*cmpmem_short): Ditto. This commit appears to have introduced LRA for s390x.