Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2194423/?format=api
{ "id": 2194423, "url": "http://patchwork.ozlabs.org/api/patches/2194423/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/20260208220454.51741-5-zihong.plct@isrc.iscas.ac.cn/", "project": { "id": 41, "url": "http://patchwork.ozlabs.org/api/projects/41/?format=api", "name": "GNU C Library", "link_name": "glibc", "list_id": "libc-alpha.sourceware.org", "list_email": "libc-alpha@sourceware.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260208220454.51741-5-zihong.plct@isrc.iscas.ac.cn>", "list_archive_url": null, "date": "2026-02-08T22:04:39", "name": "[RFC,4/5] riscv: libmvec: add RVV logf", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "dda5f306b164338f3af32301db30d3740d1a0c65", "submitter": { "id": 91553, "url": "http://patchwork.ozlabs.org/api/people/91553/?format=api", "name": "Yao Zihong", "email": "zihong.plct@isrc.iscas.ac.cn" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/20260208220454.51741-5-zihong.plct@isrc.iscas.ac.cn/mbox/", "series": [ { "id": 491443, "url": "http://patchwork.ozlabs.org/api/series/491443/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=491443", "date": "2026-02-08T22:04:40", "name": "riscv: Add libmvec routines", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/491443/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2194423/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2194423/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "libc-alpha@sourceware.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "libc-alpha@sourceware.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org; dmarc=none (p=none dis=none)\n header.from=isrc.iscas.ac.cn", "sourceware.org;\n spf=pass smtp.mailfrom=isrc.iscas.ac.cn", "server2.sourceware.org;\n arc=none smtp.remote-ip=159.226.251.21" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f8MQs0kwWz1xtr\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 09 Feb 2026 09:08:21 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 2C622452C4F5\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 8 Feb 2026 22:08:19 +0000 (GMT)", "from cstnet.cn (smtp21.cstnet.cn [159.226.251.21])\n by sourceware.org (Postfix) with ESMTPS id 4F715452C4DA\n for <libc-alpha@sourceware.org>; Sun, 8 Feb 2026 22:05:08 +0000 (GMT)", "from Mobilestation.localdomain (unknown [183.6.59.140])\n by APP-01 (Coremail) with SMTP id qwCowAAHsGuICIlpA257Bw--.50153S6;\n Mon, 09 Feb 2026 06:05:03 +0800 (CST)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 2C622452C4F5", "OpenDKIM Filter v2.11.0 sourceware.org 4F715452C4DA" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 4F715452C4DA", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 4F715452C4DA", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770588309; cv=none;\n b=m3/j2cLA0jJi3vfbxnKcReLXB24f9slFFoRkIhe2dpElwCiaAcCsHTSAq6teYzhmcEUYih8AiBSZu5Czqivjjqk+wQDYes/rynxeEFe8hLp3c75c8UB+JLLp9XnU0SwAHFI3SMHXPTV1enK1SiAEFt1YG9DKkgVxJ3BDrX7HbP0=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1770588309; c=relaxed/simple;\n bh=cOK5yNWNEp3qBzv+P4okDSnhr1MVSQos/sGHj+NIskk=;\n h=From:To:Subject:Date:Message-ID:MIME-Version;\n b=kMJlx1huXfKcRvr2E9kU9L8dNpz2n00efambyC/wG4Ia0rth1zXnag+5VRebZhJV0EXpR2PF269LtCxCv8ajvPKmamTiP69SET0/jSRCqM+aVP0NmrJvWNBucITfzHzK1fCPwcgHS30XsM1o/z8zEpRSogawYiHMTC8SxHHdPEs=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "From": "Yao Zihong <zihong.plct@isrc.iscas.ac.cn>", "To": "libc-alpha@sourceware.org", "Cc": "zhangyin2018@iscas.ac.cn, zihongyao@outlook.com,\n Zihong Yao <zihong.plct@isrc.iscas.ac.cn>", "Subject": "[RFC PATCH 4/5] riscv: libmvec: add RVV logf", "Date": "Mon, 9 Feb 2026 06:04:39 +0800", "Message-ID": "<20260208220454.51741-5-zihong.plct@isrc.iscas.ac.cn>", "X-Mailer": "git-send-email 2.47.3", "In-Reply-To": "<20260208220454.51741-1-zihong.plct@isrc.iscas.ac.cn>", "References": "<20260208220454.51741-1-zihong.plct@isrc.iscas.ac.cn>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-CM-TRANSID": "qwCowAAHsGuICIlpA257Bw--.50153S6", "X-Coremail-Antispam": "1UD129KBjvJXoW3CFW3ZF1xuFW5urW8XF1UKFg_yoWDArWkpF\n Z5urWjk3WxGay7JrWS9w40vF1rCFy8uFs0kw15ur4UJ3y3ArWxursFv347tFykXFWfuryj\n 9a129F98Ar18A37anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n 9KBjDU0xBIdaVrnRJUUU9G14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0\n rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI\n kIc2x26xkF7I0E14v26r4j6ryUM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2\n z4x0Y4vE2Ix0cI8IcVAFwI0_Jr0_JF4l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr0_Cr\n 1l84ACjcxK6I8E87Iv67AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1U\n M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx\n v20xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l\n F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7MxAIw28IcxkI7VAKI48JMx\n C20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAF\n wI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20x\n vE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6xAIw20EY4v2\n 0xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxV\n W8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUjLvKUUUUUU==", "X-Originating-IP": "[183.6.59.140]", "X-CM-SenderInfo": "p2lk00vjoszunw6l223fol2u1dvotugofq/", "X-BeenThere": "libc-alpha@sourceware.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Libc-alpha mailing list <libc-alpha.sourceware.org>", "List-Unsubscribe": "<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>", "List-Archive": "<https://sourceware.org/pipermail/libc-alpha/>", "List-Post": "<mailto:libc-alpha@sourceware.org>", "List-Help": "<mailto:libc-alpha-request@sourceware.org?subject=help>", "List-Subscribe": "<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>", "Errors-To": "libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org" }, "content": "From: Zihong Yao <zihong.plct@isrc.iscas.ac.cn>\n\nAdd the RVV single-precision logf implementation and register it\nas a libmvec vector entry point.\n\nExport the logf symbols, hook the function into the build/bench\nlists, and add ABI test for logf.\n\nSigned-off-by: Zihong Yao <zihong.plct@isrc.iscas.ac.cn>\n---\n sysdeps/riscv/rvd/Makeconfig | 2 +\n sysdeps/riscv/rvd/Versions | 11 ++\n sysdeps/riscv/rvd/test-float-libmvec-logf.c | 21 +++\n sysdeps/riscv/rvd/v_f_logf.c | 22 +++\n sysdeps/riscv/rvd/v_f_logf_skeleton.c | 138 ++++++++++++++++++\n sysdeps/unix/sysv/linux/riscv/libmvec.abilist | 11 ++\n 6 files changed, 205 insertions(+)\n create mode 100644 sysdeps/riscv/rvd/test-float-libmvec-logf.c\n create mode 100644 sysdeps/riscv/rvd/v_f_logf.c\n create mode 100644 sysdeps/riscv/rvd/v_f_logf_skeleton.c", "diff": "diff --git a/sysdeps/riscv/rvd/Makeconfig b/sysdeps/riscv/rvd/Makeconfig\nindex 3c1fac4316..aaaa5f2f43 100644\n--- a/sysdeps/riscv/rvd/Makeconfig\n+++ b/sysdeps/riscv/rvd/Makeconfig\n@@ -21,6 +21,7 @@\n postclean-generated += libmvec.mk\n \n libmvec-float-funcs-bare = \\\n+\tlogf \\\n \n libmvec-float-funcs-with-data = \\\n \n@@ -71,6 +72,7 @@ libmvec-double-bench-funcs = \\\n log \\\n \n libmvec-float-bench-funcs = \\\n+ logf \\\n \n bench-libmvec-double = \\\n $(addprefix double-, $(libmvec-double-bench-funcs)) \\\ndiff --git a/sysdeps/riscv/rvd/Versions b/sysdeps/riscv/rvd/Versions\nindex 9d43e652a9..4edf5350a7 100644\n--- a/sysdeps/riscv/rvd/Versions\n+++ b/sysdeps/riscv/rvd/Versions\n@@ -11,5 +11,16 @@ libmvec {\n _ZGVr8N8v_log;\n _ZGVr8N16v_log;\n _ZGVr8N32v_log;\n+ _ZGVr1N4v_logf;\n+ _ZGVr1N8v_logf;\n+ _ZGVr2N4v_logf;\n+ _ZGVr2N8v_logf;\n+ _ZGVr2N16v_logf;\n+ _ZGVr4N8v_logf;\n+ _ZGVr4N16v_logf;\n+ _ZGVr4N32v_logf;\n+ _ZGVr8N16v_logf;\n+ _ZGVr8N32v_logf;\n+ _ZGVr8N64v_logf;\n }\n }\ndiff --git a/sysdeps/riscv/rvd/test-float-libmvec-logf.c b/sysdeps/riscv/rvd/test-float-libmvec-logf.c\nnew file mode 100644\nindex 0000000000..a0b5bf2eb1\n--- /dev/null\n+++ b/sysdeps/riscv/rvd/test-float-libmvec-logf.c\n@@ -0,0 +1,21 @@\n+/* Vector ABI test for RISC-V libmvec logf.\n+ Copyright (C) 2026 Free Software Foundation, Inc.\n+ This file is part of the GNU C Library.\n+\n+ The GNU C Library is free software; you can redistribute it and/or\n+ modify it under the terms of the GNU Lesser General Public\n+ License as published by the Free Software Foundation; either\n+ version 2.1 of the License, or (at your option) any later version.\n+\n+ The GNU C Library is distributed in the hope that it will be useful,\n+ but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n+ Lesser General Public License for more details.\n+\n+ You should have received a copy of the GNU Lesser General Public\n+ License along with the GNU C Library; if not, see\n+ <https://www.gnu.org/licenses/>. */\n+\n+#define LIBMVEC_TYPE float\n+#define LIBMVEC_FUNC logf\n+#include \"test-vector-abi-arg1.h\"\ndiff --git a/sysdeps/riscv/rvd/v_f_logf.c b/sysdeps/riscv/rvd/v_f_logf.c\nnew file mode 100644\nindex 0000000000..39a1135e8d\n--- /dev/null\n+++ b/sysdeps/riscv/rvd/v_f_logf.c\n@@ -0,0 +1,22 @@\n+/* Single-precision vector log function.\n+ Copyright (C) 2026 Free Software Foundation, Inc.\n+ This file is part of the GNU C Library.\n+\n+ The GNU C Library is free software; you can redistribute it and/or\n+ modify it under the terms of the GNU Lesser General Public\n+ License as published by the Free Software Foundation; either\n+ version 2.1 of the License, or (at your option) any later version.\n+\n+ The GNU C Library is distributed in the hope that it will be useful,\n+ but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n+ Lesser General Public License for more details.\n+\n+ You should have received a copy of the GNU Lesser General Public\n+ License along with the GNU C Library; if not, see\n+ <https://www.gnu.org/licenses/>. */\n+\n+#define LIBMVEC_TYPE float\n+#define LIBMVEC_FUNC logf\n+#define LIBMVEC_IMPL \"v_f_logf_skeleton.c\"\n+#include \"v_math_importer.h\"\ndiff --git a/sysdeps/riscv/rvd/v_f_logf_skeleton.c b/sysdeps/riscv/rvd/v_f_logf_skeleton.c\nnew file mode 100644\nindex 0000000000..8540e146fa\n--- /dev/null\n+++ b/sysdeps/riscv/rvd/v_f_logf_skeleton.c\n@@ -0,0 +1,138 @@\n+/* Single-precision vector log function.\n+ Copyright (C) 2026 Free Software Foundation, Inc.\n+ This file is part of the GNU C Library.\n+\n+ The GNU C Library is free software; you can redistribute it and/or\n+ modify it under the terms of the GNU Lesser General Public\n+ License as published by the Free Software Foundation; either\n+ version 2.1 of the License, or (at your option) any later version.\n+\n+ The GNU C Library is distributed in the hope that it will be useful,\n+ but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n+ Lesser General Public License for more details.\n+\n+ You should have received a copy of the GNU Lesser General Public\n+ License along with the GNU C Library; if not, see\n+ <https://www.gnu.org/licenses/>. */\n+\n+#include <vecmath_config.h>\n+#include <v_math.h>\n+\n+#ifndef RVV_LIBMVEC_IMPL_NAME\n+# error \"RVV_LIBMVEC_IMPL_NAME must be defined for RVV libmvec skeleton\"\n+#endif\n+#ifndef V_MATH_FUNC\n+# error \"V_MATH_FUNC must be defined for RVV libmvec skeleton\"\n+#endif\n+\n+#ifndef V_F_LOGF_VFREC7_OPT_SKELETON_ONCE\n+#define V_F_LOGF_VFREC7_OPT_SKELETON_ONCE\n+\n+#define LOGF_LN2_HI_OPT 0.69314718246459960938f\n+#define LOGF_LN2_LO_OPT -1.904654323148236017e-09f\n+\n+#define LOGF_C0_OPT 0.3027294874e+0f\n+#define LOGF_C1_OPT 0.3996108174e+0f\n+#define LOGF_C2_OPT 0.6666694880e+0f\n+\n+#endif\n+\n+static VFLOAT\n+RVV_LIBMVEC_IMPL_NAME (V_MATH_FUNC, LMUL) (VFLOAT x, size_t vlen)\n+{\n+ VFLOAT vx, vy, vy_special;\n+ VBOOL special_args;\n+ VINT n_adjust;\n+\n+ SET_ROUNDTONEAREST;\n+ vx = x;\n+\n+ /* Handle special cases */\n+ VUINT vclass = __riscv_vfclass(vx, vlen);\n+ IDENTIFY(vclass, 0x3BF, special_args, vlen);\n+ UINT nb_special_args = __riscv_vcpop(special_args, vlen);\n+ n_adjust = VMVI_VX(0, vlen);\n+ vy_special = VFMV_VF(0.0f, vlen);\n+\n+ if (nb_special_args > 0)\n+ {\n+ VBOOL id_mask;\n+ IDENTIFY(vclass, class_negative, id_mask, vlen);\n+ vx = VFMERGE_VFM(vx, fp_sNaN, id_mask, vlen);\n+ IDENTIFY(vclass, class_posZero, id_mask, vlen);\n+ vx = VFMERGE_VFM(vx, fp_negZero, id_mask, vlen);\n+ IDENTIFY(vclass, 0x39F, special_args, vlen);\n+ vy_special = VFREC7_M(special_args, vx, vlen);\n+ vy_special = VFADD_VV_M(special_args, vy_special, vx, vlen);\n+ vx = VFMERGE_VFM(vx, fp_posOne, special_args, vlen);\n+ IDENTIFY(vclass, class_posDenorm, id_mask, vlen);\n+ n_adjust = VMERGE_VXM_I(n_adjust, 64, id_mask, vlen);\n+ VFLOAT vx_normalized = VFMUL_VF_M(id_mask, vx, 0x1.0p64f, vlen);\n+ vx = VMERGE_VVM_F(vx, vx_normalized, id_mask, vlen);\n+ }\n+\n+ /* Range reduction: multiply by 4/3 */\n+ VFLOAT vx_adj = __riscv_vfmul(vx, 0x1.555556p0f, vlen);\n+ VUINT ix_adj = F_AS_U(vx_adj);\n+ \n+ /* Extract exponent e - keep as integer, don't convert to float yet! */\n+ VINT e = U_AS_I(__riscv_vsrl(ix_adj, MAN_LEN, vlen));\n+ e = __riscv_vand(e, 0xff, vlen);\n+ e = __riscv_vsub(e, EXP_BIAS, vlen);\n+ \n+ /* Compute m = vx * 2^(-e) */\n+ VINT neg_e = __riscv_vneg(e, vlen);\n+ VFLOAT m = I_AS_F(__riscv_vadd(F_AS_I(vx), __riscv_vsll(neg_e, MAN_LEN, vlen), vlen));\n+ e = __riscv_vsub(e, n_adjust, vlen);\n+\n+ /* Float-float division: x = (m-1)/(m+1) as (x_hi, x_lo) */\n+ VFLOAT num = __riscv_vfsub(m, 1.0f, vlen);\n+ VFLOAT den = __riscv_vfadd(m, 1.0f, vlen);\n+\n+ VFLOAT r = __riscv_vfrec7(den, vlen);\n+ VFLOAT two = VFMV_VF(2.0f, vlen);\n+ r = __riscv_vfmul(__riscv_vfnmsac(two, den, r, vlen), r, vlen);\n+ two = VFMV_VF(2.0f, vlen);\n+ r = __riscv_vfmul(__riscv_vfnmsac(two, den, r, vlen), r, vlen);\n+ \n+ VFLOAT x_hi = __riscv_vfmul(num, r, vlen);\n+ VFLOAT residual = __riscv_vfnmsac(num, x_hi, den, vlen);\n+ VFLOAT x_lo = __riscv_vfmul(residual, r, vlen);\n+\n+ /* x2 = x_hi*x_hi\n+ poly = C2 + x2*(C1 + x2*C0)\n+ poly_tail = x2 * x_hi * poly\n+ */\n+ VFLOAT x2 = __riscv_vfmul(x_hi, x_hi, vlen);\n+ \n+ VFLOAT poly = VFMV_VF(LOGF_C0_OPT, vlen);\n+ poly = __riscv_vfmacc(VFMV_VF(LOGF_C1_OPT, vlen), poly, x2, vlen);\n+ poly = __riscv_vfmacc(VFMV_VF(LOGF_C2_OPT, vlen), poly, x2, vlen);\n+ \n+ VFLOAT poly_tail = __riscv_vfmul(__riscv_vfmul(x2, x_hi, vlen), poly, vlen);\n+\n+ VFLOAT ef = __riscv_vfcvt_f(e, vlen);\n+\n+ VFLOAT s_hi = __riscv_vfmul(ef, LOGF_LN2_HI_OPT, vlen);\n+ VFLOAT s_lo = __riscv_vfmul(ef, LOGF_LN2_LO_OPT, vlen);\n+\n+ /* Compact dfadd: s + 2*x + poly_tail\n+ sum_hi = s_hi + 2*x_hi\n+ sum_lo = (s_hi - sum_hi) + 2*x_hi + s_lo + 2*x_lo + poly_tail\n+ */\n+ VFLOAT sum_hi = __riscv_vfadd(s_hi, __riscv_vfadd(x_hi, x_hi, vlen), vlen);\n+ VFLOAT err = __riscv_vfsub(s_hi, sum_hi, vlen);\n+ VFLOAT sum_lo = __riscv_vfadd(err, __riscv_vfadd(x_hi, x_hi, vlen), vlen);\n+ sum_lo = __riscv_vfadd(sum_lo, s_lo, vlen);\n+ sum_lo = __riscv_vfadd(sum_lo, __riscv_vfadd(x_lo, x_lo, vlen), vlen);\n+ sum_lo = __riscv_vfadd(sum_lo, poly_tail, vlen);\n+ vy = __riscv_vfadd(sum_hi, sum_lo, vlen);\n+\n+ vy = VMERGE_VVM_F(vy, vy_special, special_args, vlen);\n+\n+ RESTORE_FRM;\n+ return vy;\n+}\n+\n+#undef LMUL\ndiff --git a/sysdeps/unix/sysv/linux/riscv/libmvec.abilist b/sysdeps/unix/sysv/linux/riscv/libmvec.abilist\nindex 2592c2dc6f..4daf4f2495 100644\n--- a/sysdeps/unix/sysv/linux/riscv/libmvec.abilist\n+++ b/sysdeps/unix/sysv/linux/riscv/libmvec.abilist\n@@ -9,3 +9,14 @@ GLIBC_2.43 _ZGVr4N16v_log F\n GLIBC_2.43 _ZGVr8N8v_log F\n GLIBC_2.43 _ZGVr8N16v_log F\n GLIBC_2.43 _ZGVr8N32v_log F\n+GLIBC_2.43 _ZGVr1N4v_logf F\n+GLIBC_2.43 _ZGVr1N8v_logf F\n+GLIBC_2.43 _ZGVr2N4v_logf F\n+GLIBC_2.43 _ZGVr2N8v_logf F\n+GLIBC_2.43 _ZGVr2N16v_logf F\n+GLIBC_2.43 _ZGVr4N8v_logf F\n+GLIBC_2.43 _ZGVr4N16v_logf F\n+GLIBC_2.43 _ZGVr4N32v_logf F\n+GLIBC_2.43 _ZGVr8N16v_logf F\n+GLIBC_2.43 _ZGVr8N32v_logf F\n+GLIBC_2.43 _ZGVr8N64v_logf F\n", "prefixes": [ "RFC", "4/5" ] }