From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27369 invoked by alias); 22 Aug 2012 18:41:09 -0000 Received: (qmail 27344 invoked by uid 22791); 22 Aug 2012 18:41:04 -0000 X-SWARE-Spam-Status: No, hits=-5.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-pb0-f47.google.com (HELO mail-pb0-f47.google.com) (209.85.160.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 22 Aug 2012 18:40:48 +0000 Received: by pbcwy7 with SMTP id wy7so1829608pbc.20 for ; Wed, 22 Aug 2012 11:40:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.240.138 with SMTP id wa10mr54662180pbc.145.1345660847722; Wed, 22 Aug 2012 11:40:47 -0700 (PDT) Received: by 10.66.248.131 with HTTP; Wed, 22 Aug 2012 11:40:47 -0700 (PDT) In-Reply-To: <20120822144141.GA6489@intel.com> References: <20120822144141.GA6489@intel.com> Date: Wed, 22 Aug 2012 18:41:00 -0000 Message-ID: Subject: Re: PATCH: Default to 64-bit long double for Bionic/x86 From: Uros Bizjak To: "H.J. Lu" Cc: gcc-patches@gcc.gnu.org, Maxim Kuvyrkov Content-Type: text/plain; charset=ISO-8859-1 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-08/txt/msg01520.txt.bz2 On Wed, Aug 22, 2012 at 4:41 PM, H.J. Lu wrote: > Long double is the same as double in Bionic. This patch > > 1. Add -mlong-double-80: > 80-bit long double > Enabled for Linux by default. > 2. Add -mlong-double-64: > 64-bit long double > Predefine a new C/C++ macro, __LONG_DOUBLE_64__. > Enabled for Android by default. > > __float80 can still be used for 80-bit long double. Tested on Linux/x86 > and Android/x86. OK to install? > > 2012-08-22 H.J. Lu > > * doc/invoke.texi: Document -mlong-double-64/-mlong-double-80. > > * config/i386/i386.c (flag_opts): Add -mlong-double-64. > (TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic. > > * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if > TARGET_LONG_DOUBLE_64 is true. > (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro. > (WIDEST_HARDWARE_FP_SIZE): Defined to 80. > > * config/i386/i386.opt (mlong-double-80): New option. > (mlong-double-64): Likewise. > > * config/i386/i386-c.c (ix86_target_macros): Define > __LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64. > > gcc/testsuite/ > > 2012-08-22 H.J. Lu > > * gcc.target/i386/long-double-64-1.c: New file. > * gcc.target/i386/long-double-64-2.c: Likewise. > * gcc.target/i386/long-double-64-3.c: Likewise. > * gcc.target/i386/long-double-64-4.c: Likewise. > * gcc.target/i386/long-double-80-1.c: Likewise. > * gcc.target/i386/long-double-80-2.c: Likewise. > * gcc.target/i386/long-double-80-3.c: Likewise. > * gcc.target/i386/long-double-80-4.c: Likewise. > * gcc.target/i386/long-double-80-5.c: Likewise. > * gcc.target/i386/long-double-80-6.c: Likewise. > * gcc.target/i386/long-double-80-7.c: Likewise. > > libgcc/ > > 2012-08-22 H.J. Lu > > * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New. OK. Thanks, Uros.