On Tue, Aug 14, 2012 at 2:34 PM, Gary Funck <[email protected]> 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 <[email protected]>
Gary Funck <[email protected]>
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 <[email protected]>
Gary Funck <[email protected]>
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
