Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp6720662rwr; Tue, 9 May 2023 20:56:18 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7OlXKzA44OyLsYVg7PZ39Nb0APS28k6FB1J/PsY3t8ld3zxumieqsNsvB1Gr8G4KU5D+T8 X-Received: by 2002:a17:90b:4f45:b0:24e:4571:772e with SMTP id pj5-20020a17090b4f4500b0024e4571772emr15834517pjb.47.1683690977733; Tue, 09 May 2023 20:56:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683690977; cv=none; d=google.com; s=arc-20160816; b=tPXxU5FbKmokbVp0ONx8Uf1iptRPwvsuURLMMxj/S3X9Zmm1S77/5sVBu9yVDS6G3T 7VSP4qtyIBL8HBYrhVXZ5+5rqaApozvvMb4cvn+RZN2cqPwNPFFPQzF1aC6/2rN+B9Pr 8mT6TVfzE4GV7RAwZhZV7HOXdthtawf7eG3WoiUItcGiTigU2HZqYQU1hDeBxfBRyjNX 37RmDsra63tsmoIT2I9GyY5d85sJRcfctQMKaM0lv9hanWVKos4x1Vf8AKwcswylLsaG ayoeZmzho20CN8vREU3SQjEvjhWOXJ20o784CxbvR6W7phhi+CsRo4G163LxHKIyVpbq SvhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=iEiFUy1jQsRM6aIe5Ug6C6I5S7K8RRjm4135kykYFHY=; b=ntfuSw5VPREE53/ckP2gDAAqyMGLYZVAUp1kCpibdc4Yu/l1/Z7bpIuSSr1SbvSfai oQdMi2kPFrmMfNRYmyVJRmTqmS2/+tpsA06FZxEn0tLuI0rbXnwY/AEehE/5GSi6CgaO sY3GVLflxJbqAxoNcUqINS5IBInX25bUYTW4bibtFHxm1rOnS/CEH7II4dUXF4HhcRGH s914pFrd/dfE/rGdoxIEWE0U/42enLlTHWpefRN2iTk/AukzSrMzh1fAumO7dtvI/myx jDNTOd4thd6rZekOLIM52hVj8OMy3K/uqkm0RuoaQjVWtpzunVNWFaPz3d3/c0XlZ54I WYeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=kauZQLk2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v1-20020a637a01000000b00517f0c53072si3283604pgc.170.2023.05.09.20.56.04; Tue, 09 May 2023 20:56:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=kauZQLk2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235759AbjEJDxX (ORCPT + 99 others); Tue, 9 May 2023 23:53:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235642AbjEJDxQ (ORCPT ); Tue, 9 May 2023 23:53:16 -0400 Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.197]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AF98E10D for ; Tue, 9 May 2023 20:53:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=iEiFU y1jQsRM6aIe5Ug6C6I5S7K8RRjm4135kykYFHY=; b=kauZQLk2XXLBOu4xJE3XR 4fl5u+T5bRybY2yydZfvCRtnVIU1brx6hI4krs+8NYWr8KCZr8RnRUx6IM2ToyCw WGvfxfyHK3trkzUq+mZJdVrTOxikBJMNxLlvGci0/xdttQF3TOjh6bXljEFv+712 3TdLFvcSz+cZzw1PaQipCQ= Received: from zhangf-virtual-machine.localdomain (unknown [180.111.102.183]) by zwqz-smtp-mta-g3-4 (Coremail) with SMTP id _____wBHlVQOFVtk+zPWBQ--.60792S4; Wed, 10 May 2023 11:52:56 +0800 (CST) From: zhangfei To: ajones@ventanamicro.com Cc: aou@eecs.berkeley.edu, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, palmer@dabbelt.com, paul.walmsley@sifive.com, zhang_fei_0403@163.com, zhangfei@nj.iscas.ac.cn Subject: [PATCH 2/2] riscv: Optimize memset Date: Wed, 10 May 2023 11:52:42 +0800 Message-Id: <20230510035243.8586-3-zhang_fei_0403@163.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230510035243.8586-1-zhang_fei_0403@163.com> References: <20230509-b0dc346928ddc8d2b5690f67@orel> <20230510035243.8586-1-zhang_fei_0403@163.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: _____wBHlVQOFVtk+zPWBQ--.60792S4 X-Coremail-Antispam: 1Uf129KBjvdXoW7GryxZw13AFWrKrWxtrW8JFb_yoWkAFc_Gr WxCa97JFyDJFZ3Xa9rtw13Kry8uFZ8KrykG3WDtw1UG3WFkwnxtrWYqry5AF18XwsrGay3 G3ZrJr4rXr1UGjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUUWlkPUUUUU== X-Originating-IP: [180.111.102.183] X-CM-SenderInfo: x2kd0w5bihxsiquqjqqrwthudrp/xtbCfAlrl2DcJd-5aAAAse X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SORTED_RECIPS, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: zhangfei This patch has been optimized for memset data sizes less than 16 bytes. Compared to byte by byte storage, significant performance improvement has been achieved. It allows storage instructions to be executed in parallel and reduces the number of jumps. Signed-off-by: Fei Zhang --- arch/riscv/lib/memset.S | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/arch/riscv/lib/memset.S b/arch/riscv/lib/memset.S index e613c5c27998..6113a2696e79 100644 --- a/arch/riscv/lib/memset.S +++ b/arch/riscv/lib/memset.S @@ -106,9 +106,36 @@ WEAK(memset) beqz a2, 6f add a3, t0, a2 5: - sb a1, 0(t0) - addi t0, t0, 1 - bltu t0, a3, 5b + sb a1, 0(t0) + sb a1, -1(a3) + li a4, 2 + bgeu a4, a2, 6f + + sb a1, 1(t0) + sb a1, 2(t0) + sb a1, -2(a3) + sb a1, -3(a3) + li a4, 6 + bgeu a4, a2, 6f + + sb a1, 3(t0) + sb a1, -4(a3) + li a4, 8 + bgeu a4, a2, 6f + + sb a1, 4(t0) + sb a1, -5(a3) + li a4, 10 + bgeu a4, a2, 6f + + sb a1, 5(t0) + sb a1, 6(t0) + sb a1, -6(a3) + sb a1, -7(a3) + li a4, 14 + bgeu a4, a2, 6f + + sb a1, 7(t0) 6: ret END(__memset) -- 2.33.0