get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2194423/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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"
    ]
}