http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54897
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-10-11 10:11:52 UTC --- Actually, I was wrong about 32-bit HWI, the actual problem is MAX_FIXED_MODE_SIZE. bprecision = MIN (precision + BITS_PER_UNIT_LOG + 1, MAX_FIXED_MODE_SIZE); bprecision = GET_MODE_PRECISION (smallest_mode_for_size (bprecision, MODE_INT)); if (bprecision > HOST_BITS_PER_DOUBLE_INT) bprecision = HOST_BITS_PER_DOUBLE_INT; In cris case that is MIN (32 + 3 + 1, 32), while i?86/x86_64 have 64 resp. 128 (-m32 resp. -m64). So, such change isn't going to improve anything for cris, where simply any variables etc. of size 0x20000000 and larger can't be supported. Targets with similar issues: avr, h8300, mcore, moxie. I'd say the testcase should just be skipped for those targets.