On Tue, Aug 14, 2012 at 2:34 PM, Gary Funck <g...@intrepid.com> wrote: > Attached, is an updated patch (with change logs). > > The test cases are now in gcc.target/i386 and the > target selection is "dg-require-effective-target int128" only. > > Verified that the tests correctly detect the presence/lack > of TImode support. >
Here is a patch, which passed tests on Linux/x86-64/ia32 with --enable-languages=c,c++,fortran,java,lto,objc,ada,obj-c++,go on Linux/x32 with --enable-languages=c,c++,fortran,java,lto,objc,obj-c++,go I skipped Ada on x32 since Ada run-time library assumes clock_t/time_t are long. I added a target hook, type_blkmode_p, so that a backend can force a type to BLKmode. There is a macro, MEMBER_TYPE_FORCES_BLK. But it will also set struct { long double x; }; to BLKmode instead of XFmode. I think we can replace MEMBER_TYPE_FORCES_BLK with the new type_blkmode_p target hook. -- H.J. --- gcc/ 2012-08-15 H.J. Lu <hongjiu...@intel.com> Gary Funck <g...@intrepid.com> PR target/20020 * stor-layout.c (compute_record_mode): Use BLKmode if targetm.type_blkmode_p returns true. * target.def (type_blkmode_p): New target hook. * doc/tm.texi.in: Regenerated. * doc/tm.texi.in: Likewise. * config/i386/i386.c (ix86_type_blkmode_p): New function. (TARGET_TYPE_BLKMODE_P): New macro. * config/i386/i386.h (MAX_FIXED_MODE_SIZE): New macro. gcc/testsuite/ 2012-08-15 H.J. Lu <hongjiu...@intel.com> Gary Funck <g...@intrepid.com> PR target/20020 * gcc.target/i386/pr20020-1.c: New test. * gcc.target/i386/pr20020-2.c: Likewise. * gcc.target/i386/pr20020-3.c: Likewise.
gcc-pr20020.patch
Description: Binary data