https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80725
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Tried --- s390.c.jj1 2017-04-25 15:54:34.000000000 +0200 +++ s390.c 2017-05-12 15:33:15.816668225 +0200 @@ -3210,6 +3210,8 @@ s390_mem_constraint (const char *str, rt return 0; break; case 'Z': + if (str[1] == 'R' && !address_operand (op, VOIDmode)) + return 0; return s390_check_qrst_address (str[1], op, true); default: return 0; as a hack, but that ICEs elsewhere: rh1450353.c:21:1: error: insn does not satisfy its constraints: } ^ (jump_insn 13 12 14 3 (set (pc) (reg/v:DI 24 %f8 [orig:66 f ] [66])) "rh1450353.c":16 1922 {*indirect_jump} (nil))