https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120144
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So mips64-elf uses long double as 64bit and supports TImode (128bit integer) but MAX_FIXED_MODE_SIZE is incorrectly defined as: #define MAX_FIXED_MODE_SIZE MIPS_LONG_DOUBLE_TYPE_SIZE I think it should be: #define MAX_FIXED_MODE_SIZE (MAX (GET_MODE_BITSIZE (TARGET_64BIT ? TImode : DImode), MIPS_LONG_DOUBLE_TYPE_SIZE)) And that fixes the ICE.