Re: [i386] define __SIZEOF_FLOAT128__

2014-04-24 Thread Uros Bizjak
On Thu, Apr 24, 2014 at 7:35 AM, Marc Glisse marc.gli...@inria.fr wrote:

 (Adding an i386 maintainer in Cc)
 http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00620.html


 On Sun, 13 Apr 2014, Marc Glisse wrote:

 Hello,

 some people like having a macro to test if a type is available
 (__SIZEOF_INT128__ for instance). This adds macros for __float80 and
 __float128. The types seem to be always available, so I didn't add any
 condition.

 If you think this is a bad idea, please close the PR.

 Bootstrap+testsuite on x86_64-linux-gnu.

 2014-04-13  Marc Glisse  marc.gli...@inria.fr

 PR preprocessor/56540
 * config/i386/i386-c.c (ix86_target_macros): Define
 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.



 For __SIZEOF_FLOAT80__, you should check TARGET_128BIT_LONG_DOUBLE
 instead of TARGET_64BIT.


 Good point, thanks! It now matches i386-modes.def. Is this version (same
 changelog) ok?

A couple of extra defines won't hurt, and maybe they will be useful to someone.

So, if there are no objections in the next 24h, the patch is OK for mainline.

Thanks,
Uros.


Re: [i386] define __SIZEOF_FLOAT128__

2014-04-23 Thread Marc Glisse

(Adding an i386 maintainer in Cc)
http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00620.html

On Sun, 13 Apr 2014, Marc Glisse wrote:


Hello,

some people like having a macro to test if a type is available 
(__SIZEOF_INT128__ for instance). This adds macros for __float80 and 
__float128. The types seem to be always available, so I didn't add any 
condition.


If you think this is a bad idea, please close the PR.

Bootstrap+testsuite on x86_64-linux-gnu.

2014-04-13  Marc Glisse  marc.gli...@inria.fr

PR preprocessor/56540
* config/i386/i386-c.c (ix86_target_macros): Define
__SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.


--
Marc Glisse


Re: [i386] define __SIZEOF_FLOAT128__

2014-04-23 Thread H.J. Lu
On Wed, Apr 23, 2014 at 11:48 AM, Marc Glisse marc.gli...@inria.fr wrote:
 (Adding an i386 maintainer in Cc)
 http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00620.html


 On Sun, 13 Apr 2014, Marc Glisse wrote:

 Hello,

 some people like having a macro to test if a type is available
 (__SIZEOF_INT128__ for instance). This adds macros for __float80 and
 __float128. The types seem to be always available, so I didn't add any
 condition.

 If you think this is a bad idea, please close the PR.

 Bootstrap+testsuite on x86_64-linux-gnu.

 2014-04-13  Marc Glisse  marc.gli...@inria.fr

 PR preprocessor/56540
 * config/i386/i386-c.c (ix86_target_macros): Define
 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.


For __SIZEOF_FLOAT80__, you should check TARGET_128BIT_LONG_DOUBLE
instead of TARGET_64BIT.

-- 
H.J.


Re: [i386] define __SIZEOF_FLOAT128__

2014-04-23 Thread Marc Glisse

On Wed, 23 Apr 2014, H.J. Lu wrote:


On Wed, Apr 23, 2014 at 11:48 AM, Marc Glisse marc.gli...@inria.fr wrote:

(Adding an i386 maintainer in Cc)
http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00620.html


On Sun, 13 Apr 2014, Marc Glisse wrote:


Hello,

some people like having a macro to test if a type is available
(__SIZEOF_INT128__ for instance). This adds macros for __float80 and
__float128. The types seem to be always available, so I didn't add any
condition.

If you think this is a bad idea, please close the PR.

Bootstrap+testsuite on x86_64-linux-gnu.

2014-04-13  Marc Glisse  marc.gli...@inria.fr

PR preprocessor/56540
* config/i386/i386-c.c (ix86_target_macros): Define
__SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.




For __SIZEOF_FLOAT80__, you should check TARGET_128BIT_LONG_DOUBLE
instead of TARGET_64BIT.


Good point, thanks! It now matches i386-modes.def. Is this version (same 
changelog) ok?


--
Marc GlisseIndex: gcc/config/i386/i386-c.c
===
--- gcc/config/i386/i386-c.c(revision 209721)
+++ gcc/config/i386/i386-c.c(working copy)
@@ -511,20 +511,27 @@ ix86_target_macros (void)
 
   if (!TARGET_80387)
 cpp_define (parse_in, _SOFT_FLOAT);
 
   if (TARGET_LONG_DOUBLE_64)
 cpp_define (parse_in, __LONG_DOUBLE_64__);
 
   if (TARGET_LONG_DOUBLE_128)
 cpp_define (parse_in, __LONG_DOUBLE_128__);
 
+  if (TARGET_128BIT_LONG_DOUBLE)
+cpp_define (parse_in, __SIZEOF_FLOAT80__=16);
+  else
+cpp_define (parse_in, __SIZEOF_FLOAT80__=12);
+
+  cpp_define (parse_in, __SIZEOF_FLOAT128__=16);
+
   cpp_define_formatted (parse_in, __ATOMIC_HLE_ACQUIRE=%d, IX86_HLE_ACQUIRE);
   cpp_define_formatted (parse_in, __ATOMIC_HLE_RELEASE=%d, IX86_HLE_RELEASE);
 
   ix86_target_macros_internal (ix86_isa_flags,
   ix86_arch,
   ix86_tune,
   ix86_fpmath,
   cpp_define);
 }
 


[i386] define __SIZEOF_FLOAT128__

2014-04-13 Thread Marc Glisse

Hello,

some people like having a macro to test if a type is available 
(__SIZEOF_INT128__ for instance). This adds macros for __float80 and 
__float128. The types seem to be always available, so I didn't add any 
condition.


If you think this is a bad idea, please close the PR.

Bootstrap+testsuite on x86_64-linux-gnu.

2014-04-13  Marc Glisse  marc.gli...@inria.fr

PR preprocessor/56540
* config/i386/i386-c.c (ix86_target_macros): Define
__SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.

--
Marc GlisseIndex: gcc/config/i386/i386-c.c
===
--- gcc/config/i386/i386-c.c(revision 209345)
+++ gcc/config/i386/i386-c.c(working copy)
@@ -511,20 +511,27 @@ ix86_target_macros (void)
 
   if (!TARGET_80387)
 cpp_define (parse_in, _SOFT_FLOAT);
 
   if (TARGET_LONG_DOUBLE_64)
 cpp_define (parse_in, __LONG_DOUBLE_64__);
 
   if (TARGET_LONG_DOUBLE_128)
 cpp_define (parse_in, __LONG_DOUBLE_128__);
 
+  if (TARGET_64BIT)
+cpp_define (parse_in, __SIZEOF_FLOAT80__=16);
+  else
+cpp_define (parse_in, __SIZEOF_FLOAT80__=12);
+
+  cpp_define (parse_in, __SIZEOF_FLOAT128__=16);
+
   cpp_define_formatted (parse_in, __ATOMIC_HLE_ACQUIRE=%d, IX86_HLE_ACQUIRE);
   cpp_define_formatted (parse_in, __ATOMIC_HLE_RELEASE=%d, IX86_HLE_RELEASE);
 
   ix86_target_macros_internal (ix86_isa_flags,
   ix86_arch,
   ix86_tune,
   ix86_fpmath,
   cpp_define);
 }