Message ID | 20250410112308.77247-7-marlene.fally@gmail.com |
---|---|
State | New |
Headers |
Return-Path: <newlib-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E52CB384A80C for <patchwork@sourceware.org>; Thu, 10 Apr 2025 11:31:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E52CB384A80C Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=k/7DDjOn X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) by sourceware.org (Postfix) with ESMTPS id D76EE38393AB for <newlib@sourceware.org>; Thu, 10 Apr 2025 11:23:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D76EE38393AB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D76EE38393AB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::529 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744284199; cv=none; b=tRJh5YrCmOfjGuWcTvVx9WUgXBguEiR2gg6MxrCPygDPlcbGyVm/b2xbXx6PZ7s7tRVYl7FONWMno4S3HcH+z5P/9WQMF+p13HLz8pD8NjfZmb5lcp871Yt/XG32FH1F+qdVXVVqlIWZbT5iYd/Wd5t5FCUIT2Xb0a4y+MaMzrI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744284199; c=relaxed/simple; bh=5nj+E0ro3Yki8KBcN8HKIbAGSbpIIDa4YLZQbW91koA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=s/971xiKQFvgn/AcYvlTB3SH7Tawxk1Dk9mJp5NLirSi4I8PZbWLwrVCXtf9Sg+HYqjc2LybIY6XgH2q1ZcWxkZjx30XI1bVFi44NQKu0K24cEEehLTaO/vzQQBxxDGMN5sfIohzsw5FZHFNiRRpgB9Tn4Zr1G+KW4DA5oN4gG4= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D76EE38393AB Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5e61d91a087so1035619a12.0 for <newlib@sourceware.org>; Thu, 10 Apr 2025 04:23:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744284197; x=1744888997; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2I91R3J3r5rlDThRQablZpH7ovCcxQkwrEnBQFAhhiQ=; b=k/7DDjOnPM4YcGKRhrdiw+iu8O3Lnf15DKLZiGQOs9aRof4ow7nmyZrje0SQ7Pf6F8 299hfb4tet9SY1f3RQ2xKkYvHnRZsQ8kT+rBu95h6f5OMm/stiP3pQ0O5LocsdlJr91q VZY6LIp0kcrsbaooyeKyvqhjhd6GrrE8WozYOn3qwCQ/UiemoBz+Grq59o4gl9DRd0hq Ru2U7ZWn92jrBphotwQ4gTEB+WZq/Q22MJSLLK5wwXvPfTcyPkeJK6BMbv0nwLZGULkK rGG7fJl189UMsWz42jvuxL55gWtHvCTCYznPSZpaFeZyrWnjTlKUPK73WCkeTiHiq1A/ 4PzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744284197; x=1744888997; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2I91R3J3r5rlDThRQablZpH7ovCcxQkwrEnBQFAhhiQ=; b=WGYirZI9pfYedAwuh9Wc8zFA6IV3FT1uwscXa2fT5RWopC3/CiSrEkSHvjE9MPCsDf JmKCv+OsXGJFg3QY9qc+0OQg7uyPrJJirRh3NaYl4xfcCQwH/wjP/twWpCl/NsHAO4OC KIQhBuKIwPi7+yGNfM8UUNYnHs/sDjrP4IF6mB3L5CifwPRrXI1Iev0aduaH/gc+52jQ /uTtpqzV3RFeZueAn9+WZPHoUPcZUTM4OgnQGzFVjYlZZmZztW1nKENPdCYSqYKgbTu0 tmON4Bja9ZCVHlD2I8B37+vRwDSbQhY002QP9DJaat1rdfXt78ld0kVptRPFGfpYfg7h 1CDA== X-Gm-Message-State: AOJu0Ywt/QYn4oD2UAiAqLwA1ZLcJObZF/CcfeevxUP5R92dQx8PsmEs aP9Cc+IyFuzH2dt2nPagqjCABKiYgrI/wUD3om6zTVfrv5ybVuv6oEdZeWgd X-Gm-Gg: ASbGncsH2GNTPSNBsTYgov49Plw8ZtDkL8eLpsgvPxCNwXbBOinFrUL18FO7SlvsEe8 xIgBVJF1PJImhHsnMMdwkZN/nEbyqWPaxHoeOjz7R+dpyTfP+uZfCfjQ38jHYjzReV3X3QXuyV1 Zfa3DGKeqi1zxvfogKW3jIH4iQc0TSPJgevlmamRl8Eo4ZULK7t3t8QrPlf0YgHgyKsANqsyRb9 wJ6lJ3IbVo/eL/ljXoNuWh822I5ghvxW4Qpqn8/H0xhIr9DqsoK7Oek/dWpoNxPYX9YM+vwwbL5 rCQcK9N0ArWZsgiy97D7SdTslPn1Z7EKhv1K7Vw7XV+sY8JAfG/ZflwXMxSIh/foSjZ/ylxxYOe 1kuePOUs= X-Google-Smtp-Source: AGHT+IGcPGGbtt6AB+I6OtRCTMeEVvnF/8YmL3Fl61teMx1S2LYbudweac5rfg9IfKfrF6JI760c/g== X-Received: by 2002:a05:6402:35c9:b0:5ed:c188:8e7e with SMTP id 4fb4d7f45d1cf-5f32930f5eemr1908877a12.27.1744284196994; Thu, 10 Apr 2025 04:23:16 -0700 (PDT) Received: from marlene-s-thinkpad.eduroam.tuwien.ac.at ([149.34.244.140]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbbac4c6sm2127973a12.13.2025.04.10.04.23.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Apr 2025 04:23:16 -0700 (PDT) From: m fally <marlene.fally@gmail.com> To: newlib@sourceware.org Cc: m fally <marlene.fally@gmail.com>, Christian Herber <christian.herber@oss.nxp.com> Subject: [PATCH v2 06/11] RISC-V: memmove() size optimized version: Relax RAW dependency Date: Thu, 10 Apr 2025 13:23:03 +0200 Message-ID: <20250410112308.77247-7-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250410112308.77247-1-marlene.fally@gmail.com> References: <20250410112308.77247-1-marlene.fally@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.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 |
newlib: RISC-V: Optimize memory and string functions for code size
|
|
Commit Message
m fally
April 10, 2025, 11:23 a.m. UTC
Move the instruction that increments the remaining number of bytes to be copied inbetween the load and store instructions. This is done in order to relax the RAW dependency between the load and store instructions. Reviewed-by: Christian Herber <christian.herber@oss.nxp.com> Signed-off-by: m fally <marlene.fally@gmail.com> --- newlib/libc/machine/riscv/memmove.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/newlib/libc/machine/riscv/memmove.S b/newlib/libc/machine/riscv/memmove.S index 671a6a158..6ecad9ad6 100644 --- a/newlib/libc/machine/riscv/memmove.S +++ b/newlib/libc/machine/riscv/memmove.S @@ -28,9 +28,9 @@ memmove: add a4, a4, a3 /* in case of source address < destination address, increment both addresses by -1 before copying any data to obtain the correct start addresses */ add a1, a1, a3 .Lcopy: - lbu a5, 0(a1) /* copy bytes as long as a2 (= the number of bytes to be copied) > 0 */ + lbu a5, 0(a1) + add a2, a2, -1 /* copy bytes as long as a2 (= the number of bytes to be copied) > 0. the increment is done here to relax the RAW dependency between load and store */ sb a5, 0(a4) - add a2, a2, -1 bnez a2, .Lincrement .Ldone: