From patchwork Thu Jan 30 16:28:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860860 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp265051wrr; Thu, 30 Jan 2025 08:31:06 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXl7Uj5OzSCYSpH2K+3E1svCfr5LkIijh2LRDww6WN6saMgvu8U3T+9PwLm2fumEU8JH864hQ==@linaro.org X-Google-Smtp-Source: AGHT+IFXdUUJ5e9Lb0IGtf/BqVTXqJZkBtdOmHBhGD9KAYH/ZIMPXVBj7qLKlK0rPrOf8sQcebbO X-Received: by 2002:a05:6102:3e94:b0:4b6:d659:86ee with SMTP id ada2fe7eead31-4b9a51f36ffmr6981594137.18.1738254665138; Thu, 30 Jan 2025 08:31:05 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738254665; cv=pass; d=google.com; s=arc-20240605; b=PHi69IT66dDU99X8kGNF5Ij3MUIIXPid7t9Ww2rVATI4DGgjxyq+xLSi4VYEYI8Av4 9AhngmhRoIgpW/fUaId6MKJTclXeg3pYg64m0a3LLzOCISPChTSEO8D+kWlbhU9zJ/H2 nldkpTPboiuDb6wq2XQxnQkmJXczy86RpvjXcO14mzbMElRNvwxGGfKMvBPoNRtEZS2g +8yX9T5QjwioUN3rG/ppuqMorvrrjn9epNBz5MG/f8NClqeS59X620PPO0EDvBkWy2HV ZFuW+kVB/SCNZe3XFZV6RKgvpySTazlChTh/n7qKGoHArZfyt6m3baVDPuNZezdU1WtS zmdg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=zOpicE9xZybXoSaMWX6VeLOZiJSYtFFc9kbhaspqUt0=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=NDNOgwUOlzijKhBkeU7M75kO27v6kF7vNJ5mNFhufGyi4YOOPnOwZMvrPGZbCpoFcd SPjXtbIKFqHF0yNnipz97zRQBI7p3tlK/s+sy0Re+PVHo1H5CziQPMlvYfWE5VqqQI4X IHrkI6dOm7UfmfCt8xPUg2+rQPLn9AFw05RNRYj9xrg3xRux7faX82UkjwzNuoe277D2 psiR4Gx1hB6PFGbkMrumwOL6HZI6d0yShGNaIo762s/g6XKqBUpvrNBNPfz8NTHK1BjD KydB+5hRjGY7BB8JVDagULqN4d8YP1ks0Q+R37xPSH9GZwNqgiVT0a+Jf8tO8HmT7mwU IHSw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="HJFib9/R"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id ada2fe7eead31-4b9bad88241si405806137.232.2025.01.30.08.31.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:31:05 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="HJFib9/R"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B039B385770E for ; Thu, 30 Jan 2025 16:31:04 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id 5EE313857B90 for ; Thu, 30 Jan 2025 16:30:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5EE313857B90 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5EE313857B90 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254632; cv=none; b=L8/h8M/tc3WTJQSXeujWgkx2iydOgXi7TrHixP08ZqqIx09cin1zRO/asLsoT4RJk6ZLeTh3zVKFxS8sCk/Hw45eJMAMclOekz+5suW9hIhR/ZO2+JNcrcUGT2dgDYC4R7NfqhZgLHis7Qt1bsJRrN4ML9Asx1uoNDK3xjoWk3A= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254632; c=relaxed/simple; bh=xSem55/zHN0jMYRlp4bhebF1QoTCCN00vcG+4wU93wI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=uI3ToHmPdvI4i+rbs8BHriGpEH7ZKME3ShVotwbqOqg/V1QeX9u4/GbeBGkRc1quh7mEK4QhMzf9duc970KVj/5a4vNI5ql49/qozb3Edvh2rUi4YJVSEeAstlBTsh1ivnxKoU06vlVhfpRJobUdoPnmotL8Kbd6LZM1Bii7BAk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2165cb60719so20628245ad.0 for ; Thu, 30 Jan 2025 08:30:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254631; x=1738859431; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zOpicE9xZybXoSaMWX6VeLOZiJSYtFFc9kbhaspqUt0=; b=HJFib9/RnkQDkq1suJIiJEJIQdHr3z80AzLQvSWEwdhZKMccTvwvDgiAR47WOz1AK4 0R9wPRqGG0vHdNJfTnGvYHcLLYmWk/GICEKhsnudy5WlDyOoIqrUqYY8jUYfOJbhtI4r Q86bdtgylqfzee0b3eJ89+OmjRspj1DPq75nSIsPJTsiQ+AXW39JgcrvhaiIs1HdG75S xoDAJZig2WNSn7sNlmO5e9j1f6OneFwOyrC4mP3Usx5hBqBTdEu/HD8nse3tQLAhhHps QCB+ETEROZNh+S9C8W2mLy9EZrU1Xwago+Id/y7pvZXPKK66vcWrFxT3RnRtcenwHVTl NTfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254631; x=1738859431; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zOpicE9xZybXoSaMWX6VeLOZiJSYtFFc9kbhaspqUt0=; b=gPJVjkaTywCpq6lgpMQUQNEnUsdvj4Wn8S29ystZeIEWlJoKzQOFHb985rtSsZV3ha mBLwV6FEGQVc357j9vrz3Pt3/QxNtcep+Fc8OygraEVND3QuJHRlkXjsuF1HjzjfUh+b m73VSb8JOco4eULKn/CWMy/WpR+Hp1gJ76q+ga71wMo6CaJFvZw2uURgKa7mkcPVWaYW DLgq0jT8MLne36bdtCauneHjF1eqAwVVP4qnkcUqVSJXPJk9sIPAgoE0rkGb2zUB3lLZ 52clKLSfZMSFYzCZFVdMfkluFpk0RohllCnsEc6WOjsXs4o5q7P+bodzQ2v0hR6iGal1 Ca+w== X-Gm-Message-State: AOJu0YxI2QIO5d+EjTpVKsQOuts65IqGWAb9cA8OHA4P4KzeAYw18fIZ Q2Lc54rWngEvoQTwCFlF5PZ3Dq1s++s5eHogLgeS0hpi7IzbxbPgxscvKlFb0u+EUtgclBOvWaN u X-Gm-Gg: ASbGncuGji8Dn6Utq8KjgyLbsj6oeyH53k2kWhMqSGSo5R2gdT0H2cHhsIBI2Iz8n2F NqiGPLbCzulnl0e4aE2tnjbLMlbBL/MeID7PzWvIyzir+4WEw9xSRFJ+F0B6x/6RMk9hR2NZgLP dWNGu2aFu1t3Y7GsrpJJbMJeXNRiBVErBBKvE1vr6Nf7kCBjvAam2bELVVzfV+MNayn6Bwz2G3f TB+H3tWjvD9dugLbNF3oufPI4ikx6He6KC0H2r8I0Sxu7WI1ee81RbsvOJuowcTSVzKG3Tkr9oM sZFGpuxColCvIueIFcjZyBDwRW4= X-Received: by 2002:a05:6a20:9e46:b0:1e0:c56f:7db4 with SMTP id adf61e73a8af0-1ed7a49a2a4mr13908188637.2.1738254630764; Thu, 30 Jan 2025 08:30:30 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:30 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 01/10] benchtests: Add lgammaf_r benchmark Date: Thu, 30 Jan 2025 13:28:57 -0300 Message-ID: <20250130163024.2032523-2-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org Random inputs in the range [-20.0,20.0]. --- benchtests/Makefile | 1 + benchtests/lgammaf_r-inputs | 1005 +++++++++++++++++++++++++++++++++++ 2 files changed, 1006 insertions(+) create mode 100644 benchtests/lgammaf_r-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index b18a9505b7..cd4d2fb73c 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -79,6 +79,7 @@ bench-math := \ j1 \ lgamma \ lgammaf \ + lgammaf_r \ llrint \ llrintf \ log \ diff --git a/benchtests/lgammaf_r-inputs b/benchtests/lgammaf_r-inputs new file mode 100644 index 0000000000..fa4e10ee4d --- /dev/null +++ b/benchtests/lgammaf_r-inputs @@ -0,0 +1,1005 @@ +## args: float: +## ret: float +## includes: math.h +# Random inputs in the range [-20.0,20.0] +## name: workload-random-m20-p20 +-0x1.7eb52p+1 +-0x1.69a06p+3 +-0x1.a042ccp+3 +0x1.7e9dc8p+3 +-0x1.5d8cap+1 +-0x1.1755b4p+4 +0x1.041908p+4 +0x1.075de4p+4 +0x1.4ab608p+3 +0x1.f4b4a8p+3 +0x1.3ff54p+4 +0x1.fdc038p+3 +0x1.56e1p+3 +0x1.9b90e8p+2 +0x1.1b6d8p+0 +0x1.ebe99p+2 +-0x1.32d9f6p+4 +-0x1.077c24p+3 +0x1.98f028p+3 +-0x1.20faf2p+4 +0x1.1363a8p+2 +-0x1.9636p-3 +-0x1.b2ea6ap+3 +0x1.c45a7p+3 +-0x1.f1bd7cp+3 +0x1.18877p+4 +-0x1.c9e64p+0 +0x1.1d1798p+4 +-0x1.0f91dcp+3 +0x1.9e1e5p+2 +-0x1.147684p+3 +-0x1.c2d68p+1 +0x1.6da84p+1 +0x1.90c538p+3 +0x1.83246p+3 +0x1.c7aa6p+3 +0x1.036b18p+2 +0x1.6ccf3p+2 +0x1.2961cp+1 +0x1.e7c7d8p+2 +0x1.f867ep+3 +0x1.b3a65p+1 +0x1.6b55p+1 +-0x1.99d596p+3 +-0x1.95a76cp+3 +-0x1.11793ep+4 +0x1.a2534p+3 +-0x1.f1a64cp+2 +-0x1.dc91b4p+2 +0x1.0f6d04p+3 +-0x1.07058p+1 +-0x1.fedfc6p+3 +-0x1.52c68p-1 +-0x1.6efcp-1 +-0x1.ad3c2p+2 +-0x1.182d2p+0 +0x1.72c268p+2 +0x1.39c078p+2 +-0x1.75d314p+2 +-0x1.3a54c8p+3 +-0x1.9401dp+3 +0x1.f9f848p+2 +-0x1.e4664p+2 +-0x1.f581c4p+2 +0x1.3950e8p+4 +-0x1.19358p+0 +0x1.1f4578p+4 +0x1.3b86p-1 +-0x1.4658bp+1 +-0x1.5a405cp+3 +-0x1.1ba79cp+4 +-0x1.901d4p+0 +0x1.728cep+3 +0x1.3f3e6p+4 +-0x1.cfbbep+3 +-0x1.bb97p+0 +-0x1.5b482p+1 +0x1.1e8bp-2 +-0x1.0ee5aap+4 +-0x1.f752p-2 +0x1.2f51d4p+4 +0x1.259674p+4 +-0x1.1bdf68p+2 +0x1.8c3e18p+3 +-0x1.8102e4p+2 +0x1.8da2a8p+3 +0x1.63d22p+2 +0x1.e1476p+0 +-0x1.74c5ep+1 +0x1.a6118p+3 +-0x1.cd828p+0 +-0x1.337bd6p+4 +0x1.e47aep+2 +-0x1.60d3eep+3 +0x1.065e1cp+3 +0x1.9ab6p-2 +-0x1.2fc746p+4 +0x1.3c28a8p+4 +-0x1.ded2eep+3 +-0x1.d44338p+2 +-0x1.44529cp+3 +0x1.3a3b9p+4 +0x1.c4e34p+0 +0x1.a46d2p+3 +0x1.f90bbp+3 +0x1.36ab2p+4 +0x1.1d5c4p+4 +-0x1.b46ap+2 +-0x1.9a49dp+2 +0x1.ce1468p+3 +0x1.9d6e28p+3 +-0x1.2afb96p+4 +0x1.14c484p+4 +0x1.c8b62p+2 +0x1.0b2fc4p+4 +-0x1.130e1ep+4 +-0x1.07ac9cp+3 +-0x1.a98544p+2 +0x1.c9e418p+3 +0x1.9e3978p+3 +-0x1.8ce2ap+0 +-0x1.070784p+4 +-0x1.fd5a52p+3 +-0x1.a6442p+0 +-0x1.60f7dp+1 +0x1.b47e88p+3 +0x1.de245p+3 +0x1.229394p+3 +0x1.0384c8p+4 +0x1.057fbp+3 +-0x1.fd2bfcp+3 +0x1.ad41fp+3 +0x1.c47a08p+3 +0x1.27e794p+3 +0x1.d44cap+3 +-0x1.92fa8p-2 +-0x1.c413e4p+3 +0x1.3a858p-2 +0x1.210fcp+1 +-0x1.373444p+2 +-0x1.48565p+2 +0x1.f29b5p+3 +-0x1.3af7cp+1 +0x1.a3c87p+1 +-0x1.0f344p-1 +0x1.16744p+4 +0x1.2a06ccp+4 +0x1.23efe4p+4 +-0x1.257758p+4 +0x1.83ff5p+3 +-0x1.089d74p+4 +-0x1.9545ep+0 +-0x1.c682dcp+2 +0x1.17fp+0 +0x1.28db38p+4 +-0x1.600dc6p+3 +0x1.d7f13p+3 +-0x1.c88334p+2 +-0x1.1e2494p+2 +0x1.0346fcp+4 +-0x1.5b582cp+2 +-0x1.fd051p+3 +0x1.a86548p+3 +-0x1.37805ep+4 +-0x1.994474p+3 +0x1.4585ep+2 +0x1.58541p+2 +-0x1.02a9dap+4 +0x1.45ce08p+3 +-0x1.33222p+0 +-0x1.028c1cp+2 +-0x1.0f0e5cp+4 +-0x1.deeacp+2 +-0x1.02de5cp+3 +-0x1.513c6p+1 +-0x1.4af08p-1 +0x1.086f8p+4 +0x1.a2261p+3 +0x1.391728p+4 +0x1.f0f88p+0 +-0x1.968096p+3 +0x1.1611a4p+4 +0x1.c0b57p+3 +-0x1.36ba5p+3 +-0x1.7bacp-5 +-0x1.2ef69ep+4 +-0x1.048fep+2 +0x1.bf8b98p+3 +0x1.325a54p+4 +0x1.206e5p+2 +-0x1.ea23b6p+3 +0x1.3150ecp+3 +-0x1.2063ep+1 +0x1.a0f8dp+3 +0x1.73abcp+0 +0x1.1049cp+0 +-0x1.d3586p+1 +-0x1.27cc18p+2 +0x1.ba6ap-1 +0x1.63ccfp+1 +-0x1.bc6f4p+0 +-0x1.22c0bp+4 +-0x1.18872cp+4 +0x1.6df3dp+1 +0x1.6944c4p+3 +-0x1.ddbf22p+3 +-0x1.7a82cp+0 +-0x1.439ee2p+3 +-0x1.73d2fep+3 +-0x1.211e98p+3 +-0x1.5f885ap+3 +0x1.0f4e08p+3 +0x1.cb8c8p+3 +0x1.d869p+1 +-0x1.4a25bp+3 +0x1.fd608p-2 +0x1.d74f8p-2 +0x1.f4d118p+3 +-0x1.9ae6p+0 +-0x1.072e24p+4 +-0x1.cc707cp+3 +0x1.133c18p+3 +-0x1.90414p+0 +0x1.27941p+1 +0x1.59fb3cp+3 +-0x1.06e858p+2 +-0x1.fcaeap+0 +0x1.eb5dep+1 +-0x1.416c8p+0 +0x1.1c7b6cp+4 +-0x1.2a6e2cp+3 +0x1.2c761cp+4 +0x1.fd71cp+3 +0x1.35e09p+3 +-0x1.acb3a4p+2 +0x1.2e9948p+4 +-0x1.2ee254p+4 +-0x1.a1ea8p-1 +0x1.68304p+0 +0x1.ce08c8p+2 +0x1.d1176p+3 +-0x1.53cd4cp+2 +0x1.342a5p+2 +0x1.c558ap+2 +0x1.9ebf9p+3 +-0x1.9a7f1cp+2 +-0x1.e29dp-3 +-0x1.2ebe4p-1 +-0x1.1ea6b8p+4 +0x1.591968p+3 +0x1.93038p+3 +-0x1.362f32p+3 +0x1.56d2bp+2 +-0x1.6ec0d6p+3 +0x1.ca1f9p+3 +0x1.decdc8p+3 +-0x1.9fdf2p+1 +-0x1.784008p+2 +-0x1.b4c4acp+2 +-0x1.3727bp+4 +-0x1.1d152p+3 +-0x1.55e51cp+3 +-0x1.34c1e8p+3 +-0x1.4cfa88p+2 +-0x1.aa19cp+1 +0x1.600a1cp+3 +0x1.1c161cp+4 +0x1.df4bep+3 +0x1.ef037p+3 +-0x1.34b5ccp+3 +0x1.3a8154p+4 +0x1.014658p+3 +0x1.616fbp+2 +0x1.f607a8p+3 +-0x1.1eb464p+2 +-0x1.6a8d44p+3 +-0x1.302918p+4 +0x1.2637e4p+4 +0x1.1f8b3p+4 +0x1.a98fbp+2 +-0x1.d38cp+1 +0x1.1d0cep+3 +-0x1.8f8cc4p+2 +-0x1.62a05cp+2 +-0x1.06cadcp+3 +0x1.07a42cp+4 +0x1.2b4fep+4 +0x1.11db8p+3 +-0x1.3d2af8p+2 +-0x1.677808p+3 +0x1.ab9cp-3 +-0x1.5ade42p+3 +0x1.253aecp+4 +0x1.3f8ad4p+4 +0x1.338edcp+4 +-0x1.2ed73ap+3 +-0x1.1a20cp+4 +0x1.1f377p+1 +-0x1.c7d718p+2 +0x1.82abbp+3 +0x1.a93ffp+2 +-0x1.5a62ep+2 +-0x1.1175d8p+2 +-0x1.a801eep+3 +-0x1.0b381cp+4 +-0x1.10e558p+4 +0x1.3ecc98p+4 +-0x1.5825p+0 +0x1.863f9p+2 +0x1.6f04ap+1 +-0x1.1a1926p+3 +-0x1.a3151p+1 +0x1.911b9p+3 +-0x1.57857p+3 +0x1.0321f4p+4 +0x1.507c5p+1 +-0x1.1e125ep+4 +0x1.384f44p+4 +-0x1.23e7ap+4 +0x1.888bdp+3 +0x1.93c38p+3 +-0x1.f7861cp+3 +0x1.3d4364p+4 +-0x1.d93914p+3 +0x1.cdba88p+3 +-0x1.6ddaap+3 +0x1.a7cb2p+2 +0x1.847aa8p+3 +-0x1.bea42p+1 +-0x1.8412p+2 +0x1.2376p+3 +0x1.8abccp-1 +-0x1.25496p+1 +0x1.430848p+3 +-0x1.152338p+4 +0x1.12cc7p+2 +0x1.2d03fp+2 +0x1.2e46cp+3 +0x1.39566p+0 +0x1.6a4798p+3 +-0x1.f574dp+1 +-0x1.c8adfp+1 +-0x1.0a2ed4p+2 +0x1.1df95cp+4 +-0x1.0fabbp+1 +0x1.0baa1cp+3 +-0x1.197b5ep+4 +0x1.b094p-1 +-0x1.01ffp-3 +0x1.60a48p+1 +-0x1.05de5ap+4 +0x1.b893dp+1 +0x1.3cad2p+3 +0x1.126c88p+2 +-0x1.b64328p+3 +0x1.067a64p+4 +-0x1.92c75p+1 +-0x1.ad879cp+2 +0x1.78746p+0 +-0x1.3781f4p+2 +-0x1.34ffp+2 +0x1.d6e738p+3 +0x1.ccae18p+2 +0x1.2e8ff4p+4 +-0x1.12c228p+4 +-0x1.08a8c4p+4 +-0x1.ff6becp+2 +0x1.fd0368p+3 +-0x1.0ac648p+4 +0x1.414194p+3 +0x1.3882e8p+3 +0x1.0d717cp+4 +-0x1.a9c8d8p+2 +-0x1.e02b7p+3 +0x1.792808p+2 +0x1.334c7p+2 +0x1.37e894p+4 +0x1.8e95p-2 +-0x1.20ff7ep+4 +-0x1.caf154p+3 +-0x1.53509cp+2 +0x1.979b58p+3 +0x1.607b2p+1 +0x1.33468p+1 +-0x1.aa1a48p+3 +0x1.70cc2p+1 +-0x1.e591a4p+3 +0x1.43325p+3 +-0x1.637f0cp+3 +0x1.ac3e08p+2 +-0x1.3889fp+4 +0x1.17e4cp+4 +0x1.5632f8p+3 +0x1.2c0678p+3 +0x1.2dffd8p+4 +-0x1.11832ep+3 +-0x1.baf878p+3 +-0x1.07326ep+4 +0x1.00b694p+3 +-0x1.2d915p+3 +0x1.612204p+3 +-0x1.ffd36cp+2 +-0x1.48e0dp+3 +-0x1.9f771p+3 +-0x1.41d732p+3 +0x1.a3162p+1 +-0x1.7fefeep+3 +-0x1.611836p+3 +-0x1.7ca304p+3 +0x1.364dep+1 +-0x1.f328b6p+3 +-0x1.eb5cc4p+2 +0x1.cfbc6p+1 +0x1.56555cp+3 +-0x1.cb04p-5 +0x1.247b24p+4 +-0x1.bb4c18p+2 +-0x1.c0cf6p+3 +-0x1.b8f24p+1 +-0x1.24d9c4p+4 +0x1.2b53acp+4 +-0x1.fca186p+3 +0x1.17dbc4p+4 +0x1.bb3d68p+3 +-0x1.10c93p+1 +-0x1.21131ep+4 +-0x1.dbd96ap+3 +-0x1.3d496p+2 +-0x1.385aap+1 +-0x1.b22a3p+3 +0x1.0ff4fp+3 +-0x1.9ac55p+1 +-0x1.01c6eap+4 +-0x1.2a31e8p+4 +0x1.3558ap+2 +-0x1.670b7p+1 +0x1.f82af8p+3 +-0x1.93662p+0 +-0x1.066bc4p+2 +0x1.735ce8p+2 +0x1.aeedap+1 +-0x1.11b38cp+4 +0x1.ba702p+3 +0x1.0bf764p+4 +0x1.e3d2ep+0 +0x1.0b582p+2 +0x1.c5c058p+2 +-0x1.47cfp-1 +-0x1.6a194p-1 +-0x1.950ba4p+2 +-0x1.17ac8p+3 +-0x1.3e390ap+3 +-0x1.09821p+4 +-0x1.39ca94p+4 +-0x1.22d36ap+4 +-0x1.cb313p+3 +-0x1.050ef8p+4 +0x1.cc263p+3 +-0x1.032e6p+0 +-0x1.fb1102p+3 +-0x1.9aa74p-1 +-0x1.625p-3 +0x1.89c418p+3 +0x1.a8d2fp+3 +0x1.62a768p+2 +0x1.ee6728p+3 +-0x1.4a986cp+3 +0x1.4613e8p+2 +-0x1.1d5034p+3 +-0x1.7ce626p+3 +-0x1.e9f462p+3 +-0x1.ab207ep+3 +-0x1.e23f28p+3 +-0x1.40b06cp+2 +-0x1.ff6638p+3 +0x1.bfdb6p+1 +0x1.6e60d8p+2 +0x1.cc529p+3 +0x1.4167ecp+3 +0x1.0e29b8p+3 +0x1.d4f888p+3 +-0x1.ec6cbp+2 +0x1.2c792p+2 +-0x1.9dde1ep+3 +-0x1.618d6p+3 +-0x1.88a0bep+3 +-0x1.f14488p+3 +-0x1.ca6bap+3 +-0x1.5f8814p+3 +0x1.215de4p+3 +-0x1.32241cp+4 +0x1.1f2508p+4 +-0x1.8f06dap+3 +-0x1.054538p+4 +-0x1.0680c4p+3 +0x1.10439p+3 +-0x1.e1b68p+0 +0x1.cd0e88p+3 +-0x1.1592a8p+2 +-0x1.a754acp+3 +0x1.2bec94p+4 +0x1.70f58p+3 +-0x1.fb1e7cp+3 +0x1.71723p+3 +-0x1.2a1p-7 +0x1.c878fp+2 +-0x1.83fde8p+2 +-0x1.490f72p+3 +0x1.6ac254p+3 +0x1.f78218p+2 +-0x1.c104ecp+3 +0x1.ab7718p+2 +0x1.061ac4p+4 +0x1.1dfcf8p+2 +-0x1.0d3aa4p+4 +-0x1.09ddc4p+3 +0x1.05722p+1 +0x1.22f90cp+3 +-0x1.f3350ap+3 +0x1.c1d95p+2 +0x1.d134ep+3 +0x1.e630ap+3 +-0x1.f2fe6p+1 +-0x1.8208p-3 +-0x1.feedc8p+2 +-0x1.d65438p+3 +0x1.cd12c8p+3 +0x1.19a36p+2 +0x1.a3624p-1 +0x1.b0132p+2 +-0x1.a3bc68p+3 +-0x1.a62c86p+3 +-0x1.b5257ep+3 +0x1.3db9cp+1 +-0x1.24a36p+0 +-0x1.8c41dcp+3 +-0x1.bf138p+0 +0x1.0ca8ep+3 +-0x1.dd6254p+3 +-0x1.629638p+3 +0x1.17703p+2 +-0x1.0e91f6p+4 +-0x1.10c2ecp+4 +0x1.3108ep+0 +-0x1.b7d99p+3 +-0x1.163694p+4 +-0x1.63cdecp+2 +0x1.3875fp+1 +-0x1.8e3642p+3 +0x1.73de0cp+3 +-0x1.092a1ap+3 +0x1.554678p+3 +0x1.0b42ep+2 +-0x1.d66b86p+3 +0x1.a5a9c8p+2 +0x1.97605p+3 +0x1.a0bb4p+0 +-0x1.2f90cp-1 +-0x1.37a454p+2 +-0x1.8b46p-4 +0x1.216b84p+4 +0x1.19930cp+4 +0x1.04d39p+4 +-0x1.223f04p+4 +-0x1.5d7258p+2 +-0x1.fdee9p+2 +0x1.c6796p+2 +-0x1.5a64dep+3 +-0x1.94751ep+3 +0x1.6b029p+3 +0x1.3ad82cp+4 +0x1.16669p+2 +-0x1.2c3398p+3 +0x1.109ea8p+3 +-0x1.dec63ap+3 +0x1.2c17f8p+4 +-0x1.4d17f8p+3 +0x1.9f8ac8p+3 +0x1.4f1f58p+3 +0x1.93467p+3 +0x1.ea16c8p+2 +-0x1.207d1ep+4 +0x1.3248p-1 +0x1.c1c75p+3 +-0x1.f8a2cp+2 +-0x1.0a216p+1 +0x1.fb09dp+3 +-0x1.bf1268p+3 +-0x1.51c9e4p+3 +-0x1.9d29ep+3 +-0x1.43c7ep+0 +-0x1.0fa932p+4 +-0x1.67b4cp+1 +0x1.1d3bb8p+3 +0x1.3bb1f8p+3 +0x1.20a6fcp+3 +0x1.65ef1p+2 +-0x1.9aeep+1 +0x1.807c8p+1 +0x1.38814p+2 +-0x1.a9c314p+3 +-0x1.2337a2p+4 +0x1.cd515p+3 +0x1.9655ap+3 +0x1.d09898p+3 +0x1.d25bcp+3 +-0x1.3d9a24p+4 +0x1.2d1bbcp+4 +0x1.f0b688p+3 +0x1.7f3d1p+1 +0x1.0183cp+0 +-0x1.b25e58p+3 +-0x1.27daeep+4 +-0x1.1635fap+4 +-0x1.8dc5cp+1 +0x1.532e04p+3 +-0x1.068a64p+4 +0x1.188c04p+4 +0x1.108a3cp+4 +0x1.8cb84p+2 +-0x1.1afcap+4 +-0x1.3f64dep+4 +0x1.09106cp+4 +-0x1.ab759cp+2 +-0x1.daebfcp+3 +0x1.1585ap+1 +-0x1.76fcp-5 +-0x1.2b101cp+3 +0x1.a32f88p+2 +0x1.09988p+1 +-0x1.813c4cp+2 +-0x1.9cf78cp+2 +-0x1.20294p+3 +0x1.8bcaap+3 +-0x1.72461p+1 +-0x1.2ab636p+4 +-0x1.209602p+4 +0x1.27d37cp+4 +-0x1.a514ap+3 +0x1.31e58p-1 +0x1.6132ap+0 +-0x1.77f09ep+3 +-0x1.55dca2p+3 +0x1.efb2ap+2 +0x1.dcd1b8p+3 +-0x1.673234p+2 +-0x1.081d3cp+3 +0x1.24818p+1 +0x1.d8fd08p+2 +0x1.660298p+3 +-0x1.990a3p+2 +-0x1.1aad98p+4 +-0x1.f62b5cp+3 +0x1.670728p+3 +0x1.05fc2p+3 +-0x1.3c13p-1 +-0x1.f02d6p+3 +-0x1.986acp+0 +-0x1.b0d24cp+3 +-0x1.7c816p+2 +-0x1.12493p+2 +0x1.3ecf18p+3 +0x1.1c684p+2 +0x1.ff133p+2 +0x1.a2749p+3 +-0x1.3672e2p+4 +0x1.9f4efp+3 +0x1.eca91p+2 +0x1.13a478p+4 +-0x1.da6926p+3 +-0x1.2d60dap+3 +-0x1.314c8ep+3 +0x1.67725cp+3 +-0x1.7aae38p+3 +-0x1.4423c4p+3 +-0x1.0fe384p+2 +-0x1.100ccp-1 +-0x1.4bb77p+3 +0x1.03f2c4p+4 +0x1.3711d8p+4 +-0x1.7abd8p-1 +0x1.da70b8p+2 +-0x1.e17ee8p+2 +-0x1.52951p+2 +0x1.47082p+2 +0x1.9618cp+0 +-0x1.2c7a4cp+4 +0x1.bb538p+2 +-0x1.26c558p+4 +0x1.a03cp+0 +0x1.b10d68p+2 +0x1.d0d09p+1 +-0x1.e9cedp+2 +0x1.7b275p+3 +0x1.28edc4p+4 +-0x1.dc2fe8p+3 +0x1.1954e8p+4 +0x1.5a0acp+0 +-0x1.8ed08p+0 +0x1.0e8cbp+4 +-0x1.25b558p+2 +-0x1.51f0cap+3 +-0x1.974f52p+3 +-0x1.b10c9p+2 +-0x1.5f5fap+1 +-0x1.101f38p+4 +-0x1.c684fp+2 +-0x1.04614p+0 +-0x1.d1d47ap+3 +0x1.15ae34p+4 +0x1.7ec268p+2 +-0x1.e69aap+1 +-0x1.ac4c9cp+3 +0x1.26cebp+3 +-0x1.aa02ap+0 +-0x1.11f894p+3 +-0x1.d6f856p+3 +-0x1.27908p+1 +-0x1.1fe5fep+3 +-0x1.34be68p+3 +0x1.f92e4p+0 +0x1.932fdp+2 +0x1.443acp-1 +0x1.9dffap+1 +-0x1.62f4p-4 +-0x1.079448p+4 +0x1.a025dp+2 +0x1.12bca8p+2 +-0x1.6ffdbep+3 +0x1.087c5p+2 +0x1.069cfcp+4 +0x1.2c7b5cp+4 +-0x1.4ad3cp+1 +0x1.b2f88p-1 +-0x1.91a6ap+0 +-0x1.2a78d2p+3 +-0x1.87579p+1 +0x1.defb68p+3 +0x1.4c5cacp+3 +0x1.5ee82p+1 +-0x1.13491cp+2 +-0x1.927588p+3 +-0x1.30f1ep+4 +-0x1.5d959p+2 +-0x1.06308p+2 +-0x1.ad78dap+3 +-0x1.b24a08p+2 +-0x1.0d525p+3 +-0x1.96b2f8p+3 +-0x1.7f9184p+2 +-0x1.14e308p+3 +0x1.bb2a68p+3 +-0x1.10984p+0 +-0x1.078992p+4 +0x1.4e4178p+3 +-0x1.4c45dp+1 +0x1.61408p+3 +0x1.d18388p+3 +0x1.09656cp+4 +-0x1.1f058ep+4 +-0x1.25af1cp+4 +-0x1.0b159p+4 +0x1.2dfefp+2 +-0x1.a15ee8p+3 +-0x1.5dd91ap+3 +0x1.a798f8p+3 +0x1.5f804p+0 +-0x1.93decp+1 +0x1.3e5b4cp+3 +0x1.b85d2p+2 +0x1.d40e7p+1 +0x1.201794p+4 +-0x1.13ccb6p+4 +0x1.366ab8p+3 +-0x1.9e2f6p+1 +0x1.f1389p+3 +-0x1.46d9e8p+3 +0x1.73d614p+3 +0x1.eb7028p+3 +-0x1.e1c8p+2 +-0x1.19638p-2 +-0x1.270366p+4 +-0x1.a02e28p+3 +0x1.c9cc4p+3 +0x1.019ee8p+2 +0x1.b39a8p+3 +-0x1.9af1f4p+3 +0x1.f5023p+1 +-0x1.e7746p+3 +0x1.3b5f3p+4 +-0x1.8e4e4p+0 +0x1.49833p+3 +-0x1.bb951ap+3 +-0x1.1cec7ap+4 +-0x1.d25b3cp+3 +-0x1.31c36ep+4 +0x1.d522d8p+3 +-0x1.d2938p-1 +0x1.05b9fp+2 +0x1.7967a4p+3 +-0x1.3e33e8p+4 +-0x1.83457cp+3 +-0x1.1c85dp+1 +0x1.af2e4p-1 +-0x1.7faf44p+2 +0x1.a646cp-1 +-0x1.24368ep+4 +0x1.0ce3f8p+3 +-0x1.b47778p+3 +-0x1.e0ff8p-2 +-0x1.d5411p+3 +0x1.2eaec8p+4 +-0x1.56345cp+3 +-0x1.87282p+3 +-0x1.6c332p+1 +0x1.2e1f38p+4 +0x1.dcd4p-3 +-0x1.b91f58p+2 +-0x1.720c9p+1 +0x1.5a877cp+3 +0x1.d5f14p+1 +-0x1.cc1fcp+3 +0x1.c73f38p+3 +-0x1.f815e4p+3 +0x1.34fec8p+2 +-0x1.de3758p+3 +-0x1.033fdp+3 +-0x1.4af37p+1 +-0x1.ed2a9cp+3 +0x1.3bce5p+4 +0x1.cc3f4p+3 +0x1.4c7f5p+3 +-0x1.8b48e8p+2 +-0x1.5fa2b8p+2 +0x1.13392cp+4 +-0x1.e33a52p+3 +-0x1.38818p-2 +-0x1.25d98ap+3 +-0x1.ecc21ep+3 +-0x1.7866f8p+2 +-0x1.af5af4p+2 +0x1.063d4p+1 +-0x1.ae60dcp+2 +0x1.29ade8p+4 +0x1.b04548p+3 +-0x1.aa017p+1 +-0x1.084576p+4 +-0x1.09808p-1 +0x1.247be8p+2 +0x1.217548p+3 +-0x1.64ae4cp+3 +-0x1.ef30c4p+3 +-0x1.a9874p+1 +0x1.8828d8p+2 +-0x1.e769eep+3 +0x1.236e4p+0 +0x1.a3f3ep+3 +0x1.bfcb8p+2 +-0x1.35ae4p+2 +-0x1.42cd18p+2 +-0x1.53172p+3 +-0x1.098abcp+4 +-0x1.e6abd8p+3 +-0x1.1bc3f4p+3 +0x1.134e4p+0 +-0x1.627188p+2 +-0x1.86fep-3 +-0x1.1669d4p+3 +0x1.8226p+3 +0x1.8c45a8p+3 +0x1.323f88p+3 +0x1.d33a58p+2 +0x1.2725ep+4 +-0x1.6389bcp+2 +-0x1.e7511cp+2 +-0x1.bf0a0cp+3 +0x1.a70278p+2 +0x1.9278bp+2 +0x1.98d768p+3 +0x1.65d758p+3 +-0x1.e2adfp+3 +0x1.edef4p+2 +-0x1.03cc3p+3 +-0x1.525952p+3 +0x1.9a09fp+3 +0x1.902p-6 +0x1.4e1718p+3 +-0x1.32735ep+3 +0x1.97a1e8p+2 +0x1.03c284p+3 +-0x1.27f718p+3 +-0x1.9d9188p+2 +-0x1.bd74f4p+2 +0x1.2d9ff4p+4 +-0x1.f8bdcp+0 +-0x1.170224p+4 +-0x1.ade7cp-1 +0x1.f64fb8p+2 +-0x1.09b0dcp+3 +0x1.c5cbe8p+3 +-0x1.192c62p+4 +0x1.3d8318p+2 +-0x1.25a1c8p+4 +-0x1.026eap+1 +-0x1.aadc4cp+3 +0x1.35d5bp+2 +0x1.604f6p+2 +-0x1.5b3cp-4 +0x1.e6e378p+3 +0x1.80d4fp+1 +0x1.47c13p+3 +-0x1.11d95cp+4 +0x1.2ad474p+4 +-0x1.1d75aep+4 +-0x1.1919eep+4 +0x1.4edacp-1 +-0x1.001a56p+3 +0x1.3eef54p+3 +-0x1.2d4bb6p+3 +-0x1.8aadc8p+2 +-0x1.961b08p+2 +-0x1.c8d7a8p+2 +-0x1.6324d4p+3 +-0x1.06fe24p+3 +-0x1.17101ep+3 +-0x1.234c7p+3 +0x1.207d68p+2 +0x1.f7d2p-4 +-0x1.96bbc8p+3 +0x1.fda688p+3 +-0x1.fd476p+0 +0x1.2a1978p+2 +0x1.df8a8p+1 +0x1.7def58p+2 +0x1.3b10dp+4 +-0x1.97de6p+1 +0x1.3b2ff8p+2 +0x1.65326p+3 +0x1.9c97e8p+2 +-0x1.23246p+3 +0x1.adfe68p+2 +0x1.9cf08p-2 +0x1.19ca1p+4 +0x1.035f7p+1 +0x1.0de5d8p+4 +-0x1.272888p+3 +0x1.154c9p+4 +0x1.5614cp+2 +-0x1.94256p+2 +-0x1.909406p+3 +0x1.19d714p+3 +-0x1.88d0fp+3 +0x1.65c05p+2 +-0x1.668106p+3 +-0x1.a0a92cp+3 +0x1.ed168p+0 +0x1.8b63f8p+3 +-0x1.ae89f6p+3 +-0x1.c6cc5cp+2 +0x1.6cf43p+2 +0x1.35178p-2 +-0x1.b627bp+2 +0x1.05f95cp+4 +-0x1.93d994p+3 +0x1.4e417p+3 +-0x1.59c6dp+1 +-0x1.0b8dbp+1 +-0x1.6065ep+3 +-0x1.810ea8p+2 +0x1.6f65p-2 +-0x1.3d9a44p+3 +-0x1.5b5588p+3 +0x1.b3e9e8p+3 +-0x1.3eab1ap+3 +-0x1.52f9c4p+3 +0x1.d090dp+1 +-0x1.7047p-2 +-0x1.245bc4p+2 +-0x1.0155ap+4 +0x1.8df128p+2 +-0x1.0b3b0cp+4 +0x1.5d2f98p+3 +-0x1.024fap+0 +0x1.41ef2p+0 +0x1.f762d8p+3 +-0x1.85876ap+3 +0x1.82df2p+3 +-0x1.f241c4p+2 +-0x1.bb4bfp+2 +-0x1.bb70c6p+3 +0x1.0b9ac4p+4 +-0x1.22003cp+4 +0x1.855608p+3 +0x1.a8a17p+2 +-0x1.00c3b4p+3 +-0x1.1831e8p+4 +-0x1.d1621p+2 +-0x1.be78a2p+3 +-0x1.e1bf4ap+3 +0x1.153b24p+4 From patchwork Thu Jan 30 16:28:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860862 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp265674wrr; Thu, 30 Jan 2025 08:31:56 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWQHQwh0d5SDQ2eAk8/AmknZKkjQAfi5LtoQmnpXbxITuSF4yylMjUlcZkdW2N57geAAOqBpQ==@linaro.org X-Google-Smtp-Source: AGHT+IH8mISLdQsRY6iEqhzYl/E2s6lHdvkbJaGf1QW1sPSwMgQG/idjPQAty3t4iz5/dvb7/oR3 X-Received: by 2002:a05:620a:4399:b0:7b6:e510:1de8 with SMTP id af79cd13be357-7bffcd1470emr1193032985a.33.1738254716201; Thu, 30 Jan 2025 08:31:56 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738254716; cv=pass; d=google.com; s=arc-20240605; b=VD5dqWjdedTvV+vmysZ/qnw/L01G77D6257Fshyyoy5t7Lyq5EHjQsI4d1xvdtzjaA P/ZYEAR5mEeHywSwK4Wc4lr8zCMUfr7cd8d3wFwcGkyF9MUd8uCyuIH51uaO/5DFiYA6 /7re/vhBIM8D/kVu747nXSUPF79kAlj91RQySF1hMBhhQSBaFgv7N641O8Ia6MQaXn/8 6ncn4TcyaFCnNyCzDGSHBeXQ9o9mywmj5YUSpfWUauDtMzbC56yPu5Do4e0D24anAYMP QZPIdoX5NsDPtrHM7uxZqKhy9G3moQt4U3p2SFE7/fUSpF6o1z9ov6oVDeOuZGnHIqOx cZ8g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter:arc-filter:dmarc-filter :delivered-to; bh=NXZRODPZoq44pBfFZ3hJMipUYTKpLX662lf3vt9fmZM=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=fgb9BtNvraa8unn/SPilQ5vTO//eKFT78RV6aDeRyBbEfXtZPOib4GVa583WxFRJd/ uMQJMJhyFk5TrPOWOAZ+v/tkTSaaerjqjQfev1aTLQo4pj8Oui7nfXNITYzqEnCpFn4E wHRRQVxodRpDXb+pATN41hIlgojRlPTSSh2hs3wKXgtFEThv29G04Rkq6dWB6fNOn52I JhYPCyv51GjqPewhxUMk8K6AZE73d/+hVH2vSNTW0m55OpbDzVfsVb/HhPewPo0Q/xaQ cM+So4EkerodGLEx4/tANLmtW+x/zcbuRmC/ZjYbrqt5pBCP2qCeGl6BFMgK8DYh65Qt 60ig==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AZl8aHRh; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id d75a77b69052e-46fdf1f2053si18889931cf.622.2025.01.30.08.31.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:31:56 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AZl8aHRh; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D219B3857830 for ; Thu, 30 Jan 2025 16:31:55 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id 2F4F83858C66 for ; Thu, 30 Jan 2025 16:30:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2F4F83858C66 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2F4F83858C66 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::635 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254634; cv=none; b=GLiJ2tWQ4AJzz7lpct/dv+lj9y4SVLROezXamgHW7MppmcrmI0JHJwYdtlfLTNkoXZm/s9072XJnH1RnjsLqhc61mF9c5CYdBSivXumqjmn56fLWCRBWljc4lxY7vDk28IHzHjN1E/myit2MgKbasSdScdfqd457e1360Py3FKU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254634; c=relaxed/simple; bh=P/BI6U0WrNf4Y89fGoosfg/7tyoaxlx9PuuVDAqeMaA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=p5D1LoaoMCsxkiqP7NWe+JXpbN4CCRjJzrVNFpmMr5TbPRdgO9WzB9D75YhkY9k365I5Fbif/joYEJEPqGI+MgjCgJRB92mhoobHe02YdnwjnWcFZoOexNNevSYXn/P5JHse5vbGbSJmntpO80daGKoFuXrArqtd2//LiIJ1kQU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2F4F83858C66 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=AZl8aHRh Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2163dc5155fso18748465ad.0 for ; Thu, 30 Jan 2025 08:30:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254633; x=1738859433; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NXZRODPZoq44pBfFZ3hJMipUYTKpLX662lf3vt9fmZM=; b=AZl8aHRhkdvKBrmw5kQpPO3VQzTjQ6eX+t9o4MshBobd0FRg2svSPvvxSTqak6Rf3G JmWCxJLlaZomPFbPsrAbS0yPohTPF2p+ELqMVPkG466OFqE6rru+AIO3tNJwhjmqmrWf f4jXNaItXbhBtbnio232iqa8awDgEepxDeJoHgeos4ChGwZgBjPOT74KV09I3HKiWN2l ew/cVu7wlpA4kywihDIKzaoOem87abj5c5pn6Vd41T22TrypYwEuVPOxatA5CKvTbo6K rxRzLChgKMJ0ybajgEgSe4mCCQhq7hCge1Gx84CkFDYUuBjV19FS8w7rasvZcCWsn+ud /3IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254633; x=1738859433; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NXZRODPZoq44pBfFZ3hJMipUYTKpLX662lf3vt9fmZM=; b=keNX/s2+M+7le4Q99A+GCvkKN6vpC94s76BIOCoYPl2jLheip3m7mdqOy6YaXt0bY1 rEOk7vq5ObY7hixDp+IraRQIF1soMKKKZNkmqG0REwEZO6CQdcuAp+emSkMo1kummX41 sJ3ssPaZU6DxWBn4KDj1Jvd9W1T7gw0wBw9xC1yPqiBAzi6zgvkF70EYZfYPuVFYZOL9 BvWIHVIy/NGDyNu5420irgxjeyWLxBPacb5FFadm68BUxSx9bT1W2lNeHvyxw/D7ccxH gZGLn251AquILNRvCjwFnEZvHqXrkovpCe/m8ITiubONEYliAd+RVQw33SGlwFam0irq xSCA== X-Gm-Message-State: AOJu0YytOsZ4GYclwrHapEWdd7oHqiizNi3ZIR3Uq9rrxMWKX7L9zhs5 RCt8Z8joB+DMtzt6sZ8PV9rln5bvEbnpwqUQoXLhwQuh2Ro/lPREVRbFpSzvMEUzcwQuJqa1iNH 7 X-Gm-Gg: ASbGncuzV5GmyaXfZJ+JiqOO/Fk+Hc2QSKmE7gZDpCouOZ3JpqoRDGCrZcfbyp09EJ2 Ozs6i/p/kU1zhu1V55lbKYVD+Vx/1KeUy1/xlJv2P2MbtXDcn3llojRrovFfbTH6DXpLICOmhHC J65M2wORdcuhYmjeSo0tNIYqWYpWS22gfrKPZzTcVJ061egKmUpAAVhg3N4IpTwohMCJ29RDm0t hUOWprjr72U8+7WyyWUHIqQWu3W6HMRSYqWF8/9k2oEIuTpY0wSBud5Pxlwjx/ZlGFxfDnK9mXz bB79trP1xQVvuXM4U4hVfl8nKOA= X-Received: by 2002:a05:6a00:2183:b0:725:c8ea:b320 with SMTP id d2e1a72fcca58-72fd0c04c45mr8951136b3a.14.1738254632768; Thu, 30 Jan 2025 08:30:32 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:32 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 02/10] math: Remove the error handling wrapper from log10f Date: Thu, 30 Jan 2025 13:28:58 -0300 Message-ID: <20250130163024.2032523-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency for about 3-10% and throughput for about 5-10%. --- math/Versions | 4 ++++ math/w_log10f.c | 8 ++++++++ math/w_log10f_compat.c | 10 +++++++--- sysdeps/ieee754/flt-32/e_log10f.c | 11 ++++++++++- sysdeps/ieee754/flt-32/w_log10f.c | 1 + sysdeps/m68k/m680x0/fpu/w_log10f_compat.c | 8 ++++++++ sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 30 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 math/w_log10f.c create mode 100644 sysdeps/ieee754/flt-32/w_log10f.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_log10f_compat.c diff --git a/math/Versions b/math/Versions index e4fbef3f6d..78dac9d165 100644 --- a/math/Versions +++ b/math/Versions @@ -671,4 +671,8 @@ libm { sinpif64x; sinpif128; tanpif64x; tanpif128; } + GLIBC_2.42 { + # No SVID compatible error handling. + log10f; + } } diff --git a/math/w_log10f.c b/math/w_log10f.c new file mode 100644 index 0000000000..e0f592b80c --- /dev/null +++ b/math/w_log10f.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __log10f, log10f, GLIBC_2_42); +libm_alias_float_other (__log10f, log10f) diff --git a/math/w_log10f_compat.c b/math/w_log10f_compat.c index a1f2327520..95e0a4d3cd 100644 --- a/math/w_log10f_compat.c +++ b/math/w_log10f_compat.c @@ -22,10 +22,10 @@ #include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42) /* wrapper log10f(x) */ float -__log10f (float x) +__log10_compatf (float x) { if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_) { @@ -43,5 +43,9 @@ __log10f (float x) return __ieee754_log10f (x); } -libm_alias_float (__log10, log10) +# ifdef NO_COMPAT_NEEDED +libm_alias_float (__log10_compat, log10) +# else +compat_symbol (libm, __log10_compatf, log10f, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/ieee754/flt-32/e_log10f.c b/sysdeps/ieee754/flt-32/e_log10f.c index 03d9e281f3..242731005b 100644 --- a/sysdeps/ieee754/flt-32/e_log10f.c +++ b/sysdeps/ieee754/flt-32/e_log10f.c @@ -27,6 +27,8 @@ SOFTWARE. #include #include #include +#include +#include #include "math_config.h" static __attribute__ ((noinline)) float @@ -45,7 +47,7 @@ as_special (float x) } float -__ieee754_log10f (float x) +__log10f (float x) { static const double tr[] = { @@ -158,4 +160,11 @@ __ieee754_log10f (float x) } return ub; } +strong_alias (__log10f, __ieee754_log10f) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __log10f, log10f, GLIBC_2_42); +libm_alias_float_other (__log10, log10) +#else +libm_alias_float (__log10, log10) +#endif libm_alias_finite (__ieee754_log10f, __log10f) diff --git a/sysdeps/ieee754/flt-32/w_log10f.c b/sysdeps/ieee754/flt-32/w_log10f.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_log10f.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_log10f_compat.c b/sysdeps/m68k/m680x0/fpu/w_log10f_compat.c new file mode 100644 index 0000000000..a0d6036fcc --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_log10f_compat.c @@ -0,0 +1,8 @@ +/* m68k provides an optimized __ieee754_log10f. */ +#ifdef SHARED +# define NO_COMPAT_NEEDED 1 +# include +#else +# include +# include +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index a248abb642..d7bb4cfa16 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1277,3 +1277,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 88a81da2fe..f4c1c78ef0 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1245,3 +1245,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 007fd86f9e..787599b70d 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1404,3 +1404,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index d1531f79c9..eb1b81eccf 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index d1531f79c9..eb1b81eccf 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 4699d529a4..8a5c1c5b86 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index d1ce0f7283..c4d074dfdc 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1284,3 +1284,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index d1531f79c9..eb1b81eccf 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index 2f6a2e7d21..2b768e5376 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index 2f6a2e7d21..2b768e5376 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 85173a7471..52f526d732 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 880f8c4c16..af762481aa 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1245,3 +1245,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 43d578d09d..deeba94b9c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1067,3 +1067,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 64a9ea10b2..d13d81cc13 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1066,3 +1066,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index d45783a1d3..abc30421a5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1060,3 +1060,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 44ca2f20d9..ea38df2a87 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1429,3 +1429,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index bc621c2923..1ed2a31928 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1348,3 +1348,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 8de3065e45..acd20230a2 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1348,3 +1348,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index 6df6a8d7b0..7b228e449a 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index 6df6a8d7b0..7b228e449a 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -920,3 +920,4 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 991d96b3d4..1e7f7309c6 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1355,3 +1355,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 8600571387..ae1f040772 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1245,3 +1245,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 8113fb41f0..c5b759ad37 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1278,3 +1278,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index ac96d62ed2..3f4be241db 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1278,3 +1278,4 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 log10f F From patchwork Thu Jan 30 16:28:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860863 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp265816wrr; Thu, 30 Jan 2025 08:32:07 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUiQQ+3SO3uUbXnLz7tTr59tJqQDSdR8QiwciJOtMxTy5iYpuDNDhXhsYLYGCeY7YLfm1SICg==@linaro.org X-Google-Smtp-Source: AGHT+IEZRjZlg29J9dgkqEGPYSeZwxFq/3CJTbeolxSadrJnG9KULCv2oyaApjs7t69rc2Wi8T3a X-Received: by 2002:a05:6102:161e:b0:4af:e643:e1e5 with SMTP id ada2fe7eead31-4b9a4ec8ba6mr7813738137.2.1738254727362; Thu, 30 Jan 2025 08:32:07 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738254727; cv=pass; d=google.com; s=arc-20240605; b=D7bDNR+5HinTvtN0WOlR0+Eo+4OMOHfJ89FODovAwpP3k90QLMtU0m9furw5+upiBF gDuusYify3uLCINzcIPjePVJ/Xnh2ps4c92RxGb81Z1XP9ILoB5xTUtcpb9GsAwDOohE voOype5FwhzpWkVR1xglwzRocqSYuS4qCAtxk6mX63a7zVNSvWMaN5s+Z7BE7XRV7O6q zpKaYHWGKtsN6sYFoJqZkso6KjhMUFjlQHNpgcgCUWqlXsbVKd7cK1WJJCZu00amf8fD QvHnV8yzgh0e6tE0dnNSbGbO6jLpXD7ZMEez1LI3G2DWWCGZTgeT0OJLUssRbzGpSZV5 runw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=OEQgYq4YL9WTl+CaBOqzTToSELG39eKLxdZ3riHSvPY=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=WlPEWoZlZk1A0Vv23o69rtfbEBaFWqLV/rjgKbb8KynkSqAHSLuBgNiRFyQWNYxbL/ iMRwItuhbSqtVcy2GWpjltrImH7Z+c5+2B6tYGWt9yDQb30Ag1+1QGqyjvHx24hXu+kR WDvCfebMvGU+UMTf+UtiouOApOwSXOWAEybPPTwg39ulkmmjaFa36cHyiIAPf2hTJryt OxNUgxgobS9h0rMPxeQIv7uTgARGP9+R1weEb+Tgl6CQPtcYCbCsPAn1oiVjjFMEZhkw T9EmCdtJ24oRPO3ZCOpD80lDcVzOElmIM+O7hGEWs+bsqRSAiOMXPRx2DRKHOY003d0H 8ZGg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IHLnmLQZ; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id ada2fe7eead31-4b9bad871e3si410059137.273.2025.01.30.08.32.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:32:07 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IHLnmLQZ; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DDCD03857B9F for ; Thu, 30 Jan 2025 16:32:06 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by sourceware.org (Postfix) with ESMTPS id B719B3858C48 for ; Thu, 30 Jan 2025 16:30:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B719B3858C48 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B719B3858C48 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::636 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254636; cv=none; b=HftsZ+eMKocZMYmH+4MEDfGxogfHVO2QgQAkP0VZJJD6dOinRaHtPiKVhqGxOC+6EOPVqWdYYg1J+0BzqKlnpBmMpIvUcOGuq3F6PGlVSfb87frzjsBI8fy00ddJ6trJ6sqXSgFuki9XquXxvglRFtJytKNKIZt36lTm3EFmAY0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254636; c=relaxed/simple; bh=ZzjDdZ7/7MK9BuxChLUtJgMwPAIAWziyTgI7M4UGucY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=RCRNaa7rE37bu25O5fxcn+xZV73QmgcwLlculw8DkZNQ3cgNOyHxUsd6U+tANhPc+SSk2Ariu6BDd6svXj0MREB8UDI+egCZh5SFSSDTMWFJkX60R626MdA/otk4zeK76e5Wjs9P5vv9d+mmlDf23IUD5PBlrcgAp0R7AzAYn1g= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-215770613dbso13365035ad.2 for ; Thu, 30 Jan 2025 08:30:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254635; x=1738859435; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OEQgYq4YL9WTl+CaBOqzTToSELG39eKLxdZ3riHSvPY=; b=IHLnmLQZ3ycFLGMLS/MVaLqiMf9FoO/Q/DpV7Y9vH2k7OkwgRk0MK1LKUds3B8upbi PLLabwd9SaNHxifFWprenXWuJC/HR5il54ekBCCWOFyS2NEeOuINZLQQQGK7EUb0Qfhv fqdHQ2UfkJEc1yq5miKQ6WRH2ABphIp8Bo0iSQMgN87BQ/WwW6vKcmuOyzSgVTAvR8sR geUSxPM101MlzBpLjss79tUiLD5986H37d0TwioT9CfsBQmG7B9PjHiwOVC4wk2IADGh 8ll5+LoTeI9d7/4iKIE/0VFA/wFiM0BVtNE3RkeLx7kZqNMGANeY9kKxvIwtN5bTWZ85 eOYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254635; x=1738859435; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OEQgYq4YL9WTl+CaBOqzTToSELG39eKLxdZ3riHSvPY=; b=icnR8FQmKLl7XcViqUHrX19HLtEP0VB3XRC/xp2hckNoJVP4IQ3X/pgh4IW4krvcNH GnHxHmxOOKcNuettWpMCifmZto3DIOi2ph1kpXFVa+8OK9MNEw53035Db97hiLVap6Oz R2JVvrxW1ooKhfAWE8btRuyI5ynXXDSafL5ewOV4VT1LXOKAeCSlVfZ0Q4V2dxKFoVIx laYpy9cxT+JtrfBFIHTZsbQdbbUGVzOu9bRAK/ue/1B+8Xn93tOZ1uJAw5oiSlK6smxo LoEslU3zxmpxihjaFi3gG2NIha7EgSVQACfChFj83wajlbzXB/04Ah1puCQ0PC8qxurl Jw/w== X-Gm-Message-State: AOJu0YyOeyPnk4hOvuxIINhmpSzJsfyNJkFiPpr5j+Lz7dB/OgHpOX5i IRkSdzQLmWJW1p/g2UrZtQoenHZwsibm/sdXMlIoTK9+AOoUW/rE1WSL2ULrXQM+K/4awRFI0LD U X-Gm-Gg: ASbGnctyaOFSn89v1shZFbRm2KXkhf5EzZzW1oGnLSj6NgkuudEO7ngHXznbTDAUDN3 JVoNJKOLzisPIyLadFfB+tP+RdjfqSxS1lbvLXibX5rMrGh/BXxzUzunYlCRR2G2kLizia4dXka nYBKjwJZaZnx8kxpd7g1BXxEFIqy9qE6fomzSIxsvE7PGMZuKZD0FDoDKTkOEmMDKijrD3mTpTz oi20WJKI5ECb/GxgWd45PYCgHOAgMikek+nmlMwqk3lsx/feQLvzjRLNWBwM1zbpVoa4DCs2CG5 WMyinkmZbdkLLAXKVWNsjVtZ+HI= X-Received: by 2002:a05:6a21:32a2:b0:1e6:b2d7:4cf0 with SMTP id adf61e73a8af0-1ed7a6236b2mr12709214637.41.1738254634729; Thu, 30 Jan 2025 08:30:34 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:34 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 03/10] math: Remove the error handling wrapper from lgammaf/lgammaf_r Date: Thu, 30 Jan 2025 13:28:59 -0300 Message-ID: <20250130163024.2032523-4-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency throughput for about 2%. --- math/Versions | 1 + math/lgamma-compat.h | 15 ++++++++++++--- math/w_lgammaf_compat2.c | 2 +- math/w_lgammaf_main.c | 7 +------ sysdeps/ieee754/flt-32/e_lgammaf_r.c | 12 ++++++++++-- sysdeps/ieee754/flt-32/w_lgammaf.c | 17 +++++++++++++++++ sysdeps/mach/hurd/i386/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/aarch64/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/alpha/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/arm/be/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/arm/le/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/hppa/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/i386/libm.abilist | 2 ++ .../unix/sysv/linux/m68k/coldfire/libm.abilist | 2 ++ .../unix/sysv/linux/m68k/m680x0/libm.abilist | 2 ++ .../unix/sysv/linux/microblaze/be/libm.abilist | 2 ++ .../unix/sysv/linux/microblaze/le/libm.abilist | 2 ++ .../unix/sysv/linux/mips/mips32/libm.abilist | 2 ++ .../unix/sysv/linux/mips/mips64/libm.abilist | 2 ++ .../linux/powerpc/powerpc32/fpu/libm.abilist | 2 ++ .../linux/powerpc/powerpc32/nofpu/libm.abilist | 2 ++ .../linux/powerpc/powerpc64/be/libm.abilist | 2 ++ .../linux/powerpc/powerpc64/le/libm.abilist | 2 ++ .../unix/sysv/linux/s390/s390-32/libm.abilist | 2 ++ .../unix/sysv/linux/s390/s390-64/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/sh/be/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/sh/le/libm.abilist | 2 ++ .../unix/sysv/linux/sparc/sparc32/libm.abilist | 2 ++ .../unix/sysv/linux/sparc/sparc64/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 2 ++ sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 2 ++ 31 files changed, 92 insertions(+), 12 deletions(-) create mode 100644 sysdeps/ieee754/flt-32/w_lgammaf.c diff --git a/math/Versions b/math/Versions index 78dac9d165..2611a6872f 100644 --- a/math/Versions +++ b/math/Versions @@ -674,5 +674,6 @@ libm { GLIBC_2.42 { # No SVID compatible error handling. log10f; + lgammaf; lgammaf_r; } } diff --git a/math/lgamma-compat.h b/math/lgamma-compat.h index bf4acef559..f50bacce8f 100644 --- a/math/lgamma-compat.h +++ b/math/lgamma-compat.h @@ -34,10 +34,17 @@ old glibc. Users of this file define USE_AS_COMPAT to 0 when building the main - version of lgamma, 1 when building the compatibility version. */ + version of lgamma, 1 when building the compatibility version that + handles signgam visibility, and 2 when building the compatibility + that handles SVID support). */ +#if USE_AS_COMPAT <= 1 #define LGAMMA_OLD_VER GLIBC_2_0 #define LGAMMA_NEW_VER GLIBC_2_23 +#elif USE_AS_COMPAT == 2 +#define LGAMMA_OLD_VER GLIBC_2_23 +#define LGAMMA_NEW_VER GLIBC_2_42 +#endif #define HAVE_LGAMMA_COMPAT SHLIB_COMPAT (libm, LGAMMA_OLD_VER, LGAMMA_NEW_VER) /* Whether to build this version at all. */ @@ -45,8 +52,10 @@ (LIBM_SVID_COMPAT && (HAVE_LGAMMA_COMPAT || !USE_AS_COMPAT)) /* The name to use for this version. */ -#if USE_AS_COMPAT +#if USE_AS_COMPAT == 1 # define LGFUNC(FUNC) FUNC ## _compat +#elif USE_AS_COMPAT == 2 +# define LGFUNC(FUNC) FUNC ## _compat2 #else # define LGFUNC(FUNC) FUNC #endif @@ -54,7 +63,7 @@ /* If there is a compatibility version, gamma (not an ISO C function, so never a problem for it to set signgam) points directly to it rather than having separate versions. */ -#define GAMMA_ALIAS (USE_AS_COMPAT ? HAVE_LGAMMA_COMPAT : !HAVE_LGAMMA_COMPAT) +#define GAMMA_ALIAS (USE_AS_COMPAT == 1 ? HAVE_LGAMMA_COMPAT : !HAVE_LGAMMA_COMPAT) /* How to call the underlying lgamma_r function. */ #define CALL_LGAMMA(TYPE, FUNC, ARG) \ diff --git a/math/w_lgammaf_compat2.c b/math/w_lgammaf_compat2.c index 5fc402260c..3a942dbe04 100644 --- a/math/w_lgammaf_compat2.c +++ b/math/w_lgammaf_compat2.c @@ -1,2 +1,2 @@ -#define USE_AS_COMPAT 0 +#define USE_AS_COMPAT 2 #include diff --git a/math/w_lgammaf_main.c b/math/w_lgammaf_main.c index 22b7f8fc53..8d475d3a6c 100644 --- a/math/w_lgammaf_main.c +++ b/math/w_lgammaf_main.c @@ -33,12 +33,7 @@ LGFUNC (__lgammaf) (float x) return y; } -# if USE_AS_COMPAT -compat_symbol (libm, __lgammaf_compat, lgammaf, LGAMMA_OLD_VER); -# else -versioned_symbol (libm, __lgammaf, lgammaf, LGAMMA_NEW_VER); -libm_alias_float_other (__lgamma, lgamma) -# endif +compat_symbol (libm, LGFUNC (__lgammaf), lgammaf, LGAMMA_OLD_VER); # if GAMMA_ALIAS strong_alias (LGFUNC (__lgammaf), __gammaf) weak_alias (__gammaf, gammaf) diff --git a/sysdeps/ieee754/flt-32/e_lgammaf_r.c b/sysdeps/ieee754/flt-32/e_lgammaf_r.c index 75ec25fb9e..378ada14dd 100644 --- a/sysdeps/ieee754/flt-32/e_lgammaf_r.c +++ b/sysdeps/ieee754/flt-32/e_lgammaf_r.c @@ -36,6 +36,8 @@ SOFTWARE. #include #include #include +#include +#include #include #include "math_config.h" @@ -108,7 +110,7 @@ as_ln (double x) } float -__ieee754_lgammaf_r (float x, int *signgamp) +__lgamma_rf (float x, int *signgamp) { static const struct { @@ -363,4 +365,10 @@ __ieee754_lgammaf_r (float x, int *signgamp) } return r; } -libm_alias_finite (__ieee754_lgammaf_r, __lgammaf_r) +strong_alias (__lgamma_rf, __ieee754_lgammaf_r) +libm_alias_finite (__lgamma_rf, __lgammaf_r) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __lgamma_rf, lgammaf_r, GLIBC_2_42); +#else +libm_alias_float (__lgamma_r, lgamma_r) +#endif diff --git a/sysdeps/ieee754/flt-32/w_lgammaf.c b/sysdeps/ieee754/flt-32/w_lgammaf.c new file mode 100644 index 0000000000..01ea82546a --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_lgammaf.c @@ -0,0 +1,17 @@ +#include +#include +#include + +float +__lgammaf (float x) +{ + return __lgammaf_r (x, &__signgam); +} +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __lgammaf, lgammaf, GLIBC_2_42); +libm_alias_float_other (__lgamma, lgamma) +#else +libm_alias_float (__lgamma, lgamma) +strong_alias (__lgammaf, __gammaf) +weak_alias (__gammaf, gammaf) +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index d7bb4cfa16..050722cb73 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1277,4 +1277,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index f4c1c78ef0..41bd47abeb 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1245,4 +1245,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 787599b70d..02a85f4998 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1404,4 +1404,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index eb1b81eccf..5b0eabbc7c 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index eb1b81eccf..5b0eabbc7c 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 8a5c1c5b86..6efb2e5e83 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index c4d074dfdc..4b277fa849 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1284,4 +1284,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index eb1b81eccf..5b0eabbc7c 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index c3c23fd02d..197e85b7bb 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -956,3 +956,5 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index 2b768e5376..dad4910e3b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index 2b768e5376..dad4910e3b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 52f526d732..2435460eef 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index af762481aa..d1fe3c91ea 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1245,4 +1245,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index deeba94b9c..d46ae7cef1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1067,4 +1067,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index d13d81cc13..e90314df44 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1066,4 +1066,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index abc30421a5..9e84016a29 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1060,4 +1060,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index ea38df2a87..685cad8e2c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1429,4 +1429,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 1ed2a31928..0c5b2d0aaf 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1348,4 +1348,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index acd20230a2..be929adce1 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1348,4 +1348,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index 7b228e449a..bb3dcaebf7 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index 7b228e449a..bb3dcaebf7 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -920,4 +920,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 1e7f7309c6..ff5f932ddf 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1355,4 +1355,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index ae1f040772..052a0012fe 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1245,4 +1245,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index c5b759ad37..0794c4ad52 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1278,4 +1278,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index 3f4be241db..19ffca6af2 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1278,4 +1278,6 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 lgammaf F +GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F From patchwork Thu Jan 30 16:29:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860867 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp267195wrr; Thu, 30 Jan 2025 08:34:29 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWTu8TPYqUr1rDRCIZcB1wPatwgLafqSxDXA3tNLvJl95b0fw6dgSR+S4mR6x3y/4LXdBiGcw==@linaro.org X-Google-Smtp-Source: AGHT+IFnOnpQdMB6+PIaIn89ITVWAGw31/jPIrOF/5RlTOb/wfWXa98gPScjz+OfimMyuRtKpAvX X-Received: by 2002:a05:620a:271f:b0:7be:72e2:90a2 with SMTP id af79cd13be357-7bffccc48d0mr1346362685a.6.1738254869690; Thu, 30 Jan 2025 08:34:29 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738254869; cv=pass; d=google.com; s=arc-20240605; b=cr7/Vp2kQORrqi1UG0kAX92hWuHDB/sAh3yB0jZIihl3Bj2I+qbZ7mijKJVeG4ZnH0 jhXFec40wXgfOmQF84z/cTkHZ43eL/ObW1X4U4mrD2niIq6aARNObnGeYR4MDnLagqAl p0UBqAfHxlmdTQXbh6k+FZkw0GDhVR8RIdEtPPsf1ENCNGPgCm355Uh1PvHqDViDMth1 aR00wScCrAzLtEYtl7uJTcNNg8VqwPTRizuqXc4iSai8B8QCWk1U7XPzqoc5GpfoAl/3 Nthpk52ix//z3DNwuOpcPQxDkLYJRIq0VAwV2+PVKOyWTk+FU9bloYVL+XExerx+bOs4 jk3A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=ojfmkLezCHO0BCrTWKbZUMx2aTunnXzhGVKvlXlM+bQ=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=gQXCzDItUKCzV7RaXc7VR3A0rLkD8RFHnVPTRwbBfEHhv5L7GkmGPcWRRrd+VUeVfL 2NhVI0hLB0s6mI/1r/yghW977sx4FrXAKtdfPVcL8D6fBo3hN5YNvvs+48cB7YD7Ow/L Jls6PjUmkLm/ww5NvMu4rkyHVbILCK2bOv23jbMullHBj6m71oqU4l3HCPX7ElM/LbS5 AOGUc2kcZKsW5g/DPKyuvTJqxPzm93D/OXyrYv5ho25w444h7o5cmpMlFvcDCMSUR94V lvy/5njce5dcsqyczEFkS5/XRgrjwo7YILjEUvVAQpM2A6CFGHbJeakPQpu6JGIUkvs+ EUtg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mcUf5y83; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id af79cd13be357-7c00a924d50si191433585a.521.2025.01.30.08.34.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:34:29 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mcUf5y83; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0943F3857BB6 for ; Thu, 30 Jan 2025 16:34:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0943F3857BB6 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=mcUf5y83 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id B7A183857BA7 for ; Thu, 30 Jan 2025 16:30:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B7A183857BA7 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B7A183857BA7 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254646; cv=none; b=wt0DohHvLFss0ppq6MslNdztTKrNaZ/6ChHSYt89FhZ9HqAhIJdjA4Xndgb3iGjVT7i8AjdY2EfluAFqyo8qiZiT1WycQj+uX1bvDjwQVA0rqRo3N3Hm0mdhmBHY57ZKCs1mSekMJYdbFDRL8S47q9geAuIIwp0JLNA1s9F0Trk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254646; c=relaxed/simple; bh=0lqghNU3q3sqcS1/+ISpGdkVOduGLgM1znQx8Bp8NFw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=KWhU7AHetoK9j5lkqTfkOS4nU2+5hkbBendf77oSVdhhswdl0clkmeEgh5pwQTQ0EwG7DBeUdDLJU0ZcpG/iTf+Qy7gU3uYTFkCozUy5OqKla7AnwpuJecvAUxCTHNjvLeMOcMpKbFXZQH4O+6f9Atc1oJWeV+zqiiBAEqtlAG8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B7A183857BA7 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2156e078563so15095125ad.2 for ; Thu, 30 Jan 2025 08:30:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254637; x=1738859437; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ojfmkLezCHO0BCrTWKbZUMx2aTunnXzhGVKvlXlM+bQ=; b=mcUf5y83gaDy5Tx6PTzZ8ay0TKJYf2q7u8q+9p5acmt2Vt4qSSHIRWhKWFc9T+ivpR 5uKpCqjk0KIfW2/6hdPMqYMVp5pMQp01gmBR1EqnE3xCw7t+kwd5tK8gVBc55NMteR9L m0Lu2kwR14z3XCWHo3Vt4HZmrbDA2M0z+dBYIPXKiA5ncuqqCoRVgYvtuKSaaSw78s8o XNaqMqiuMY0a+4L9tu7VfrpFV7hisq4p8P59iUgTkTphHpvB20B3ldHCkREHtMLhRroR Be3n+5q/jMYhAB0mBCIjggk1aDVJQFcjsTB/T6LV+sfmA43tsTcDwIfQYteKyh6H+GtM udqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254637; x=1738859437; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ojfmkLezCHO0BCrTWKbZUMx2aTunnXzhGVKvlXlM+bQ=; b=gWXTWh+iLTpXhrYuRZMUZKUewElFsoxValZOPHuCUwb0vNjDwPLM/FQJWx2hl/VCCk /1wW5f6Y5PQy6klzmltgbFSJ6UGmWC3xgZ6ex46wT1YfiFFaVXa5hR73QLEVs5nJ+VAY K36P4JUy8zj/RG5GpxsfCe4gUqa/g6bFbaQLLEa9mKRVQ5zIL8YENwVHSymXRVJz2AZ+ 7XdVC3ZN7rLv3FtrGEqu79DANAx0V3S0Px+CVUv8oP5Xt+FDF+L899+s58Bsi6N/sPhy jHVaaXrC7fO290X3EKLiWBS6hllx205m08z53vL/teWb09vFWcZy/lfSega6cQhImdVH syHw== X-Gm-Message-State: AOJu0Yy1X5ytDVG1c16bs0krtKHnXxw3Ru+ljhlIaRF1QfQp5neWKw5c YCz8GwjX1IkNyNNmMMnprMYclnXsLggTa7PBeL4gHOb39t3UlEiCHnY2N9LPEgRvJx8mxVw6+S8 W X-Gm-Gg: ASbGnctCxPzf0PJBhmesVhaf5yXdKuDUCSbmkvreDtXalEp+Np5uUIjkYGvMjtU8BCg eUQ1sIaAMUJOEBDrVkBzBORwNEmMSmW+cagn0vvlu0c/cDujK/IKQ80XEuqDM6heanHh8/aVrU7 l7DHCzsIE0mVJcz6SzpdxUs4wGAkUjWf8VI9YME0hWWyJz+Hy0NmLctWI+m5wSXQ8PhwrEbptdA vZhaQGywwy6x6ALd43yIuSwxfVy6f86vu3y+RPZYV5Wt3ZYqd3DYosmZJf6XNL28oDUCjn9gSn/ oaUg307dFPBzQRyZWgGASnnz8Cw= X-Received: by 2002:a05:6a00:2184:b0:728:b601:86df with SMTP id d2e1a72fcca58-72fd0bf480bmr9516625b3a.10.1738254636680; Thu, 30 Jan 2025 08:30:36 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:36 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 04/10] math: Remove the error handling wrapper from acosf Date: Thu, 30 Jan 2025 13:29:00 -0300 Message-ID: <20250130163024.2032523-5-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency for about 2-10% and throughput for about 5-10%. --- math/Versions | 1 + math/w_acosf.c | 8 ++++++++ math/w_acosf_compat.c | 10 +++++++--- sysdeps/ieee754/flt-32/e_acosf.c | 11 ++++++++++- sysdeps/ieee754/flt-32/w_acosf.c | 1 + sysdeps/m68k/m680x0/fpu/w_acosf_compat.c | 8 ++++++++ sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 30 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 math/w_acosf.c create mode 100644 sysdeps/ieee754/flt-32/w_acosf.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_acosf_compat.c diff --git a/math/Versions b/math/Versions index 2611a6872f..e619f950f7 100644 --- a/math/Versions +++ b/math/Versions @@ -675,5 +675,6 @@ libm { # No SVID compatible error handling. log10f; lgammaf; lgammaf_r; + acosf; } } diff --git a/math/w_acosf.c b/math/w_acosf.c new file mode 100644 index 0000000000..aa59a35264 --- /dev/null +++ b/math/w_acosf.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __acosf, acosf, GLIBC_2_42); +libm_alias_float_other (__acosf, acosf) diff --git a/math/w_acosf_compat.c b/math/w_acosf_compat.c index e7037989f0..28754af265 100644 --- a/math/w_acosf_compat.c +++ b/math/w_acosf_compat.c @@ -22,10 +22,10 @@ #include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42) /* wrapper acosf */ float -__acosf (float x) +__acos_compatf (float x) { if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0) && _LIB_VERSION != _IEEE_) @@ -37,5 +37,9 @@ __acosf (float x) return __ieee754_acosf (x); } -libm_alias_float (__acos, acos) +# ifdef NO_COMPAT_NEEDED +libm_alias_float (__acos_compat, acos) +# else +compat_symbol (libm, __acos_compatf, acosf, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/ieee754/flt-32/e_acosf.c b/sysdeps/ieee754/flt-32/e_acosf.c index a5a4de4fc2..96e49f0c63 100644 --- a/sysdeps/ieee754/flt-32/e_acosf.c +++ b/sysdeps/ieee754/flt-32/e_acosf.c @@ -29,6 +29,8 @@ SOFTWARE. #include #include #include +#include +#include #include "math_config.h" static __attribute__ ((noinline)) float @@ -65,7 +67,7 @@ poly12 (double z, const double *c) } float -__ieee754_acosf (float x) +__acosf (float x) { double pi2 = 0x1.921fb54442d18p+0; static const double o[] = { 0, 0x1.921fb54442d18p+1 }; @@ -140,4 +142,11 @@ __ieee754_acosf (float x) } return r; } +strong_alias (__acosf, __ieee754_acosf) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __acosf, acosf, GLIBC_2_42); +libm_alias_float_other (__acos, acos) +#else +libm_alias_float (__acos, acos) +#endif libm_alias_finite (__ieee754_acosf, __acosf) diff --git a/sysdeps/ieee754/flt-32/w_acosf.c b/sysdeps/ieee754/flt-32/w_acosf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_acosf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_acosf_compat.c b/sysdeps/m68k/m680x0/fpu/w_acosf_compat.c new file mode 100644 index 0000000000..c49aeb2e06 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_acosf_compat.c @@ -0,0 +1,8 @@ +/* m68k provides an optimized __ieee754_acosf. */ +#ifdef SHARED +# define NO_COMPAT_NEEDED 1 +# include +#else +# include +# include +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index 050722cb73..069f6839af 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1277,6 +1277,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 41bd47abeb..608dc3af3a 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1245,6 +1245,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 02a85f4998..9640285af3 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1404,6 +1404,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 5b0eabbc7c..2d2927bfa3 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 5b0eabbc7c..2d2927bfa3 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 6efb2e5e83..0fc179462f 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 4b277fa849..f226ddf60d 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1284,6 +1284,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 5b0eabbc7c..2d2927bfa3 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index dad4910e3b..254d54c946 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index dad4910e3b..254d54c946 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 2435460eef..67e5314104 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index d1fe3c91ea..515a9446ea 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1245,6 +1245,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index d46ae7cef1..f6bc97d98b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1067,6 +1067,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index e90314df44..7a6854f8e2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1066,6 +1066,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index 9e84016a29..923e079978 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1060,6 +1060,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 685cad8e2c..8ec0f6dd8b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1429,6 +1429,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 0c5b2d0aaf..400aac290c 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1348,6 +1348,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index be929adce1..2c3f38d54b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1348,6 +1348,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index bb3dcaebf7..848ddfd475 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index bb3dcaebf7..848ddfd475 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -920,6 +920,7 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index ff5f932ddf..d47b24a0da 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1355,6 +1355,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 052a0012fe..4d0ce6d826 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1245,6 +1245,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 0794c4ad52..887ee28cda 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1278,6 +1278,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index 19ffca6af2..69aa9901f7 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1278,6 +1278,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F +GLIBC_2.42 acosf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F From patchwork Thu Jan 30 16:29:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860866 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp266497wrr; Thu, 30 Jan 2025 08:33:16 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVZefcIZG+1sutwJli0QNKvbiQGVQlnHrUh1N4KyaLK3ohAf2uinBJkeG7VKgFwaUJ2KDsEUg==@linaro.org X-Google-Smtp-Source: AGHT+IEPMJoN1lm1QhNKLmiRaDxMup3ylMTPJsedsFRVa+anHTbfae2A/ILHDf8jSTdFIzyPn9kq X-Received: by 2002:ad4:5945:0:b0:6e1:728c:a5d2 with SMTP id 6a1803df08f44-6e251b451b7mr51739496d6.6.1738254796615; Thu, 30 Jan 2025 08:33:16 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738254796; cv=pass; d=google.com; s=arc-20240605; b=kVXVDe/UdNs0XL5rl6uHKcCNGzLPHvXk6E3/oV4CO04cx3RCspTOfliJ0oV0DjJBrN Kmvxyo6ZTVQpzZrqi1cOVXh9Ftv+1uJ++LCP28Q4fNvnDXhWg46FkqWOZWFdN3jJNO7r H3h67GoK/ldOqGC2bQdDHA3v6D8wgeYMBkKgoyLYJ3JAYg/rbkoKD+aEpSgl398tXqUZ 0fNPCNTBIehvQs+SPTSqKiXcrO9NgrrYw2oWJaNcHU16HQfFEUtTqm42kLg6Nh3QDv29 q9LLSPdQGVJJ7CAp0t66oNVRWs+TPL5Obf8Fx6ybj4JDvQFpZHR7Ufrq/fIwvLEyT3KA Wx6Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=nllQ6IKLSMWoUK/BERq7X/iX6fQr0Nt8H5XIGaI8+Gg=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=V7b9TR01CGBiCY8uhIfzS9GbrnmdvLyKuSUmEzj0+XoWlOqMyX7yIy954UFwcvwk+0 /GFcR7K2KogxLlpryHI+VX0exTSR6Q1Dj6aTLlwY210JZ3ULfx7CYNGSRgaQqSaYU6sF AFRI5tsyoSCRcDCAmRdk014YAG3wa6z/JfhzRnPzmQSm5RQ8MFs2Phpe74YzqTKreYFv gmktiORuYseqfSSGcURQFGCmk8xYBxrKk/o3K3kJnQgEVNuynbFQRsefF9jQSjp+fnvo Wx/9fuj8NXfAhhh/LYi1wY7D9VItg/wBBo6VdsO3PK2haSyhtXMWY66b6sGIHevFxz18 gxKg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IIcdqM+a; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 6a1803df08f44-6e254818387si16184616d6.90.2025.01.30.08.33.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:33:16 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IIcdqM+a; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 33A143857820 for ; Thu, 30 Jan 2025 16:33:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 33A143857820 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=IIcdqM+a X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id BAA6B3858C54 for ; Thu, 30 Jan 2025 16:30:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BAA6B3858C54 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BAA6B3858C54 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254646; cv=none; b=n8eOYDWnTU/2IpWbF1GS5fQhXzeNsfDAZO/r8aqOIpwG0d0rFsIXNOEFpOcJTtrGcrFjUpCGYW0lhwBWBHWNcKwdzMU30k2HW6ZSdnclBK3ok1OQpTNXj3CT2zWHyj5cwVj9hYWoN5pMDIFmWH81PzbCMM0VAAF3HJSjtVsLxTg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254646; c=relaxed/simple; bh=aOuJShIHIsE0AD0qfv4v17aBsUgNkfu59BE5a3bLLns=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=PfcmftFJILiccKSZ09qwnGUZ62FKZUdWpEpztbx5+/zmaHSLR1PQ2ouqw5/6ju/7ejns4c8spkW/c+h+FvIiBtyAT3yk3sxSUsVFMcn8MrZU9IRBqqXJg/60hvQqd/gXss4cwLFnSO/7AZthg7ZvDjV+BujxjK4FV4GrKFy8v4k= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-21631789fcdso29142495ad.1 for ; Thu, 30 Jan 2025 08:30:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254639; x=1738859439; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nllQ6IKLSMWoUK/BERq7X/iX6fQr0Nt8H5XIGaI8+Gg=; b=IIcdqM+aZqik4Sa7Z+UGfjC4qyESGwd5Wl7DCmWyAwDJGdQAg0B+7bUnxA+3ikBqut KwHTaC3ga/mHfpHEKzMHijSiffhpe+2Ca7UIDdGpfnc7hR5u9fSF2vA6DEkADc54RjXm OgF3VIZQOSvOf0lMGoCBsKzCfgAHA4g3wiCO29c3mowJI2Axxt4sQyIxY0GtidiO+qJp ZhTq3c8bwxfjRUUWJ3m0FpN2y9lq8r2RisnJxsJx4N2TCySv6Aj7r9wMEzDKmRTCxTmm HWHkTJOXlJYXi2lCDwAE3Nu8mY5TMVYaKz+3iChemOMpEu8QIOGBiJ5ZyC7bRluU2OTk CZig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254639; x=1738859439; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nllQ6IKLSMWoUK/BERq7X/iX6fQr0Nt8H5XIGaI8+Gg=; b=mN7OGKhMepzpe5taqy92G5WWZh+AOLkGxPnMHVzQotBwec1LCVNsRa4QHoL8EujC9/ KwBLXrp0mAZcxk49kj/zaYpaGZV53+BBuZyzYZGPiyl+KIAtt309aAaVW/zYp+3gyeEj GAjbDV8rXwj5Rf6TLIHwRJYt0by4xtcFx5VBsgD+xaZerJkbRBhN2DOVP7Q3QeCwWky0 quuhFXs9f2XZYuWyRLP2zMdiWhRXEVTSfJq7BoRu9wLWb/WpEHpz5vr8Q8xEiVSK5fcu NRN/10XLOk+sISrMq9fhjttFsDboJC13xf9xPy6BPKumzPA+RGbOLgCKUJWESlkKFMIZ Ncxg== X-Gm-Message-State: AOJu0YzB/99oQX1lr+2FPyROyB4Dz7472rKfdigKkCCibVKKejjOHqiM Y1ivHeC9yEbAuopPrITM3WUVGl2k+VFjqHxoQpk+hLag/r2aQl7HsspvsD23bm1taGG95AfZrcS c X-Gm-Gg: ASbGncunGCm8znn3xmv/5CJD48e3Q8djcz56LmLEtx0Mgw6Bo95HTwoHaOzKPbE6SsT /sRn9d1ArBMyx1v3Vnqt3BE82qDlBEPw5zaZbuHxZRtqWBUJbJW8kpjoX3BVl9dkPLOpVJ8aUTB lvtSczj/nv7JBAeP4wyX7j0m694f4xPOVrXYBQEFojlH7YaC3GHeTInVTQDEmebYdPt166j2Mj7 regG3el2h5+PG6qYjsS0fxwi3sz9GMmvscjB+iwCiEI8Y7RFeyVVWiNc5zlEjazpJXjozVjgsN7 T3Khn6TO3OIoOzZKvwT+pERDmaY= X-Received: by 2002:a05:6a00:3a0f:b0:724:db17:f975 with SMTP id d2e1a72fcca58-72fe2d5eebamr5752746b3a.12.1738254638658; Thu, 30 Jan 2025 08:30:38 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:38 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 05/10] math: Remove the error handling wrapper from asinf Date: Thu, 30 Jan 2025 13:29:01 -0300 Message-ID: <20250130163024.2032523-6-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency for about 2% and throughput for about 5%. --- math/Versions | 1 + math/w_asinf.c | 8 ++++++++ math/w_asinf_compat.c | 10 +++++++--- sysdeps/ieee754/flt-32/e_asinf.c | 11 ++++++++++- sysdeps/ieee754/flt-32/w_asinf.c | 1 + sysdeps/m68k/m680x0/fpu/w_asinf_compat.c | 8 ++++++++ sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 30 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 math/w_asinf.c create mode 100644 sysdeps/ieee754/flt-32/w_asinf.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_asinf_compat.c diff --git a/math/Versions b/math/Versions index e619f950f7..565be955b0 100644 --- a/math/Versions +++ b/math/Versions @@ -676,5 +676,6 @@ libm { log10f; lgammaf; lgammaf_r; acosf; + asinf; } } diff --git a/math/w_asinf.c b/math/w_asinf.c new file mode 100644 index 0000000000..b91cc49446 --- /dev/null +++ b/math/w_asinf.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __asinf, asinf, GLIBC_2_42); +libm_alias_float_other (__asinf, asinf) diff --git a/math/w_asinf_compat.c b/math/w_asinf_compat.c index e4927426f7..9f492f7504 100644 --- a/math/w_asinf_compat.c +++ b/math/w_asinf_compat.c @@ -22,10 +22,10 @@ #include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42) /* wrapper asinf */ float -__asinf (float x) +__asin_compatf (float x) { if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0) && _LIB_VERSION != _IEEE_) @@ -37,5 +37,9 @@ __asinf (float x) return __ieee754_asinf (x); } -libm_alias_float (__asin, asin) +# ifdef NO_COMPAT_NEEDED +libm_alias_float (__asin_compat, asin) +# else +compat_symbol (libm, __asin_compatf, asinf, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/ieee754/flt-32/e_asinf.c b/sysdeps/ieee754/flt-32/e_asinf.c index 944bf6f5ce..ad896b656b 100644 --- a/sysdeps/ieee754/flt-32/e_asinf.c +++ b/sysdeps/ieee754/flt-32/e_asinf.c @@ -27,6 +27,8 @@ SOFTWARE. #include #include #include +#include +#include #include "math_config.h" static __attribute__ ((noinline)) float @@ -57,7 +59,7 @@ poly12 (double z, const double *c) } float -__ieee754_asinf (float x) +__asinf (float x) { const double pi2 = 0x1.921fb54442d18p+0; double xs = x; @@ -128,4 +130,11 @@ __ieee754_asinf (float x) } return r; } +strong_alias (__asinf, __ieee754_asinf) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __asinf, asinf, GLIBC_2_42); +libm_alias_float_other (__asin, asin) +#else +libm_alias_float (__asin, asin) +#endif libm_alias_finite (__ieee754_asinf, __asinf) diff --git a/sysdeps/ieee754/flt-32/w_asinf.c b/sysdeps/ieee754/flt-32/w_asinf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_asinf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_asinf_compat.c b/sysdeps/m68k/m680x0/fpu/w_asinf_compat.c new file mode 100644 index 0000000000..d419736eb3 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_asinf_compat.c @@ -0,0 +1,8 @@ +/* m68k provides an optimized __ieee754_asinf. */ +#ifdef SHARED +# define NO_COMPAT_NEEDED 1 +# include +#else +# include +# include +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index 069f6839af..3063ff1980 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1278,6 +1278,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 608dc3af3a..4f3e67b163 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 9640285af3..6ee87e7ca8 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1405,6 +1405,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 2d2927bfa3..1a8843e044 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 2d2927bfa3..1a8843e044 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 0fc179462f..fd14c2106a 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index f226ddf60d..d8e64a9096 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1285,6 +1285,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 2d2927bfa3..1a8843e044 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index 254d54c946..fa421fe3d7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index 254d54c946..fa421fe3d7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 67e5314104..bf398cac63 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 515a9446ea..35c239ebb9 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index f6bc97d98b..6c0390ed0a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1068,6 +1068,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 7a6854f8e2..98a0aef13a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1067,6 +1067,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index 923e079978..e2604bce61 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1061,6 +1061,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 8ec0f6dd8b..f00ae13045 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1430,6 +1430,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 400aac290c..bd81a6f4b7 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1349,6 +1349,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 2c3f38d54b..29a7da583b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1349,6 +1349,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index 848ddfd475..14f765b302 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index 848ddfd475..14f765b302 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index d47b24a0da..bcaf43a7b8 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1356,6 +1356,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 4d0ce6d826..39174aca28 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 887ee28cda..babc57384c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1279,6 +1279,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index 69aa9901f7..bd871170d6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1279,6 +1279,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F From patchwork Thu Jan 30 16:29:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860861 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp265479wrr; Thu, 30 Jan 2025 08:31:40 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV0oxaTedcfMuIDvQWztNwpOayrH8TNXOj/WfMVTEYt32fE9htF7yuK9MYQtg79hqpZeuPYuQ==@linaro.org X-Google-Smtp-Source: AGHT+IE+EHVcTMK4finNxyaFB+GrLBK67sa4DT6z6l6wHjDzDgcjj8cnkrEciflprUvFc5JRHFH4 X-Received: by 2002:a05:622a:18a7:b0:46a:3709:6780 with SMTP id d75a77b69052e-46fd0a972damr116049371cf.19.1738254700773; Thu, 30 Jan 2025 08:31:40 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738254700; cv=pass; d=google.com; s=arc-20240605; b=dyEXo6Hs9MyPgfrrzVo+QNHL2Z/g4NKSP8+uDEIkxITk8uSBPTY/dqCWqnJIF8NP2t +R9NtT9JgTD0FHaZGGHyL6pNjB/M0oMeqBpT7tQbcKK0qm99KBvoSc5uq35hkPnnnQ1f Ud7V8L8CCamTOkjcoeEeJb9BfRLFvHmoUjplAIQnxj+sF4blH77WZ/RoThRZztJnzYUU dNB7Oupklfc60ypl5+lmkfJ1UYC4aj6g1adwzbdZmmh2Q3SmVBIPx3RD1lvdXKAnl1QA 07iV6NgfyFA6b01tKYOVOmN61oU6eOU1I5Iu36qzKQq5+PnkR8PMh0POS3LSyqIf8AlZ IS1g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=H0a1fs9d2uBv/vBhGiayC56FnH5EyoEuubecr87rDKI=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=GujmAfMwZYUWFqbl6MPKnUgnxBSlVrXkWa9oeLVP3/oeAX3kxPbS2Ke1J0DpQlYvIr H13ZwRuk2OVQFrctgZ5kc3jTi0oU41fG3RF5bvwAQzp67+K/WVDGK8sZrZh7izo0nw+o 22Y7lVGUQcPWiB5h6Qk0xujVSFlVIxejeXiRZaMQffZbNhkO+rA4jV2oOmdVyKEYJbMM sON8yNCLUXekmp9DY4boPz8Dve1n2+rzpgMccOuDvHS4L8C6G9gJbTyCouH5s4hM3yYO NV2+NqahYNbeNniVkFlR7J0bgqQoU1xpN3Qwg+Mw0agF40pnHAyF35iOQ31qiAlOiFbP objg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="LjXP/R5K"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id 6a1803df08f44-6e254835562si17408136d6.114.2025.01.30.08.31.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:31:40 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="LjXP/R5K"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 482693857B9E for ; Thu, 30 Jan 2025 16:31:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 482693857B9E Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=LjXP/R5K X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by sourceware.org (Postfix) with ESMTPS id B849C385770F for ; Thu, 30 Jan 2025 16:30:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B849C385770F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B849C385770F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::629 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254649; cv=none; b=mDALM+ES0BEgq4SUorIhbY6VBhlkmzPKu8qMFT7I8DZBMbRGRJWNenUoO3WefVc2RyFwVy11Gd6X+7p4hqLv2LlnNyzBrpw8PkRPaaV/+QHLbtMS2tYW8MaeEBaDlg/764wZ4lfuJ3c8N0VhvjHP2JyDIraph6Rf85mVAzJVQK0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254649; c=relaxed/simple; bh=wWiCddcT9kuEBWOtpn+uxw4+b9+OQD7AKgqzBKh+ngs=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Bu3Gmj5qjAMpm9iWNxlZxEGzSR1Q5020Q3SngWsG7wbzwGPelLPt1BOJNCpS+Vlr/UxQmuGK5WQ0k7i6pEmwBh9m3bFX1dg48MVoRpJivPWhnqJ0S3joC0vWTYNPsAR3zk7q4+rCpog7EgzaK9KF5RDgDapQ9Xrb35kneYGvsVM= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2161eb95317so18097335ad.1 for ; Thu, 30 Jan 2025 08:30:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254641; x=1738859441; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H0a1fs9d2uBv/vBhGiayC56FnH5EyoEuubecr87rDKI=; b=LjXP/R5KlBbdiI/C/XrRvDw+bMm32I8LTqp+/r1ExN6WN03JcPO7pE+dUTyGifvtgb 4r3mGp6q72tPJrw8NoCcEnmie2tOGoSYhiPBMTSGYaafUynpO+sHjcdKThxie7+F9hT4 7asoHT9bsRD+PQPXgD1cbg9BkDeZI++23nnvPb8x9gsC6u5s+hS4ktTrHepaajhwRImo Hfv9OCp60JdRlx8dvyWLkZP+54p/cEZ5pvbbKiph8RwOQWiNY0uZWuTlpu/5uyM8dEN+ ff+u8V/3SeWKfKCCwFHdBzEUKeUinuqqxBzYkIlZ9TUKpBUuU5NRiaIW0dsL/o762gLj Ga7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254641; x=1738859441; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H0a1fs9d2uBv/vBhGiayC56FnH5EyoEuubecr87rDKI=; b=ChJEY1uUjUa0qsOx4rkgD0PUA3pOJycOQmJhZeGyiop/Jhzsmwq6VDl4GwLG+1KQ9c rhi+i6cleA56C1GEj1X6ORriTPrWEojHnFnA+jU8lGD3CEBFJLo3MXnpqVPkuZD+/7NH Br3Yh5DLhU7tSXOFAqDAiTshBsAfc6vZXjXnL9OGwNJYs2tuXByOXrKIYjYP/w+PUelJ a7ZObM/Y3VBcikoAXnKBsBOkF+dJ0+L863muMMuibKT4c3D9mEp7y0j2stc2OzqSYuyC rhBgyyhiQKnfRqaFk5cU8EftoBzjT+T0SBsDzT92j8Jo7odTvO5TkNAEOWYnmjn6JKtT OkOw== X-Gm-Message-State: AOJu0Yyxm57pjtL5diKIpCh+s6NIJVv/p/QnKI0xfSQOyAA6iVlVSNcS /4jYqd+I//5jCTeEsLCvyMKg7Z6mGXZojQ+ig4r002CV4I8ZEho/1Mc0C2sQJeCoLZ3HA1oTgVe N X-Gm-Gg: ASbGncusJBQuQKAilf8ao0wSz7QvttPVK7TyKl2hTT2hwmUApZK7HaLFqQ5n3GIQuba s4hPXVBilMtxr2R8cQPIRkSdTf25FYZjwkP7d/qwIaHzQXol/VjF4Q5R5WuuJb3eBhZ82VdgLj9 nwJFoLltvC3X4G8hL9h5JoXcjwUonAxg41YfDtxxB2PQgCtk1s70KVGMDDSxmuznT/zHx9/W8qR A87ZpQBPqTCwRndiZVU+pAa+QCll1CVQPbXWwmlsNjydTmyTKGZOV6FODR6US8UN3U62LOpv7aY kxlkbZyQg+Q9P1nIp9Gl2Qj3/JU= X-Received: by 2002:a05:6a00:2443:b0:72d:8d98:c256 with SMTP id d2e1a72fcca58-72fd0bf3b0cmr10895124b3a.6.1738254640602; Thu, 30 Jan 2025 08:30:40 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:40 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 06/10] math: Remove the error handling wrapper from acoshf Date: Thu, 30 Jan 2025 13:29:02 -0300 Message-ID: <20250130163024.2032523-7-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency for about 3-7% and throughput for about 5-10%. --- math/Versions | 1 + math/w_acoshf.c | 8 ++++++++ math/w_acoshf_compat.c | 6 +++--- sysdeps/ieee754/flt-32/e_acoshf.c | 11 ++++++++++- sysdeps/ieee754/flt-32/w_acoshf.c | 1 + sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 30 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 math/w_acoshf.c create mode 100644 sysdeps/ieee754/flt-32/w_acoshf.c diff --git a/math/Versions b/math/Versions index 565be955b0..a576097c50 100644 --- a/math/Versions +++ b/math/Versions @@ -677,5 +677,6 @@ libm { lgammaf; lgammaf_r; acosf; asinf; + acoshf; } } diff --git a/math/w_acoshf.c b/math/w_acoshf.c new file mode 100644 index 0000000000..1e5b4a75ac --- /dev/null +++ b/math/w_acoshf.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __acoshf, acoshf, GLIBC_2_42); +libm_alias_float_other (__acoshf, acoshf) diff --git a/math/w_acoshf_compat.c b/math/w_acoshf_compat.c index aa5da5c436..77f97cb767 100644 --- a/math/w_acoshf_compat.c +++ b/math/w_acoshf_compat.c @@ -21,10 +21,10 @@ #include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42) /* wrapper acoshf */ float -__acoshf (float x) +__acosh_compatf (float x) { if (__builtin_expect (isless (x, 1.0f), 0) && _LIB_VERSION != _IEEE_) /* acosh(x<1) */ @@ -32,5 +32,5 @@ __acoshf (float x) return __ieee754_acoshf (x); } -libm_alias_float (__acosh, acosh) +compat_symbol (libm, __acosh_compatf, acoshf, GLIBC_2_0); #endif diff --git a/sysdeps/ieee754/flt-32/e_acoshf.c b/sysdeps/ieee754/flt-32/e_acoshf.c index a0a0abc2dd..56d36b5679 100644 --- a/sysdeps/ieee754/flt-32/e_acoshf.c +++ b/sysdeps/ieee754/flt-32/e_acoshf.c @@ -27,6 +27,8 @@ SOFTWARE. #include #include #include +#include +#include #include "math_config.h" static __attribute__ ((noinline)) float @@ -43,7 +45,7 @@ as_special (float x) } float -__ieee754_acoshf (float x) +__acoshf (float x) { static const double ix[] = { @@ -198,4 +200,11 @@ __ieee754_acoshf (float x) else return as_special (x); } +strong_alias (__acoshf, __ieee754_acoshf) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __acoshf, acoshf, GLIBC_2_42); +libm_alias_float_other (__acosh, acosh) +#else +libm_alias_float (__acosh, acosh) +#endif libm_alias_finite (__ieee754_acoshf, __acoshf) diff --git a/sysdeps/ieee754/flt-32/w_acoshf.c b/sysdeps/ieee754/flt-32/w_acoshf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_acoshf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index 3063ff1980..b6f55e1e85 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1278,6 +1278,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 4f3e67b163..c939ada587 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 6ee87e7ca8..7e1d0cef30 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1405,6 +1405,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 1a8843e044..c6ef147356 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 1a8843e044..c6ef147356 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index fd14c2106a..40050fbb6a 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index d8e64a9096..7b63fa103c 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1285,6 +1285,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 1a8843e044..c6ef147356 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index 197e85b7bb..ad1f9b20dc 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -956,5 +956,6 @@ GLIBC_2.41 tanpif32 F GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F +GLIBC_2.42 acoshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index fa421fe3d7..a5f5762406 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index fa421fe3d7..a5f5762406 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index bf398cac63..ce75033ac7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 35c239ebb9..b10a87aa26 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 6c0390ed0a..36ce6efc66 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1068,6 +1068,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 98a0aef13a..b9dc71ae16 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1067,6 +1067,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index e2604bce61..ae997f0052 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1061,6 +1061,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index f00ae13045..68a2bad6df 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1430,6 +1430,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index bd81a6f4b7..0331713c1a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1349,6 +1349,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 29a7da583b..da49e189f5 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1349,6 +1349,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index 14f765b302..a3fc39e3cb 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index 14f765b302..a3fc39e3cb 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index bcaf43a7b8..42bce13b21 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1356,6 +1356,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 39174aca28..2f2a699b6c 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index babc57384c..4291327fce 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1279,6 +1279,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index bd871170d6..9a3c7fb596 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1279,6 +1279,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F From patchwork Thu Jan 30 16:29:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860865 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp266312wrr; Thu, 30 Jan 2025 08:32:55 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVXjPpIhUwTiE1zWR1FV94xolUTyBGWNqdtgV1FTYiYHmS++psuM6Uv6/eMRx4NHI4oSKMBIA==@linaro.org X-Google-Smtp-Source: AGHT+IFFxhHqc3HL+uMFLZt4sQofxbXwRx5Yx2Z27vHiKQKxCkMeuO1uPOFEwWHJkue330NWuAnN X-Received: by 2002:a05:6214:2468:b0:6d8:aa52:74a3 with SMTP id 6a1803df08f44-6e243c7320cmr134753806d6.28.1738254775595; Thu, 30 Jan 2025 08:32:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738254775; cv=pass; d=google.com; s=arc-20240605; b=bg/xptnqAD8iBXKovrIhTbbbl1ZqvvpVC6yEqtP7qYVVedJ8P750Msq4DO8BMKfniz diLUfRMKPtmYH3dQ66dos21ZZHZ52wYcuTNvc8P8kKdwMl7lVYnFg4fko0Y/gyU48UNR jmQ0VUzYZFb9tvpR2tZKQ09LaZsyXImNPj1jWG/BcP3Us4wibaaQw95ZiYPCh5qpimNi +iAVXLDbn+04YM+Q6JJc6tiFemGXkzdEtN24b2qtatuuUXgbxY2jecCh823xR1m+Y2kk lEt2PSiJ1riGiZEWtc327Y7hYi8OiFjEq7MPp8Ov6lNRaLLlXYGlQWzt/3tMiy0GfzFH Kjhg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter:arc-filter:dmarc-filter :delivered-to; bh=at1QYS3DIBj1yQK5TBtiC5K0k/5RbS0IO/yLsX3ykcw=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=Skow/69JyoH2TNgeaEkpi9rdjJimdzDITPXNbY36EdiFnrE4Rek3nj0hivfvTgQzb0 jv1SZ+JFddUOd68qIfJ9EAgm30dIWtNjQKfWP3m7PUjvkHM3ldSQcr+y2Q8H7s0dvA2k kycDisRO0cmSksKSpdIQ9NFwcEfeRxi+i8nKIifKAkO4QpcTsg9IbGef65Uto9UYeRn0 lBJ3DKMymXZCv7z8WMAYcr17kM3Tz1CNnfdTXgQoEFEWzGTqQntDDPEgOIqjE4TQSG9T dZ68S99HQpT+LcnRZexvNVMibfF9z6duNQnTm+Us18W7+3+4fF8ZtD+OdC4zo3SfBHHd clvA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=lC5A9XKo; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id 6a1803df08f44-6e254814080si16748576d6.46.2025.01.30.08.32.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:32:55 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=lC5A9XKo; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 41E323857709 for ; Thu, 30 Jan 2025 16:32:55 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by sourceware.org (Postfix) with ESMTPS id BA6783857831 for ; Thu, 30 Jan 2025 16:31:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BA6783857831 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BA6783857831 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::632 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254661; cv=none; b=AytQUGX+pydl+JFHKwDHUdmKf97RT34Yu2udS4C1yuGer/hpIuWi9AXkZVRsyHU6FfmI6QrPhhWKSOedKsMYY0rkXOayEJfIxQsDkAtT7h2NT1RnFKOd02eNBdvUrqYq6LxP4pbFIRTa3uFD9UKiYvJzDR67ZW9MN/Buig1snyQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254661; c=relaxed/simple; bh=cvnHrZR0Jobm9+yuMNsFT0JcFU/rbHri8x1I0PLDNjE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=dVqpQ4i6MmSLHHP5y860wGqI7V0P9dbs/KlktYxzU4uHbMTvP/QdAeP0dEg/g3aCiuyduWalKu5IlzJt79FLggnRXTUFRgno0rEDM1LQzYi6BSq+wrzOD3vw6KecVCMYB5ZoW1o263UnxmXczyVW+Azbpdu/2NN3EOVgCaJ/c9A= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA6783857831 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=lC5A9XKo Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-21619108a6bso17777665ad.3 for ; Thu, 30 Jan 2025 08:31:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254643; x=1738859443; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=at1QYS3DIBj1yQK5TBtiC5K0k/5RbS0IO/yLsX3ykcw=; b=lC5A9XKoEQP2uYftVXIgYSLGXwRYofBaBi+YYu3G5lFBykqCjfLmBTDgk79kSDWtbA xiOB+jRxDHt19LtDuWtVXkpT6VpwmACM4MebkWUuubkQUzU9QLSfIju0IurBsEqEgSaU ImqzWfSmK6QfffN19TZuVSR4kbEg+wqE634hfd9s7gx+PMTNMfdNmNy9/gZTmbs5pT29 Fu3ItbzLjy0scpi/1OripbDQMTz8HLvaN9ydDcYsh3CeyM9YgJqHd/UGxjNh565mvwZc 5cKcTOv3ZtvMxq54XZXcA2x6w98l3tYpOYnEG0yUVHvOjsAWznZphU5/sC3fSjLtUOsp ZNDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254643; x=1738859443; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=at1QYS3DIBj1yQK5TBtiC5K0k/5RbS0IO/yLsX3ykcw=; b=QN7upEZOO9RDbAySY35SW9ux3E5h4vIaM5nvhOU+ZNZUHiKd0YSrkqXBat7C+LYHjZ WIHJjgZt97comotduXz1i/zEJedMin9jHJ1/rwp9j+28qboSeDUbqFXwqsFefjSZxeWA KxvQtvxg/DnPFgGPK10f9ktwfjnFdbjj2pvDjewJgoFfBZ3ytb8JUl654JkDTSITL8rj lHA84sVPhxJ0GuEyHpBewz5lTDpRXG7zpmvogiL4wIHdX7QU6eIRb8Y80uxSJz7BzLaE WcVfmjvLsOqHp031gz0qy1Y79hhEKFr1xFjOh8gIoVNoizPeQv6HPzzIlUMfuQiZ61hd 0EGw== X-Gm-Message-State: AOJu0YwLCYlCXmM/tyH+4VvRxXmP+QfF8Y8d8SyOzI1y23/WqrdG5ZSp Oh+4xpmZAB0K6wD5Vp8N8sqq0aVVjegp/EYgimTYDpMqrM68ikMmfTVEydjnRXNT1OWlKcKWyi1 V X-Gm-Gg: ASbGnctaqAH+HO6X+ikOh+2qIwbyckHu8ey71QaHK5siI5yffzGYnL8im40Mckqk7xv ybau0bcgxqXMyGTpBQTEdXNAuSUGsTLkSR5sgHPQ2USkm721wFM9CVTB4Y45Zty4Ci1DKNL9wlD YClvR8BYSWejl8EEwCGn0u6fqJ94cQXAdl/EhPC88CXGEdZjb+FNUoE6a5fn1yGHSxW/5HNdzNX klnNfWuN6DyBKr3Mz2IMUvQ2ZSrdC7RWjO7wpQyFFle5+vof7Mbs17LgzIKt2fiEGXSDKcxu8sR lih47YUz+RwIaWtIjMoOP5PEUTA= X-Received: by 2002:a05:6a20:914e:b0:1e0:d89e:f5bc with SMTP id adf61e73a8af0-1ed7a4dd124mr11514957637.11.1738254642546; Thu, 30 Jan 2025 08:30:42 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:42 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 07/10] math: Remove the error handling wrapper from atan2f Date: Thu, 30 Jan 2025 13:29:03 -0300 Message-ID: <20250130163024.2032523-8-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency for about 3-6% and throughput for about 5-12%. --- math/Versions | 1 + math/w_atan2f.c | 8 ++++++++ math/w_atan2f_compat.c | 11 ++++++++--- sysdeps/ieee754/flt-32/e_atan2f.c | 19 ++++++++++++++++--- sysdeps/ieee754/flt-32/w_atan2f.c | 1 + sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c | 8 ++++++++ sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + .../sysv/linux/m68k/coldfire/libm.abilist | 1 + .../sysv/linux/microblaze/be/libm.abilist | 1 + .../sysv/linux/microblaze/le/libm.abilist | 1 + .../unix/sysv/linux/mips/mips32/libm.abilist | 1 + .../unix/sysv/linux/mips/mips64/libm.abilist | 1 + .../linux/powerpc/powerpc32/fpu/libm.abilist | 1 + .../powerpc/powerpc32/nofpu/libm.abilist | 1 + .../linux/powerpc/powerpc64/be/libm.abilist | 1 + .../linux/powerpc/powerpc64/le/libm.abilist | 1 + .../unix/sysv/linux/s390/s390-32/libm.abilist | 1 + .../unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 + .../sysv/linux/sparc/sparc32/libm.abilist | 1 + .../sysv/linux/sparc/sparc64/libm.abilist | 1 + .../unix/sysv/linux/x86_64/64/libm.abilist | 1 + .../unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 30 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 math/w_atan2f.c create mode 100644 sysdeps/ieee754/flt-32/w_atan2f.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c diff --git a/math/Versions b/math/Versions index a576097c50..27d4e94613 100644 --- a/math/Versions +++ b/math/Versions @@ -678,5 +678,6 @@ libm { acosf; asinf; acoshf; + atan2f; } } diff --git a/math/w_atan2f.c b/math/w_atan2f.c new file mode 100644 index 0000000000..9b3d6c4bbf --- /dev/null +++ b/math/w_atan2f.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __atan2f, atan2f, GLIBC_2_42); +libm_alias_float_other (__atan2f, atan2f) diff --git a/math/w_atan2f_compat.c b/math/w_atan2f_compat.c index 047f853f2c..28589a7c35 100644 --- a/math/w_atan2f_compat.c +++ b/math/w_atan2f_compat.c @@ -26,9 +26,9 @@ #include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42) float -__atan2f (float y, float x) +__atan2_compatf (float y, float x) { float z; @@ -40,5 +40,10 @@ __atan2f (float y, float x) __set_errno (ERANGE); return z; } -libm_alias_float (__atan2, atan2) +# ifdef NO_COMPAT_NEEDED +strong_alias (__atan2_compatf, __atan2f) +libm_alias_float (__atan2_compat, atan2) +# else +compat_symbol (libm, __atan2_compatf, atan2f, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/ieee754/flt-32/e_atan2f.c b/sysdeps/ieee754/flt-32/e_atan2f.c index 82a0151293..19906b68dd 100644 --- a/sysdeps/ieee754/flt-32/e_atan2f.c +++ b/sysdeps/ieee754/flt-32/e_atan2f.c @@ -3,7 +3,7 @@ Copyright (c) 2022-2024 Alexei Sibidanov and Paul Zimmermann. The original version of this file was copied from the CORE-MATH -project (file src/binary32/atan2/atan2f.c, revision 7835c5d). +project (file src/binary32/atan2/atan2f.c, revision 9b28a4a). Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,9 +25,12 @@ SOFTWARE. */ +#include #include #include #include +#include +#include #include "math_config.h" static inline double @@ -89,7 +92,7 @@ cr_atan2f_tiny (float y, float x) } float -__ieee754_atan2f (float y, float x) +__atan2f (float y, float x) { static const double cn[] = { @@ -269,6 +272,16 @@ __ieee754_atan2f (float y, float x) } r = th + tm; } - return r; + float rf = r; + if (__glibc_unlikely (rf == 0 && y != 0)) + __set_errno (ERANGE); + return rf; } +strong_alias (__atan2f, __ieee754_atan2f) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __atan2f, atan2f, GLIBC_2_42); +libm_alias_float_other (__atan2, atan2) +#else +libm_alias_float (__atan2, atan2) +#endif libm_alias_finite (__ieee754_atan2f, __atan2f) diff --git a/sysdeps/ieee754/flt-32/w_atan2f.c b/sysdeps/ieee754/flt-32/w_atan2f.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_atan2f.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c b/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c new file mode 100644 index 0000000000..ebc8035961 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c @@ -0,0 +1,8 @@ +/* m68k provides an optimized __ieee754_atan2f. */ +#ifdef SHARED +# define NO_COMPAT_NEEDED 1 +# include +#else +# include +# include +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index b6f55e1e85..8eceffc54c 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1280,6 +1280,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index c939ada587..bd9687e60c 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1248,6 +1248,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 7e1d0cef30..b2a66c4ede 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1407,6 +1407,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index c6ef147356..92b172b839 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index c6ef147356..92b172b839 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 40050fbb6a..ce8a833cfc 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 7b63fa103c..37f8c436a3 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1287,6 +1287,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index c6ef147356..92b172b839 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index a5f5762406..efd11d19cf 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index a5f5762406..efd11d19cf 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index ce75033ac7..743a4d0637 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index b10a87aa26..b9c859570e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1248,6 +1248,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 36ce6efc66..52136c4528 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1070,6 +1070,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index b9dc71ae16..c9c82a80c5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1069,6 +1069,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index ae997f0052..a88fb21bed 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1063,6 +1063,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 68a2bad6df..35bd7e7773 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1432,6 +1432,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 0331713c1a..f6d0d69ec6 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1351,6 +1351,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index da49e189f5..917db48912 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1351,6 +1351,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index a3fc39e3cb..6cf910173b 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index a3fc39e3cb..6cf910173b 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -923,6 +923,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 42bce13b21..1ec1808524 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1358,6 +1358,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 2f2a699b6c..3de2c3d660 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1248,6 +1248,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 4291327fce..cbc17fcd2a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1281,6 +1281,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index 9a3c7fb596..d6ddaf0c7a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1281,6 +1281,7 @@ GLIBC_2.41 tanpil F GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F +GLIBC_2.42 atan2f F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F From patchwork Thu Jan 30 16:29:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860868 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp268456wrr; Thu, 30 Jan 2025 08:36:46 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUykD15n9WdcfJsPqQ3OkhAhgPQA5+YIP0+UFsnmqizA7WEemwfef4QveW9rpPXVuLrntJEhw==@linaro.org X-Google-Smtp-Source: AGHT+IEkSs4FwtJfQdpbzXnmKyBj7UMr1Ofm/Todc+4rkUgkSyf6yafch24v1Eo5affPNXu9CfHi X-Received: by 2002:a05:622a:386:b0:46c:8336:aea with SMTP id d75a77b69052e-46fd0a9c288mr147175641cf.13.1738255006354; Thu, 30 Jan 2025 08:36:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738255006; cv=pass; d=google.com; s=arc-20240605; b=FqjWJgfXDqXpro2Ct5Sr+4qsE9dtpW3yXAoUWQuSSJA/kOq8coQM5W1jTSLgkf4OwJ WJ0ufg8HdBSF4LvH1VQqjuXa7xnFGeechd3ZbLI0Lu58NhIPZhwyDLvHNFHIpN6TOaMs abhyYWHf19jei7Lhv/O2j8KaA2UD85j3ChNj4PirN20w0jyhUrXRoP/0aNyWj6Soq4gT dQAVvLxura9JdxQD+ItqYtXu8k41MDvi8POdhXinB4/TaKEdP5rhRVDPaXEiAWSiCaV0 HsGK63aEssUZk8A1zAHmx0t1JkEPrixBkBE8TJN24zpKOMHZr2cwExNliRwMPN/jWF/b RgeA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=xubYyDfJ8F3vqM1pOUoQkEEQxKlS8JWz5ELmxPkhTP8=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=aS3ZocW/+rcPQ6jRb428FAvtWeUnP5WZdhq9PEwxixYfDScb0dpQ+pRqGhIEABTWUX y26MLqvtFH3REupw4CUssLbD9f+kfuiybCRwFCFlhsKXn40zcLUDgadOwPPsELnGDVyv kPSghwpcFBmjpy1p4Qn61flpMAkIh/we8AOYQeBm/299n4v8o355dfL4BKzOKwzul4Re aEBrIv9JJmVNrbt+M+db2S59PUtESR1Q9JLb2UMJNgmR/R8UHDzj47/9U1CVXfF57uwl k14KpN/QHv4118pGCLufQe/ByjempbKb19SykYyWV+eLrP69RvL0c2W0wM/yyXG3sLL+ JpNg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Zij97g+E; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id d75a77b69052e-46fdf1e0797si19442241cf.487.2025.01.30.08.36.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:36:46 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Zij97g+E; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E56E93858D34 for ; Thu, 30 Jan 2025 16:36:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E56E93858D34 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=Zij97g+E X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id BA6CE3857838 for ; Thu, 30 Jan 2025 16:31:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BA6CE3857838 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BA6CE3857838 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254660; cv=none; b=exwsxr6vdi89U7/fmE98rKg2jyA9qeGRyWXdzH/bLH5Fedz5B75fsdIEc4n06RzZrNA3nUgwZK7Apuv1JldUe0uiOIKw+YiKM0HayrOoktAhpuVhluazkWk1ZeAMOvNXP4F8AEIF1dkgC/W/v1wSTrpw/+ocGS9CwuOUy1pH+N8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254660; c=relaxed/simple; bh=uonwHR+WmApZTknoVlBP9lOoCuB+HvSJjIxZRgJ+Xjg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=UG9IbJwiRs19ESFb/A9eZDR7n0iSEA6k+9CFxcryW0masyZaC3YbHfKiaA2Yz8/it1bxyNtID0pEsl9UqxkyCgW9ta6ORtGCoAfykVkoH8ZhWh35t6AckfyzeOJa4RMemUBYqaPq/bqaRVuNhU06nzaZnZm+BN/M1WFLSknq7+8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2166f1e589cso24945525ad.3 for ; Thu, 30 Jan 2025 08:31:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254645; x=1738859445; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xubYyDfJ8F3vqM1pOUoQkEEQxKlS8JWz5ELmxPkhTP8=; b=Zij97g+E/1uSC6qyxhLxg70QH83JJCGMFxEJTG77kkoB0SpeDCp6ZlLOvmQ7/3NwwF tb/oRKgNNiHLG9S6QeXDmpp0bR+hf3bQ6vASBAWin/tPBxaiI0R88o1hYI+gzwuodC2c FS1Gjc8Sj5tP/E2ouTFvN1YDTi8+fk2cEiUU/taDSTfsXnuPYNUPj59w0rsBoPS2U3xl AmgiPuZ3vDJ+z03WZMDMccRirz7mJSvdc8beRI9GoIQ+dgwuczqM7IjvecJazprvKPUb B4BfeJ5AS03Tv2iz8sbbf23I93X1CmBIZQiSoEdNlFvVjBiwHXrEIVk+1DN0pyncxGGq AlgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254645; x=1738859445; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xubYyDfJ8F3vqM1pOUoQkEEQxKlS8JWz5ELmxPkhTP8=; b=UnGuRU8LHZsIo+A35dY42P3VniMjanVHgdNhPv08UG2pgtnOXxU1ILSi7JioYgPJXe SG7/b2uT7P0I6WHGntr85OWP9MtVxCYt2Xg7ItibNEXAUgTMbugIhLcrymIM/ZMFP0zT EX8kW5udDPcaNN4AnWK6mkaEs59IqvP7rC6pcS/9E96oTQoet5cK00rALyNdtYCtJNli 1rgvvSICjzKL9XaXDe/GKcKYrVtDaJHZrD8CtKN0SgsRu0FIysr3ZYOjg5AAT0aT4k36 ZIcUn+FjpTkyXRzBRoIatZI+5UioqIlMM6MO7kDdormJByLqS5bhz4A1NPhlRdJ6TmNE mThQ== X-Gm-Message-State: AOJu0YymHbcl3BgBQ2IJbCr58qW+78nYYrVP4e2iVdMnHl0gruM+9bWM Qxqnn9/omTHRpSRW5++CKVZkjXjYty5d34PTQ0rOABAsbiYLCL6Fru0SrM9tYDJOGUzpmI/Qjy3 B X-Gm-Gg: ASbGncufDmKfxx/C2Ifm2l3e2ZdaOI1jElLm3qin0DPKiIit6yeyzfj5fhSg9aGXj43 2n/49CQYVf8NsEh1rZDYoCRfn+mHyW6I860YnP84kjfG5dCO/UD2DUtJgcXDX15maMSXusmRyhP tYkKS8HP29rQuXfce26lWrF2iqwUIr7AlZ+FeGqBZ5T/09Ea1jT56tiNA63haQi3z0z3l07HTAQ gaPmlcj8Sv3J1oTkrUUZ+fs2tY8pSwKl+99o2OJO1QY7C87VbPRha7Zy4OJHbwixJXzKew+A3+C rQTEOD0LATmO1rtYbCut/CS7b4I= X-Received: by 2002:a05:6a21:3a8a:b0:1e1:ab03:8653 with SMTP id adf61e73a8af0-1ed7a49a2cdmr12798210637.9.1738254644512; Thu, 30 Jan 2025 08:30:44 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:44 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 08/10] math: Remove the error handling wrapper from atanhf Date: Thu, 30 Jan 2025 13:29:04 -0300 Message-ID: <20250130163024.2032523-9-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency for about 1-10% and throughput for about 5-10%. --- math/Versions | 1 + math/w_atanhf.c | 8 ++++++++ math/w_atanhf_compat.c | 11 ++++++++--- sysdeps/ieee754/flt-32/e_atanhf.c | 11 ++++++++++- sysdeps/ieee754/flt-32/w_atanhf.c | 1 + sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c | 8 ++++++++ sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 + .../unix/sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 30 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 math/w_atanhf.c create mode 100644 sysdeps/ieee754/flt-32/w_atanhf.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c diff --git a/math/Versions b/math/Versions index 27d4e94613..7f84a72b32 100644 --- a/math/Versions +++ b/math/Versions @@ -679,5 +679,6 @@ libm { asinf; acoshf; atan2f; + atanhf; } } diff --git a/math/w_atanhf.c b/math/w_atanhf.c new file mode 100644 index 0000000000..7b3b671f3c --- /dev/null +++ b/math/w_atanhf.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __atanhf, atanhf, GLIBC_2_42); +libm_alias_float_other (__atanhf, atanhf) diff --git a/math/w_atanhf_compat.c b/math/w_atanhf_compat.c index b86686cd76..2a8270e295 100644 --- a/math/w_atanhf_compat.c +++ b/math/w_atanhf_compat.c @@ -21,10 +21,10 @@ #include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42) /* wrapper atanhf */ float -__atanhf (float x) +__atanh_compatf (float x) { if (__builtin_expect (isgreaterequal (fabsf (x), 1.0f), 0) && _LIB_VERSION != _IEEE_) @@ -35,5 +35,10 @@ __atanhf (float x) return __ieee754_atanhf (x); } -libm_alias_float (__atanh, atanh) +# ifdef NO_COMPAT_NEEDED +strong_alias (__atanh_compatf, __atanhf) +libm_alias_float (__atanh_compat, atanh) +# else +compat_symbol (libm, __atanh_compatf, atanhf, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c index 5138408324..5412835cec 100644 --- a/sysdeps/ieee754/flt-32/e_atanhf.c +++ b/sysdeps/ieee754/flt-32/e_atanhf.c @@ -27,6 +27,8 @@ SOFTWARE. #include #include #include +#include +#include #include "math_config.h" static __attribute__((noinline)) float @@ -42,7 +44,7 @@ as_special (float x) } float -__ieee754_atanhf (float x) +__atanhf (float x) { /* Calculate atanh(x) using the difference of two logarithms -- atanh(x) = (ln(1+x) - ln(1-x))/2 */ @@ -175,4 +177,11 @@ __ieee754_atanhf (float x) } return ub; } +strong_alias (__atanhf, __ieee754_atanhf) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __atanhf, atanhf, GLIBC_2_42); +libm_alias_float_other (__atanh, atanh) +#else +libm_alias_float (__atanh, atanh) +#endif libm_alias_finite (__ieee754_atanhf, __atanhf) diff --git a/sysdeps/ieee754/flt-32/w_atanhf.c b/sysdeps/ieee754/flt-32/w_atanhf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_atanhf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c b/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c new file mode 100644 index 0000000000..1ec8434684 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c @@ -0,0 +1,8 @@ +/* m68k provides an optimized __ieee754_atanhf. */ +#ifdef SHARED +# define NO_COMPAT_NEEDED 1 +# include +#else +# include +# include +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index 8eceffc54c..dfc07786eb 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1281,6 +1281,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index bd9687e60c..586d40d5c6 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1249,6 +1249,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index b2a66c4ede..fb641db738 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1408,6 +1408,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 92b172b839..1b5d476450 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 92b172b839..1b5d476450 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index ce8a833cfc..16885c419f 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 37f8c436a3..157b976b1a 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1288,6 +1288,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 92b172b839..1b5d476450 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index efd11d19cf..b4d452e44f 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index efd11d19cf..b4d452e44f 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 743a4d0637..6163837b48 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index b9c859570e..11dcf4254a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1249,6 +1249,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 52136c4528..13e06021e0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1071,6 +1071,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index c9c82a80c5..cd6e743a64 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1070,6 +1070,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index a88fb21bed..60df9c03c8 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1064,6 +1064,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 35bd7e7773..550c36ecb9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1433,6 +1433,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index f6d0d69ec6..ec9a35b914 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1352,6 +1352,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 917db48912..6b5f81265a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1352,6 +1352,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index 6cf910173b..04714bf403 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index 6cf910173b..04714bf403 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -924,6 +924,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 1ec1808524..3256cc91a0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1359,6 +1359,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 3de2c3d660..980cd89d2f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1249,6 +1249,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index cbc17fcd2a..d9c7b785b3 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1282,6 +1282,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index d6ddaf0c7a..d235c026cf 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1282,6 +1282,7 @@ GLIBC_2.42 acosf F GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F +GLIBC_2.42 atanhf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F From patchwork Thu Jan 30 16:29:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860864 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp266261wrr; Thu, 30 Jan 2025 08:32:49 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUjjCkg3FcbiTrfrD7LMingWf3/kDDrDa5mR4QH6UKIkvL2bBQwulkCE/RRXjZEfY7LmUC9yg==@linaro.org X-Google-Smtp-Source: AGHT+IErVw/ZXc1LPqSky9jYJx3n7yfd28d8FK+oyd59WaDNd62cKluYuX3kaT4iQaNQayavvxOZ X-Received: by 2002:ad4:4eeb:0:b0:6e1:6e74:7ad3 with SMTP id 6a1803df08f44-6e243bf3ba9mr88616486d6.22.1738254769741; Thu, 30 Jan 2025 08:32:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738254769; cv=pass; d=google.com; s=arc-20240605; b=E8xGPTYrPkZzSbO0HJTqO9tj3jo3NWVBBTGxwkz6oDE8toStlk94bzeowwRr0IpF0f hJGRzSxWxcTAJu520zE7+jRgUXHwF1LjeXHAzfHU69WLxcHR4iLNHTR+sLcO7JxBsVXt kYG/kxx1wgvQa7ohz8vTdClI6Ekp0Jvk2KEeOfcY9/TQACt6RRLWisA+/DnTjl53gOAM ej5FkIH9qSeAtRImv9IBZpBEEFqJZXpwnNdYZ49LX5ZBXdORhMKZwTWRwUvz3S4DXNYN lQNicXhMg1zkqHKRsd7ZMOkQtgrwd9lpQ2n4bIu5sGg3SOOkDMT99Ek7YERZX67Zq7cN urYA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=UP8rYQh5ShxJBQF8RsfJ9GPLa34jQit5nYcrCKyvsfA=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=YJzLl/QaGZ2gXTi7jlgg3SkqexdPuD/5cJo1ktP7GWberX+LTpbDX0407B1L+w3kgL 5ZvpmRlCQV8nh8AOWfXbYz9EkGQCBG6CJU/YRQfGNsy3S4NQdk1Q2zQX4rjJcIgg0+YZ qi6Utmh3sN5Nq5jzR30/4N/1KEan3zV5WQT68CpsJA4ojp/bN86d7LPFCTFKSOroIoHr p6fIuPjFERiw1hAMqrWsblwG+b00nLD8X86BxUGB80DxB8nOx0nTmI4Oz+8JBaTuu9d9 sTNDYN1OKIlIeVpDJTL0+E3tfDKbZ27ToQ0du4oh9cz3wOexJe033189jFeEu4k6pHrA P1eQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VEgNaY6B; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 6a1803df08f44-6e2549e28ccsi16992736d6.481.2025.01.30.08.32.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:32:49 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VEgNaY6B; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4A6C43857838 for ; Thu, 30 Jan 2025 16:32:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4A6C43857838 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=VEgNaY6B X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id B8F633858C56 for ; Thu, 30 Jan 2025 16:31:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B8F633858C56 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B8F633858C56 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254661; cv=none; b=X/J4dnEmH9PmIJwpONcCLOsVCj8jdWdd0cBvyyxOxQ21OgK1dNiDX1oy184I/rjqdKFytLBlt8NqocKD8Y9ACKs4eAjCb4gOUHJJYdp6wzvx+faE1QN4/QXbNq2lYjcEId0z6pfyfs8T83ZD4WgBwXKZ55kj8DWGNLwNHPE1Xbk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254661; c=relaxed/simple; bh=EGkbBD5dxs12nhWEgnLbOKEXv1uSeNoehFlx3id3sCY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=YWu9i1oaYBg7wpe87RD0tZpyia/OfFoYnkGj5TS4S3nwlmKjj3vNNnfH0XuEMo5qmfMfeppFxhpTbcJahz0a8ToWHEDrIOWYBKnaVKj+F0xujF3nE9D9BTY+yVv6R23CglDHmdDvIlTYaEFUkJ3klHTlcQ+WNAClcgvkPpBNEhg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-21ddb406f32so16229185ad.2 for ; Thu, 30 Jan 2025 08:31:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254646; x=1738859446; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UP8rYQh5ShxJBQF8RsfJ9GPLa34jQit5nYcrCKyvsfA=; b=VEgNaY6BMJWEwIkAH/t7c1MkQBjJRGibkDaDxOV4hc5z2uzkZ7tWjPz9jE0U9MpWYl tmuRAqBkyqRTYjK+bb0V4ZYpG06T6wgAKplI75NgR2+uCk+ejPsFmuNbHoTPgDutqFqZ XQFXUwaSLIWfYbFKjl943Z/CWCMKptIhNNn08m9LSox7SKlq/NX8TG+ROXvQpe0z5mHl 3Xa18RXREnxte4a7atNDPozLXGefsPZt7+F5i2B4k2tr+hFX4F0hmT4Kk87t/Io23G2k ocovGc0gRpyGtJ2nnx03c83n4Edmmt1zpZzi4GKy49DY447AGu/JoGsQ9L5BckuoQWNt wd6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254646; x=1738859446; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UP8rYQh5ShxJBQF8RsfJ9GPLa34jQit5nYcrCKyvsfA=; b=lbOwo3BVYZjPhNXg52vYkYc2ImjROHwc81yhb7fQEugENRhkWnNvuELurYpS1Vt20I TVPss2nKFkS2rnSbE/2H3XFW+Tf4FmE5Mq3Cyf/oANwxJwlsWM97Z38jvKlJ9G6VMrLs hcSLIJZaAYcQecLVOY3AWDwwbICxquPHUgtTgIzKSUzR4UkZvUczWjhJuRRsj6itjk1f cZFPXQGgs/Tx+pYtXVaXirNkOy9sfYb2wilYBVbUf8BsLULEq6ubznD8l7S+B3IVmLzl 20ihMDZVkvnTnZZYl9Mg2GK/LS0wn5og5nj+50c4zk+0+h2SuA8f+cvHBTD5OO3D22C9 5LgQ== X-Gm-Message-State: AOJu0Yx4eqIWh9RFJF3jqFwsG8uWviYaYN0Rtdmvto8ZBiTCqdoS1Iv0 CheeeEKGB7RB7kJAZpQvdoqyj92tNATU0pvTph9Tkg9sjg2jmCnTO9kCtViWF/iqRbGYZA9fU9s k X-Gm-Gg: ASbGnctQkuwo/5iCouxFKRfL8bqKFeiA/HAYVFfKpNYkDYFug83lMmj0NOBFAsBPMCm qMu043zHviZZq0yLLBFOCXjPy9R+rzGKxSkD/tgLBdJk8+ftYIHNDUV1LNJDPyMsDmSx+Bf6gm5 amTTRsiGPUaJb0IaTsghA0mwo7HBaM9UXb1d0h2LQrxm7MP5tPRVxnt9GhG6C+gvufhlWgGXLrt 3TDXNSWWTzkhz7Hh9MtU/v1kw02kOWeSS9QqFEhHrSHGEJ+gZbpEL9UBgBqr39GRrqIyWA3GN3T NXsnGjgXRwtj8Kuj78d33G3Qt1o= X-Received: by 2002:a05:6a20:d04c:b0:1e0:c77c:450d with SMTP id adf61e73a8af0-1ed7a47385dmr11214787637.1.1738254646478; Thu, 30 Jan 2025 08:30:46 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:46 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 09/10] math: Remove the error handling wrapper from coshf Date: Thu, 30 Jan 2025 13:29:05 -0300 Message-ID: <20250130163024.2032523-10-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency for about 3-10% and throughput for about 5-15%. --- math/Versions | 1 + math/w_coshf.c | 8 ++++++++ math/w_coshf_compat.c | 12 +++++++++--- sysdeps/ieee754/flt-32/e_coshf.c | 11 ++++++++++- sysdeps/ieee754/flt-32/w_coshf.c | 1 + sysdeps/m68k/m680x0/fpu/w_coshf_compat.c | 8 ++++++++ sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 30 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 math/w_coshf.c create mode 100644 sysdeps/ieee754/flt-32/w_coshf.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_coshf_compat.c diff --git a/math/Versions b/math/Versions index 7f84a72b32..f37b7d8efd 100644 --- a/math/Versions +++ b/math/Versions @@ -680,5 +680,6 @@ libm { acoshf; atan2f; atanhf; + coshf; } } diff --git a/math/w_coshf.c b/math/w_coshf.c new file mode 100644 index 0000000000..a786f7c50a --- /dev/null +++ b/math/w_coshf.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __coshf, coshf, GLIBC_2_42); +libm_alias_float_other (__coshf, coshf) diff --git a/math/w_coshf_compat.c b/math/w_coshf_compat.c index ce5e196c07..39b56da101 100644 --- a/math/w_coshf_compat.c +++ b/math/w_coshf_compat.c @@ -20,10 +20,11 @@ #include #include #include +#include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42) float -__coshf (float x) +__cosh_compatf (float x) { float z = __ieee754_coshf (x); if (__builtin_expect (!isfinite (z), 0) && isfinite (x) @@ -32,5 +33,10 @@ __coshf (float x) return z; } -libm_alias_float (__cosh, cosh) +# ifdef NO_COMPAT_NEEDED +strong_alias (__cosh_compatf, __coshf) +libm_alias_float (__cosh_compat, cosh) +# else +compat_symbol (libm, __cosh_compatf, coshf, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/ieee754/flt-32/e_coshf.c b/sysdeps/ieee754/flt-32/e_coshf.c index 602d2b413f..7dea283e7a 100644 --- a/sysdeps/ieee754/flt-32/e_coshf.c +++ b/sysdeps/ieee754/flt-32/e_coshf.c @@ -27,10 +27,12 @@ SOFTWARE. #include #include #include +#include +#include #include "math_config.h" float -__ieee754_coshf (float x) +__coshf (float x) { static const double c[] = { @@ -114,4 +116,11 @@ __ieee754_coshf (float x) } return ub; } +strong_alias (__coshf, __ieee754_coshf) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __coshf, coshf, GLIBC_2_42); +libm_alias_float_other (__cosh, cosh) +#else +libm_alias_float (__cosh, cosh) +#endif libm_alias_finite (__ieee754_coshf, __coshf) diff --git a/sysdeps/ieee754/flt-32/w_coshf.c b/sysdeps/ieee754/flt-32/w_coshf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_coshf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_coshf_compat.c b/sysdeps/m68k/m680x0/fpu/w_coshf_compat.c new file mode 100644 index 0000000000..14444a9f0c --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_coshf_compat.c @@ -0,0 +1,8 @@ +/* m68k provides an optimized __ieee754_coshhf. */ +#ifdef SHARED +# define NO_COMPAT_NEEDED 1 +# include +#else +# include +# include +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index dfc07786eb..d844987004 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1282,6 +1282,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 586d40d5c6..e6be5f808b 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1250,6 +1250,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index fb641db738..807c0556aa 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1409,6 +1409,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 1b5d476450..9dcbfa267b 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 1b5d476450..9dcbfa267b 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 16885c419f..995f56f2be 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 157b976b1a..b144dfbe0d 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1289,6 +1289,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 1b5d476450..9dcbfa267b 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index b4d452e44f..2cfcc419c2 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index b4d452e44f..2cfcc419c2 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 6163837b48..db69c56c5a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 11dcf4254a..39486d894e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1250,6 +1250,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 13e06021e0..53c03becb6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1072,6 +1072,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index cd6e743a64..4849a96fd6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1071,6 +1071,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index 60df9c03c8..1848e326b0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1065,6 +1065,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 550c36ecb9..6dd5f82933 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1434,6 +1434,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index ec9a35b914..ffacf4ae91 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1353,6 +1353,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 6b5f81265a..0f8fca59b3 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1353,6 +1353,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index 04714bf403..77b3e3160f 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index 04714bf403..77b3e3160f 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -925,6 +925,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 3256cc91a0..5cecff58d3 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1360,6 +1360,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 980cd89d2f..e74513e436 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1250,6 +1250,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index d9c7b785b3..d8443b79ca 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1283,6 +1283,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index d235c026cf..f7d6dab97f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1283,6 +1283,7 @@ GLIBC_2.42 acoshf F GLIBC_2.42 asinf F GLIBC_2.42 atan2f F GLIBC_2.42 atanhf F +GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F From patchwork Thu Jan 30 16:29:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 860869 Delivered-To: patch@linaro.org Received: by 2002:adf:fb05:0:b0:385:e875:8a9e with SMTP id c5csp269263wrr; Thu, 30 Jan 2025 08:38:24 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXBYAvMQ2y5SY8E4wnDnmtIvyZAtGc2T0lMKCbJ7NM3Regqd1emhT4JXkeKsMqSOSgW56J+IQ==@linaro.org X-Google-Smtp-Source: AGHT+IFzMqhbzFFS3PyCJOCyCgeRq7XPnqEuUtXtQQpUK03yhybCJI68OURRfqS/veFP4EI16ML1 X-Received: by 2002:a92:c569:0:b0:3d0:11ff:5299 with SMTP id e9e14a558f8ab-3d011ff531amr6430405ab.20.1738255104623; Thu, 30 Jan 2025 08:38:24 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1738255104; cv=pass; d=google.com; s=arc-20240605; b=V0hDdsKUfu/ruOjlC4R3dNzusLA4w6hWjBlSZPDj30e82L7KfpFeVfonROOP0zes6x ycO+rfnMA1DYqBGOgEPcqy1fsKeOdqcxv5PcVSJeyLw9Ir4UvZLUGtpWGAlMAlcvyUfa XppPrM/VrxbRkvIa7/3ch97HMPclSYAVvh7hQbdjqVs0Ex9UVUNRuTYIoCs6mv2Z/oEa KQeEAXZwPdJPxxHFAOlOwCGH3Eq2/ayq6BI4jHxvtKryZSmXjGnbfdS1qPojDyssi7kn jWDsQB9hlRctq8iljkqWO3rp7/vsfXulRRD4C6AZqt4Y9N1j1W1MZpNprneDNFErF10u CnTQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=/E/8rWnpBwlEhJheoOEGFj3l8ejj1vgze4oZ1zy8rSA=; fh=bH3otzm36E0PFpzb0Fw+WxXb/L9GgSIpsDH51ETE1bs=; b=Qh5Omu4YT+/aK7gp0JBKSoysauwtrcVK0/wR+5A79kZ9F+9PYtM6Q2i1gvKbWuSwQK t60m6nSFAUCnmSbz/jxOF5CrI70vsPNreZrOTOYKl0Ad/A5TZicwitWZObY1ROM2Thn0 +DAaddW7HvWrzEm0YqgmyhfkzLmUndEcX3joxiOSnSQfiyIq/r1RcVb35Fo3fccqbcE4 BqlEG48co0iUDXhMoa8SJciOT7I06UC9lKW4jtxuKfeq4+omNTB8BDCseNdT8bJVh4Lq X0U8L6V9NIG/vVtSGbb+2gFF+NImGDn1sPRUlkTseJ+MsyTN1X1+swQtlIbphWBKFEDp q+Xg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=udSZ7IX9; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id e9e14a558f8ab-3d00a605137si14235665ab.155.2025.01.30.08.38.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:38:24 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=udSZ7IX9; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C41563857BBF for ; Thu, 30 Jan 2025 16:38:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C41563857BBF Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=udSZ7IX9 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by sourceware.org (Postfix) with ESMTPS id BC1AD3857823 for ; Thu, 30 Jan 2025 16:31:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BC1AD3857823 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BC1AD3857823 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1030 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254663; cv=none; b=dOJ60eLVfnZu69Vtxxp0Sb3xIB8sGQhMiM9rCRjTuKwQVGr3KgUkqJyaJafpr8yr12YXk2FWhAHwLDkg2u2UgNGgR2ixoeCcAx6q6bEkAeJ5SaGrJVVFgTKYmKIbRdG7Nvn5kbxOzmwgStrqDiqIf0055uefkKcwIY20uot1lJo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738254663; c=relaxed/simple; bh=T9FKRPYm4Ie1KU+JOAfNv33qqPMiF3PM1TYLF2al5Ms=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=p14lbu8sLX6ieOA0/hMcL6Yxw3PGok3wg6sI6uowsiTeaHHvbCH1sRMS6kFC9gGKKnwDLtCGTaoX+uFxJSufKPbFdB68A0lWN3yzgSKQ4740sQ8muPqZku7HQepc2oJ6mxDVdgPsTule/gkURaqIiZ3dm/OZ2oyL2ofmb9EKNRw= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BC1AD3857823 Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-2f441791e40so1383980a91.3 for ; Thu, 30 Jan 2025 08:31:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738254648; x=1738859448; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/E/8rWnpBwlEhJheoOEGFj3l8ejj1vgze4oZ1zy8rSA=; b=udSZ7IX9vzrPLi2OnDLLnTyT0asyB7T9MbVey5HzmVCXIcVfvCT+xL9LRAtwjhMGu4 3DhTvt0AR3/BarVX3woJ3rFa82+LTSDYMvHcMBQB7xPpXlT8CqATP2zdmlOEYGyu1f5i z5spUqQIJx9IQts1672H8BidksLTVJQUGNIKbGbsaY4bLyPvH7UX+Xk9XDQQYwaqMx0F UTdOY3kWepdNcHMeXR/2Cys4SNRJ3PE7wa3lJqJrrROALCYXpBEmptAOofIhu2Qootws M3LqL3U1/b/JnwTGHZHD+qW/Pvhcwqrx5dkWtq5ujIBTFhadGktiTGrw92O4nnqgbv0T CL1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738254648; x=1738859448; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/E/8rWnpBwlEhJheoOEGFj3l8ejj1vgze4oZ1zy8rSA=; b=mp9GZz36xuZIDaoan5GSbh/THFuoTslkdouUNcdk4Q2JVa/djyIlO5H8ZNvPPdjvFy BTW8aduMskEA4ANmpZXfY9Yt+kNndl5PWh/3EMjZC6bAVK0+SKsXCZY3rk9PQgv/VWEH F4jtXzS3bQCkI1N+5/v7wrg8ONZx2e6NPaCRqbo8yWxV7d3Zhk/Wsli42ct2QPpuG/go brBYlMzILd1fG/3EfZfFXALBGAbuDc4QjDzOl7mCVLWG0lCNcs1LlcIuR8go/2+9BuBE JFEjwbxR3F/mV1DJrGoJP6BGfQV9C71y0MakwdYcWJ/RpxvUemPRziqfnuUNSi2K3Jzc 6bYg== X-Gm-Message-State: AOJu0YwhdLrVeqwSiA159rhP3eWCcmTj1f5IdRzLeUapy1r2o6AiDuLH CES4gfWHln4jChr2ZrK70ZXvjNy70rWSYkTGyZD/bW/AMaL7LTf7E+r5q1IwtXxbEYrmfige4B6 K X-Gm-Gg: ASbGncumd3hmW+oLfMo3rz82Ut6wt16mjx97qJ+l4ksb762ABzgJdfbxZDlTUt8BN2T /uoz8qeXIMZ3YXZfDg/t4idACFITcmpTNbX7B253DFLwJrxXLbd9n97tFyJ0t2+MW8lYdrMFI3B cVlsfY+dQdCZkQO3UauKLL2aoaQ4+8HkALtAC5K/A6TStg7+zMotR+oeaD5udZP7SKjYXrsNB2C tr5sf0hZ3u7YjyMysnZDOwWbjqdLTD7c+Dx+eXZQfb+se3geh5ZGd3h2NoHnU+oqAlm2k5d9gO8 vM9PCdQ2V4QlenHEQd33K2qruwY= X-Received: by 2002:a05:6a00:2e88:b0:725:df1a:288 with SMTP id d2e1a72fcca58-72fd0c74f49mr13130190b3a.24.1738254648411; Thu, 30 Jan 2025 08:30:48 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2a23:52a8:18f5:2a69:8dc]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69bba21sm1617488b3a.114.2025.01.30.08.30.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 08:30:48 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , DJ Delorie , Paul Zimmermann Subject: [PATCH v2 10/10] math: Remove the error handling wrapper from sinhf Date: Thu, 30 Jan 2025 13:29:06 -0300 Message-ID: <20250130163024.2032523-11-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> References: <20250130163024.2032523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It improves latency for about 3-10% and throughput for about 5-15%. --- math/Versions | 1 + math/w_sinhf.c | 8 ++++++++ math/w_sinhf_compat.c | 11 ++++++++--- sysdeps/ieee754/flt-32/e_sinhf.c | 13 ++++++++++++- sysdeps/ieee754/flt-32/w_sinhf.c | 1 + sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c | 8 ++++++++ sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 + .../sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 30 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 math/w_sinhf.c create mode 100644 sysdeps/ieee754/flt-32/w_sinhf.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c diff --git a/math/Versions b/math/Versions index f37b7d8efd..38733c38df 100644 --- a/math/Versions +++ b/math/Versions @@ -681,5 +681,6 @@ libm { atan2f; atanhf; coshf; + sinhf; } } diff --git a/math/w_sinhf.c b/math/w_sinhf.c new file mode 100644 index 0000000000..1256de139c --- /dev/null +++ b/math/w_sinhf.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __sinhf, sinhf, GLIBC_2_42); +libm_alias_float_other (__sinhf, sinhf) diff --git a/math/w_sinhf_compat.c b/math/w_sinhf_compat.c index e8de6675af..f26bcfbacc 100644 --- a/math/w_sinhf_compat.c +++ b/math/w_sinhf_compat.c @@ -21,9 +21,9 @@ #include #include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42) float -__sinhf (float x) +__sinh_compatf (float x) { float z = __ieee754_sinhf (x); if (__builtin_expect (!isfinite (z), 0) && isfinite (x) @@ -32,5 +32,10 @@ __sinhf (float x) return z; } -libm_alias_float (__sinh, sinh) +# ifdef NO_COMPAT_NEEDED +strong_alias (__sinh_compatf, __sinhf) +libm_alias_float (__sinh_compat, sinh) +# else +compat_symbol (libm, __sinh_compatf, sinhf, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/ieee754/flt-32/e_sinhf.c b/sysdeps/ieee754/flt-32/e_sinhf.c index c007c7d174..d413949bc4 100644 --- a/sysdeps/ieee754/flt-32/e_sinhf.c +++ b/sysdeps/ieee754/flt-32/e_sinhf.c @@ -24,14 +24,17 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include #include #include #include +#include +#include #include #include "math_config.h" float -__ieee754_sinhf (float x) +__sinhf (float x) { static const double c[] = { @@ -75,6 +78,7 @@ __ieee754_sinhf (float x) return copysignf (INFINITY, x); /* +-inf */ } float r = math_narrow_eval (sgn * 0x1.fffffep127f); + __set_errno (ERANGE); return r; } if (__glibc_unlikely (ux < 0x7c000000u)) @@ -128,4 +132,11 @@ __ieee754_sinhf (float x) } return ub; } +strong_alias (__sinhf, __ieee754_sinhf) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __sinhf, sinhf, GLIBC_2_42); +libm_alias_float_other (__sinh, sinh) +#else +libm_alias_float (__sinh, sinh) +#endif libm_alias_finite (__ieee754_sinhf, __sinhf) diff --git a/sysdeps/ieee754/flt-32/w_sinhf.c b/sysdeps/ieee754/flt-32/w_sinhf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_sinhf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c b/sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c new file mode 100644 index 0000000000..e8e4bc9326 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c @@ -0,0 +1,8 @@ +/* m68k provides an optimized __ieee754_sinhhf. */ +#ifdef SHARED +# define NO_COMPAT_NEEDED 1 +# include +#else +# include +# include +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index d844987004..6d50c9b9ce 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1286,3 +1286,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index e6be5f808b..7b76073c62 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1254,3 +1254,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 807c0556aa..d08bdd0f95 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1413,3 +1413,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 9dcbfa267b..83fbff1566 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 9dcbfa267b..83fbff1566 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 995f56f2be..1693844375 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index b144dfbe0d..3085068ca2 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1293,3 +1293,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 9dcbfa267b..83fbff1566 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index 2cfcc419c2..c062862c9b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index 2cfcc419c2..c062862c9b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index db69c56c5a..08e47ee7f8 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 39486d894e..2e7098e915 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1254,3 +1254,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 53c03becb6..1b696512b1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1076,3 +1076,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 4849a96fd6..d212b7ed4f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1075,3 +1075,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index 1848e326b0..c9d121b6c6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1069,3 +1069,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 6dd5f82933..1a0fd6fe02 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1438,3 +1438,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index ffacf4ae91..8d0803dd9e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1357,3 +1357,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 0f8fca59b3..844759b73c 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1357,3 +1357,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index 77b3e3160f..b0601d88ac 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index 77b3e3160f..b0601d88ac 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -929,3 +929,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 5cecff58d3..87489eef19 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1364,3 +1364,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index e74513e436..04635f1df0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1254,3 +1254,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index d8443b79ca..262e14cafe 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1287,3 +1287,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index f7d6dab97f..9177a0f88c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1287,3 +1287,4 @@ GLIBC_2.42 coshf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F +GLIBC_2.42 sinhf F