http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ubizjak at gmail dot com --- Comment #27 from H.J. Lu <hjl.tools at gmail dot com> 2012-08-12 22:30:32 UTC --- (In reply to comment #25) > (In reply to comment #20) > > X86 doesn't support __int128 and requires SSE for TImode. > > We may need to limit those testcases for int128 target. > > If targeting struct's to TImode is supported on x86 targets then perhaps this > definition will need to be refer to 128 bit target support? > > #define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TARGET_64BIT ? TImode : DImode) > > Off-hand, I don't know the target macro that does this. There are: rs6000/rs6000.h:#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TARGET_POWERPC64 ? TImode : DImode) s390/s390.h:#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TARGET_64BIT ? TImode : DImode) Please try this patch: diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index c4d85b7..6c4c2ce 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1853,6 +1853,10 @@ do { \ /* #define SLOW_UNALIGNED_ACCESS(MODE, ALIGN) 0 */ +/* An integer expression for the size in bits of the largest integer machine + mode that should actually be used. We allow pairs of registers. */ +#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TARGET_64BIT ? TImode : DImode) + /* Define this macro if it is as good or better to call a constant function address than to call an address kept in a register.