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.