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.

Attachment: gcc-pr20020.patch
Description: Binary data

Reply via email to