From owner-freebsd-ppc@freebsd.org Mon Dec 21 22:41:00 2015 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D4D4DA4EB04 for ; Mon, 21 Dec 2015 22:41:00 +0000 (UTC) (envelope-from andreast-list@fgznet.ch) Received: from smtp.fgznet.ch (unknown [IPv6:2001:4060:1:1001::14:54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9E5A919C3 for ; Mon, 21 Dec 2015 22:41:00 +0000 (UTC) (envelope-from andreast-list@fgznet.ch) Received: from [192.168.225.14] (dhclient-91-190-14-19.flashcable.ch [91.190.14.19]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by fgznet.ch (Postfix) with ESMTPS id 4C9C1CEC75; Mon, 21 Dec 2015 23:40:49 +0100 (CET) Subject: Re: gcc5 caused an unexpected error for 128 bit floating point numbers To: Jukka Ukkonen , FreeBSD PowerPC ML References: <56767FEB.1080303@gmail.com> From: Andreas Tobler Message-ID: <56787FF0.40102@fgznet.ch> Date: Mon, 21 Dec 2015 23:40:48 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <56767FEB.1080303@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.73 on 127.0.1.1 X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Dec 2015 22:41:00 -0000 On 20.12.15 11:16, Jukka Ukkonen wrote: > > Hello all, > > I installed gcc5 from ports (gcc5-5.3.0) expecting it to be > able to handle 128 bit floating point numbers on ppc64. > It turns out, this does not work quite right. Apparently gcc5 > tries to compile any basic 128 bit floating point operations > to calls to functions like __gcc_qmul, _gcc_qdiv, etc. > If such function wrappers are used at all, I guess they should > be implemented as inline assebler wrappers or something instead > of genuine functions, right? The support for soft float128 is not implemented yet. I excluded the functionality at the time I did the port. I'll revisit. Real float128 support requires a VSX capable cpu, power7+ and up. And this is work in progress on the gcc side. In theory it might be possible to tweak altivec to achive the same but this is not on my top list until reality has settled down, iow until real float128 has entered gcc land and this will happen earliest with gcc-7. Andreas