From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 796AF385C405; Mon, 23 Aug 2021 08:33:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 796AF385C405 From: "clyon at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libgcc/102017] New: libgcc ieee754-df.S for arm does not support exceptions Date: Mon, 23 Aug 2021 08:33:45 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libgcc X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: clyon at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2021 08:33:45 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D102017 Bug ID: 102017 Summary: libgcc ieee754-df.S for arm does not support exceptions Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcc Assignee: unassigned at gcc dot gnu.org Reporter: clyon at gcc dot gnu.org Target Milestone: --- As stated in libgcc/config/arm/ieee754-df.S: * Exceptions aren't supported yet, but that can be added quite easily * if necessary without impacting performances. Since I upgraded the newlib version I use in validation (moved from 3.3.0 to 4.1.0), fenv support is not enabled, thus enabling new tests in the GCC testsuite. Some of them fail at execution time on some targets because the code in lib= gcc does not raise exception as those tests expect: gcc.dg/torture/float32x-nan.c gcc.dg/torture/float64-nan.c gcc.dg/torture/inf-compare-1.c gcc.dg/torture/inf-compare-2.c gcc.dg/torture/inf-compare-3.c gcc.dg/torture/inf-compare-4.c gcc.dg/torture/pr52451.c This happens when targeting cortex-m4 or cortex-m33/-march=3Darmv8-m.main+f= p+dsp. These tests pass when targeting cortex-m7, because it has a DP FPU, and does not use the libgcc emulation code. Some of these tests already have xfail { powerpc*-*-* } or dg-skip-if "fenv= " { powerpc-ibm-aix* }, but I am not sure whether and how we want to do this on= arm (maybe using a dg-skip-if checking for -mcpu/march, but that could be painf= ul). Or do we want to update libgcc to raise exceptions properly?=