From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 79C9B3858D21; Thu, 7 Nov 2024 11:22:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 79C9B3858D21 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1730978542; bh=SJa3fjwTBbwz8IqmPNeyrcllnH1Ep0rP1j9plWDmTyM=; h=From:To:Subject:Date:From; b=SE3xKw0rvyvrTEL0kZIont99nbNjjvmK76fWg8vyyt3HW2fN6IH+2Ro4zSQR927Qj 9ETWbLnjm6hsWe6+llxMI2ofSnNiV7neZ5aXR2B74jAz5P5zxMsHHbK6R/MEK1an/+ ytD+gOfNtaZKErxqmyfgPGb9BhBqDNhSfieUFbVY= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc] math: Fix log10f on some ABIs X-Act-Checkin: glibc X-Git-Author: Adhemerval Zanella X-Git-Refname: refs/heads/master X-Git-Oldrev: 11a2169e4066e6b848f1e6e4c31ec4e2210cecd8 X-Git-Newrev: 12b8dd77182420917a8efdaca03a5e3d77a127f5 Message-Id: <20241107112222.79C9B3858D21@sourceware.org> Date: Thu, 7 Nov 2024 11:22:22 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=12b8dd77182420917a8efdaca03a5e3d77a127f5 commit 12b8dd77182420917a8efdaca03a5e3d77a127f5 Author: Adhemerval Zanella Date: Thu Nov 7 07:51:27 2024 -0300 math: Fix log10f on some ABIs The commit 9247f53219 triggered some regressions on loongarch and riscv: math/test-float-log10 math/test-float32-log10 And it is due a wrong sync with CORE-MATH for special 0.0/-0.0 inputs. Checked on aarch64-linux-gnu and loongarch64-linux-gnu-lp64d. Diff: --- sysdeps/ieee754/flt-32/e_log10f.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sysdeps/ieee754/flt-32/e_log10f.c b/sysdeps/ieee754/flt-32/e_log10f.c index 058ce31f09..03d9e281f3 100644 --- a/sysdeps/ieee754/flt-32/e_log10f.c +++ b/sysdeps/ieee754/flt-32/e_log10f.c @@ -37,9 +37,8 @@ as_special (float x) return x; /* +inf */ uint32_t ax = ux << 1; if (ax == 0u) - { /* -0.0 */ - __math_divzerof (1); - } + /* -0.0 */ + return __math_divzerof (1); if (ax > 0xff000000u) return x + x; /* nan */ return __math_invalidf (x);