From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61979 invoked by alias); 4 Dec 2018 10:07:54 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 61904 invoked by uid 89); 4 Dec 2018 10:07:52 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: =?ISO-8859-1?Q?No, score=2.1 required=5.0 tests=BAYES_00,BODY_8BITS,FREEMAIL_FROM,GARBLED_BODY,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=2018=e5=b9=b412=e6, =b1=e4=ba, Hx-languages-length:1770, 201812?= X-HELO: mail-it1-f193.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=yK2WG9tlL9E8+PRVwQX7YpGqrFKaxKQGxlpvJS9LYv8=; b=U1o3WwML7thLvK1H41KFujxeF0+f0vdP4IQauQZKFY5CIXieOe86CTJcZO399rTWZ1 SukmKyyE3LrAzpwoOVf21ypOZhpYcpP6AWlyuEYEGVhPRMkwuTsvcN7FqbK429MKGj7i qK4EYnHanAs2I6UBsN1NBtys1fYydcFGl+8P9hKbXpf7bmgWEaCSvNPSy2mEIFt0CI3V 27NZSgD7xNzBSsUGc1e0jQ8fLz7Io7OieO/QFvMilWjZ51/XZg+dgiZ4o0FGJ9krz8lI BdPzUrO1wN1VaXpkoYMiwX8GpeXJ803lLLiSLbokTXejvNu0zDmt76DuXFqk80JTsrEX xH7w== MIME-Version: 1.0 References: <4048196580b0ecbde3abea83c3a61fe9fb6429ec.1543572707.git.zongbox@gmail.com> In-Reply-To: From: Zong Li Date: Tue, 04 Dec 2018 10:07:00 -0000 Message-ID: Subject: Re: [PATCH v4 06/10] RISC-V: Regenerate ULPs of RISC-V To: joseph@codesourcery.com Cc: Palmer Dabbelt , darius@bluespec.com, Andrew Waterman , dj@redhat.com, libc-alpha@sourceware.org, Zong Li Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-SW-Source: 2018-12/txt/msg00095.txt.bz2 Joseph Myers =E6=96=BC 2018=E5=B9=B412=E6=9C=884= =E6=97=A5 =E9=80=B1=E4=BA=8C =E4=B8=8A=E5=8D=882:11=E5=AF=AB=E9=81=93=EF=BC= =9A > > On Sat, 1 Dec 2018, Zong Li wrote: > > > @@ -532,16 +532,16 @@ double: 1 > > float: 1 > > idouble: 1 > > ifloat: 1 > > -ildouble: 1 > > -ldouble: 1 > > +ildouble: 8 > > +ldouble: 8 > > > > Function: Imaginary part of "catan": > > double: 1 > > float: 1 > > idouble: 1 > > ifloat: 1 > > -ildouble: 1 > > -ldouble: 1 > > +ildouble: 4 > > +ldouble: 4 > > This, and the corresponding changes for catanh and in the rvd file, looks > wrong. > > If you look at the results for AArch64, or for float128 for x86_64, you'll > see those have 1ulp here. All these architectures use software floating > point for the binary128 format, so there is no question of differences in > contracting multiply and add into a fused operation producing different > results; rather, the functions for this format should produce identical > results on all such architectures (they might produce slightly different > results in some cases on architectures, such as S/390 and POWER9, where > there is hardware support for this format, if that hardware support > results in the compiler producing fused operations). > > So having different results suggests you either have a soft-fp bug, or a > bug in how soft-fp is configured for RISC-V (or specifically for 32-bit > RISC-V). You should find what inputs produce different results on RISC-V > from AArch64 or x86_64 float128 and trace through the function calls in > question to determine exactly which arithmetic operation is producing > different results, so you can see what result is correct and where the bug > is. > Ok, I would check this and compare the result with AArch64 or x84_64 float1= 28.