From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1778) id B7EA0385840A; Mon, 24 Oct 2022 18:57:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B7EA0385840A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1666637835; bh=aEnvr0VHe0AX+xy94IQEfoDNgfm5cb7zM1hjWM4hzkU=; h=From:To:Subject:Date:From; b=A2DivPdGy4ISlrfyTBqQW8b/+YrAIBfDHwhuJW/DWBuwUQiXdEMlVrd2MFa1iVxii W+HrmTnTnYUy7SeDu18KdpIg9+q3uBinKFsSqcfg9aybXxAAh6JBwHdm1h7265XpFz jCP3bpP1IB660i2jSHC+3Yp9Po75NHWyP/TvqtqI= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Aurelien Jarno To: glibc-cvs@sourceware.org Subject: [glibc/release/2.36/master] Fix BZ #29463 in the ibm128 implementation of y1l too X-Act-Checkin: glibc X-Git-Author: Michael Hudson-Doyle X-Git-Refname: refs/heads/release/2.36/master X-Git-Oldrev: 19535f3b57306ea3ec559a6c0b10d2d7a87418a7 X-Git-Newrev: b357157361117182c7a68c90fda7ba431b64442c Message-Id: <20221024185715.B7EA0385840A@sourceware.org> Date: Mon, 24 Oct 2022 18:57:14 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b357157361117182c7a68c90fda7ba431b64442c commit b357157361117182c7a68c90fda7ba431b64442c Author: Michael Hudson-Doyle Date: Mon Aug 22 14:05:04 2022 +1200 Fix BZ #29463 in the ibm128 implementation of y1l too Avoid moving code across SET_RESTORE_ROUNDL in order to fix [BZ #29463]. Tested-by: Aurelien Jarno Reviewed-by: Aurelien Jarno Reviewed-by: Tulio Magno Quites Machado Filho (cherry picked from commit b6e37b7805b0182c3e25cdab39ebf5f001c04d05) Diff: --- sysdeps/ieee754/ldbl-128ibm/e_j1l.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c index f85ba94466..0a5fe68342 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c @@ -792,10 +792,13 @@ __ieee754_y1l (long double x) { /* 0 <= x <= 2 */ SET_RESTORE_ROUNDL (FE_TONEAREST); + xx = math_opt_barrier (xx); + x = math_opt_barrier (x); z = xx * xx; p = xx * neval (z, Y0_2N, NY0_2N) / deval (z, Y0_2D, NY0_2D); p = -TWOOPI / xx + p; p = TWOOPI * __ieee754_logl (x) * __ieee754_j1l (x) + p; + math_force_eval (p); return p; }