------- Comment #1 from matz at gcc dot gnu dot org 2006-05-18 16:07 ------- Like so perhaps. It fixes the ICE for me, but I've done no further testing:
--- s390.c.orig 2006-05-18 18:05:59.442621578 +0200 +++ config/s390/s390.c 2006-05-18 18:05:34.632630936 +0200 @@ -2731,6 +2731,9 @@ legitimate_address_p (enum machine_mode return false; if (ad.indx && !REG_OK_FOR_INDEX_STRICT_P (ad.indx)) return false; + if (!ad.base && !ad.indx + && !s390_short_displacement (ad.disp)) + return false; } else { -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27661