| Message ID | 20251211132725.435742-1-pincheng.plct@isrc.iscas.ac.cn |
|---|---|
| Headers |
Return-Path: <newlib-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id C14D64BA2E1F for <patchwork@sourceware.org>; Thu, 11 Dec 2025 13:28:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C14D64BA2E1F X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from cstnet.cn (smtp81.cstnet.cn [159.226.251.81]) by sourceware.org (Postfix) with ESMTPS id 471ED4BA2E04 for <newlib@sourceware.org>; Thu, 11 Dec 2025 13:27:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 471ED4BA2E04 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=isrc.iscas.ac.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=isrc.iscas.ac.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 471ED4BA2E04 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=159.226.251.81 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1765459654; cv=none; b=ifba+ODOfkh8SVYd4hoKq1N7ET8bTZS/c5eQGBfE7egQ/7BwNKb1O+z7b90BURmwVanqIEEqoBvVIE69LRH4KKFyMUwZH+OIF6zIhoCcaa7PKa5n/Pwaos5/Psp0IIsuKxIG3RL3JsAd3XkTBbYB+vKZSq9UAvl+hhmUPlmLuSE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1765459654; c=relaxed/simple; bh=PxVbE6Sfu8ZBLtOFCfMJIb1r3B1quJClD8U9SBj3QpM=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=r+65TYDUVZqfabs0qMEjYUXa7/YfTti3mimdNh/8x4Vi+1+id/yneyEyO3NezKHuTv7mLZF/StpOR5Ryq9inXlqSaYgCMOPQqoBZi+35LJ6CPOrl79HX/LF39lErZhYydWKbDoH/Hab+oLjMHFpFdTPH4B9Ss6q1ZeSpDhdgdFI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 471ED4BA2E04 Received: from ROG.lan (unknown [120.227.57.121]) by APP-03 (Coremail) with SMTP id rQCowAAHJdzBxjpp_klOAA--.24119S2; Thu, 11 Dec 2025 21:27:29 +0800 (CST) From: Pincheng Wang <pincheng.plct@isrc.iscas.ac.cn> To: newlib@sourceware.org Cc: pincheng.plct@isrc.iscas.ac.cn Subject: [PATCH 0/1] riscv: add vectorized memset, memcpy and memmove Date: Thu, 11 Dec 2025 21:27:24 +0800 Message-Id: <20251211132725.435742-1-pincheng.plct@isrc.iscas.ac.cn> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: rQCowAAHJdzBxjpp_klOAA--.24119S2 X-Coremail-Antispam: 1UD129KBjvdXoWrKrWrZFWxurWfGry3trWxXrb_yoWkAwc_C3 48Z397tr4UJF4UWa9rAw43KFyYgay8tFyDuF12k348C340krn3ZwnrtryUXryUXanYvFWF yrs7JryrJFy3ZjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbwxFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w A2z4x0Y4vE2Ix0cI8IcVAFwI0_Jr0_JF4l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Jr0_ Gr1l84ACjcxK6I8E87Iv67AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gr0_Gr 1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xII jxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr 1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7MxAIw28IcxkI7VAKI48J MxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwV AFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUXVWUAwCIc40Y0x0EwIxGrwCI42IY6xIIjxv2 0xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4 v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AK xVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjfU5WlkUUUUU X-Originating-IP: [120.227.57.121] X-CM-SenderInfo: pslquxhhqjh1xofwqxxvufhxpvfd2hldfou0/ X-Spam-Status: No, score=-3.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Newlib mailing list <newlib.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/newlib>, <mailto:newlib-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/newlib/> List-Post: <mailto:newlib@sourceware.org> List-Help: <mailto:newlib-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/newlib>, <mailto:newlib-request@sourceware.org?subject=subscribe> Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org |
| Series |
riscv: add vectorized memset, memcpy and memmove
|
|
Message
Pincheng Wang
Dec. 11, 2025, 1:27 p.m. UTC
Hi all, This patch adds RISC-V Vector (RVV) optimized implementations for memset, memcpy and memmove. The implementations use the RVV extension with e8 element size and m8 LMUL, gated behind the __riscv_v macro for compatibility with non-vector RISC-V systems. Benchmark results on Spacemit X60 (Muse-pi) show significant improvements: memset(16B, aligned): 2.57x faster. memcpy(64B, aligned): 1.78x faster. memmove(64B, aligned): 1.95x faster. Improvements are consistent across aligned and misaligned accesses, with vector operations showing particularly strong gains for aligned addresses. Comments and suggestions are welcome. Thanks for reviewing this work! Thanks, Pincheng Wang Pincheng Wang (1): riscv: add vectorized memset, memcpy and memmove newlib/libc/machine/riscv/memcpy-asm.S | 23 +++++++++++- newlib/libc/machine/riscv/memcpy.c | 2 +- newlib/libc/machine/riscv/memmove-asm.S | 47 ++++++++++++++++++++++++- newlib/libc/machine/riscv/memmove.c | 2 +- newlib/libc/machine/riscv/memset.S | 22 ++++++++++++ 5 files changed, 92 insertions(+), 4 deletions(-)