From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 94546 invoked by alias); 27 Feb 2017 23:40:14 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 94070 invoked by uid 89); 27 Feb 2017 23:40:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.8 required=5.0 tests=AWL,BAYES_05,KAM_LAZY_DOMAIN_SECURITY,KHOP_DYNAMIC,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=King, U*meissner, sk:meissne, sebastian X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0b-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.158.5) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 27 Feb 2017 23:40:11 +0000 Received: from pps.filterd (m0098413.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v1RNXfW8019113 for ; Mon, 27 Feb 2017 18:40:10 -0500 Received: from e35.co.us.ibm.com (e35.co.us.ibm.com [32.97.110.153]) by mx0b-001b2d01.pphosted.com with ESMTP id 28vsx7hd8c-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Mon, 27 Feb 2017 18:40:10 -0500 Received: from localhost by e35.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 27 Feb 2017 16:40:09 -0700 Received: from d03dlp02.boulder.ibm.com (9.17.202.178) by e35.co.us.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Mon, 27 Feb 2017 16:40:06 -0700 Received: from b03cxnp08025.gho.boulder.ibm.com (b03cxnp08025.gho.boulder.ibm.com [9.17.130.17]) by d03dlp02.boulder.ibm.com (Postfix) with ESMTP id D025D3E4003F; Mon, 27 Feb 2017 16:40:05 -0700 (MST) Received: from b03ledav006.gho.boulder.ibm.com (b03ledav006.gho.boulder.ibm.com [9.17.130.237]) by b03cxnp08025.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v1RNe5H311862442; Mon, 27 Feb 2017 16:40:05 -0700 Received: from b03ledav006.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id AC9F4C6042; Mon, 27 Feb 2017 16:40:05 -0700 (MST) Received: from ibm-tiger.the-meissners.org (unknown [9.32.77.111]) by b03ledav006.gho.boulder.ibm.com (Postfix) with ESMTP id 917FBC6037; Mon, 27 Feb 2017 16:40:05 -0700 (MST) Received: by ibm-tiger.the-meissners.org (Postfix, from userid 500) id C563B47948; Mon, 27 Feb 2017 18:40:04 -0500 (EST) Date: Mon, 27 Feb 2017 23:40:00 -0000 From: Michael Meissner To: Sebastian Huber Cc: GCC , Michael Meissner , "'Segher Boessenkool" , "' 'David Edelsohn" , "' 'Bill Schmidt" , '@ibm-tiger.the-meissners.org Subject: Re: IEEE 128-bit floating point support for PowerPC RTEMS Mail-Followup-To: Michael Meissner , Sebastian Huber , GCC , 'Segher Boessenkool , ' 'David Edelsohn , ' 'Bill Schmidt , '@ibm-tiger.the-meissners.org References: <58872AA7.2080006@embedded-brains.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <58872AA7.2080006@embedded-brains.de> User-Agent: Mutt/1.5.20 (2009-12-10) X-TM-AS-GCONF: 00 X-Content-Scanned: Fidelis XPS MAILER x-cbid: 17022723-0012-0000-0000-000013C9B349 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00006695; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000205; SDB=6.00827921; UDB=6.00405724; IPR=6.00605440; BA=6.00005174; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00014466; XFM=3.00000011; UTC=2017-02-27 23:40:07 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17022723-0013-0000-0000-00004BCC0481 Message-Id: <20170227234004.GA24698@ibm-tiger.the-meissners.org> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-02-27_18:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1612050000 definitions=main-1702270218 X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00123.txt.bz2 On Tue, Jan 24, 2017 at 11:21:27AM +0100, Sebastian Huber wrote: > Hello, > > some time ago IEEE 128-bit floating point support for PowerPC was > added to GCC: > > https://gcc.gnu.org/wiki/Ieee128PowerPC > > I noticed some issues for RTEMS in this area. Firstly, RTEMS had no > __powerpc__ builtin define, so some source files were effectively > disabled, e.g. ibm-ldouble.c. With __powerpc__ defined, the > ibm-ldouble.c didn't compile due to: > > In file included from /home/EB/sebastian_h/archive/gcc-git/libgcc/config/rs6000/ibm-ldouble.c:374:0: > /home/EB/sebastian_h/archive/gcc-git/libgcc/soft-fp/quad.h:72:1: > error: unable to emulate 'TF' > typedef float TFtype __attribute__ ((mode (TF))); > ^~~~~~~ > > I added > > #define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128 > > #undef TARGET_IEEEQUAD > #define TARGET_IEEEQUAD 1 > > This fixed the problem above and changes the long double type from 8 > bytes to 16 bytes. > > The new compiler defines now (powerpc-rtems target): > > #define __LONG_DOUBLE_128__ 1 > #define __LONGDOUBLE128 1 > #define __LONG_DOUBLE_IEEE128__ 1 > > However, the libgcc multilib build fails due to several ICEs. See > attached errors.log. > > Is this supposed to work for 32-bit PowerPC. Did I miss some magic > configuration switch? Please check this patch: https://gcc.gnu.org/ml/gcc-patches/2017-02/msg00861.html It has fixes for building on a 32-bit systems and non-VSX systems. Now, when I did the initial float128 work, as far as I could tell, long double was not enabled to be 128-bits on RTEMS. If it is now enabled, there may be gotchas, since RTEMS would be the only PowerPC system to use 128-bit floating point and use IEEE 128-bit instead of IBM double-double that the other PowerPC systems currently use. So it may be your call whether you want to enable it, and get it to work, or default back to long double == double. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797