Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp5157266rwr; Mon, 8 May 2023 19:32:17 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4a61/HW8XeQ1RTgokN9km1JGQQ9ty5Vm0Tz7qzqMSBYGVZRwqJZdqHkZ+23vFfrnhGjEaA X-Received: by 2002:a05:6a20:3c87:b0:100:5ee1:2a05 with SMTP id b7-20020a056a203c8700b001005ee12a05mr7729087pzj.27.1683599537323; Mon, 08 May 2023 19:32:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683599537; cv=none; d=google.com; s=arc-20160816; b=dUfQ27aKjQB/wWG0ENCdvS0PaWx8zpXHrUGC710msw3sozzaG5YenyjNIJ0zTkO994 Vu3VPoRZ18OEaibPhqwzQxiRp8P+E0sw1u0kbwS8wucRRIuzudgrI3nt1nVIuanxQC9R PaDQx+yzVbDQ8KKvoKdriTtHFNn4iCa25d1cBYsoI/x/FPqLsMsrGUuvQX+qzZpEUwYf UISB3PzDTblxp+qwePQRa3IeyVpwb729t00Z9LHhp2//gSoHPaHazXXgZHb0krQN8mWH XuUuSbeNDoGOCLERDRp+KWXvbLfS1ZJ7uBRm4rt8CubcZvgmC+EPoFkP3c0Js1YopR5v NB+g== 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=B7r1HxceD8xEK8s87PGYO33d2ZP2EMjWFu6ZqdrIJYA=; b=co8lUcCw9eyFxwgQgEuKri7jy4dhyKkLwpdSh6nC8J4rFypx8Q2hM2MvT9EzhwfyL/ DIX/l0kNoVx7L0izUyNQaDYprc+tiRy6CrUJudexs9Vf+k1IIAl1kT4ilpHEsGoMczbd pAcYH2hYDn4HdNmdcL4J3KhWwQB9hyZCBOvV8Kg96gKObj43H+4pQJVluG2qfZMPu8no qggYNq5eeWAD2FnD2SNAKcLWqXOldPqo9/nOPSRcCuN54JJxgJneGov6uaJbcv0y7ep0 rv/AbI8bhfSKEVpusa98WOrBGKcwCZceroGauLhw2Qp8s9d/036XW9RZ2FuCiNRYkBL1 Kveg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=ewLVubx1; 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 a21-20020a63e855000000b0051b2ba5cb37si399153pgk.437.2023.05.08.19.32.05; Mon, 08 May 2023 19:32: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=ewLVubx1; 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 S233900AbjEICXg (ORCPT + 99 others); Mon, 8 May 2023 22:23:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35936 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229845AbjEICXc (ORCPT ); Mon, 8 May 2023 22:23:32 -0400 Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.216]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 466E793FE for ; Mon, 8 May 2023 19:23:31 -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=B7r1H xceD8xEK8s87PGYO33d2ZP2EMjWFu6ZqdrIJYA=; b=ewLVubx1vuM7+F2HbEh6V RjjOdHi/nSWdQ/2WLQC1kQqlhrdBUjn+AS3iO1Cl3P/qjYbHFc1y3zO0hmmzArbF 9Cgc7Vdcq6whuRQIhEFyDje45wz+lPNhG/xh+qV7TeztGbge+JIrrPhZ+2HwAu3b l6ArpdN92sy3RAwZeyJsIw= Received: from zhangf-virtual-machine.localdomain (unknown [180.111.102.183]) by zwqz-smtp-mta-g3-4 (Coremail) with SMTP id _____wBXf4dSrllkqHhsBQ--.30265S3; Tue, 09 May 2023 10:22:13 +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, zhangfei@nj.iscas.ac.cn Subject: [PATCH 2/2] riscv: Optimize memset Date: Tue, 9 May 2023 10:22:06 +0800 Message-Id: <20230509022207.3700-2-zhang_fei_0403@163.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230509022207.3700-1-zhang_fei_0403@163.com> References: <20230505-9ec599a36801972451e8b17f@orel> <20230509022207.3700-1-zhang_fei_0403@163.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: _____wBXf4dSrllkqHhsBQ--.30265S3 X-Coremail-Antispam: 1Uf129KBjvdXoW7GryxZw13AF1kGw15JFW7twb_yoWDZwc_Jr WxCa97JFyDJFZ3Za9rtw15Kry8uFZ8KrykGF1Dtw1UG3WFkr13trWYqry5Ar18XwsrGay3 G3ZrJrWrXr1UGjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUeYNt3UUUUU== X-Originating-IP: [180.111.102.183] X-CM-SenderInfo: x2kd0w5bihxsiquqjqqrwthudrp/1tbiWxZql2I0Z8wmqwAAsA 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,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. 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