From patchwork Wed Apr 9 06:46:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110082 Return-Path: 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 D6B22384DEC7 for ; Wed, 9 Apr 2025 06:51:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D6B22384DEC7 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=eMQeW0c7 X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id 10E64384DEC7 for ; Wed, 9 Apr 2025 06:47:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 10E64384DEC7 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 10E64384DEC7 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::633 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181230; cv=none; b=QZWQTyse/dEegtz8ecvF3WfBze98cYBcvw2X/LKlSr+lZAMj9/AJzgmYDWGH5SdffvB1qPK4SbrnRJAHDzfxCXOcnq4E5K/WUOtLvPzBAlyIGSbS4UgTNB+lZd90+BtEW/Ve53OAYsnMGBCw2z6dot8N70sN1wMn4dgXyM940Ug= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181230; c=relaxed/simple; bh=ElpRLwfgEWQ0JpA/xMAwSDlL3zbNgBVDZggj2Wod03w=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=ONIhT8Erltr6nKBl+37OVrUxBUmkzEdEoErZEZLL0SP8ci6/JORZLkpqJFlkC5jdOr9xKnj8xjfO4/JvgBBRI16680n/MigorLTn5/H3kQ71jJfTMoNXo+VPAgilbQtvYXr0AZZ0feLtOa2CsoPeViXyylV5duvjAOr/KkRd+cM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 10E64384DEC7 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-ac3b12e8518so1165558066b.0 for ; Tue, 08 Apr 2025 23:47:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181229; x=1744786029; 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=ENT+SYGNBMw0p6kvvgwE45F7NjMaAAiFONx3BhcswM0=; b=eMQeW0c7z96DCELyAItE7VfRIx8xc9WY1fBdKcGhcvQA/Xdt2hACJYdAa6tfpdlCuM elB8MZAwMSQaVOYJv1I2+GWzXXLtVQQQllqxSynqqQIEywX7eTX1DDQ0+Rc5fuLhKqLD jdJ/UmFyY0VGqmFmlM0A15fHraw9UP3l8+Adio93ut/i896qNDbbbaArYQuYToJAmjq0 nO0DKXOnkSV+bGF6Pa1RMz2qDY8byClhoUuknoGAudPtNHWm7XaxYVU4VgJzhk+VsCkz s37kuiYT31VLz5M1O86JEXPl3kxHf7603uQ148IOjOWZW8JzZEoQhcFjDPKNaFhjNLQm j26A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181229; x=1744786029; 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=ENT+SYGNBMw0p6kvvgwE45F7NjMaAAiFONx3BhcswM0=; b=PnpecA2zJhZXf/mkUjOp5TJsaUo6ugmJ3+yoPk/BAqGP1b7ozqbet1M+b90imChwKh xZCeRceT1V7Oe3hPmHh4OUc/hk7VfPO9vG2BQGld2UXiFvgeT6DiaLBUso+dde0xkONx V3jXHDJEo/n9voUuOxw7OL9Sx5QJMnmjugzbjgAK3XM8ud8t/qOxH9uiOfKEWz1ylWHy u3qeo0jk/4m7U1ZZ7BjpZoTMToJQ5RlJJZMmZVGj+iV60tXHpakV2N7x9J473DwiQ7en Q6DXZv8eWRDylrYoK1ND3LKScVPO66W/9leepSNznDu6DhGpeS2Rk042W2ooEBuIsrBL kB6w== X-Gm-Message-State: AOJu0YwJNTppZBEs0igVLw+xSFRJxPl4KAXA/q3PRzwA0d715Ez2u1Rm ebnN9d4xqQxbRa7/Osd2dNtGNI8ukf126eOpz7+Djo6yD8XyQD0gHRAvnGVtjbs= X-Gm-Gg: ASbGncse4lH/8NJgPZTPcLvpuGrgVmOXHhuXPB35Wd11z4ejQkjZcwmH0CA6OuPJUrr h1brt2ayXAO1EqbmfdmeFUWYY6iG+xM96rLCWaux+4LlVOpKL30U7k0xp8LmvryMxPU/3AAarEy Y5/SfKbCCyB3020lFKOO0WsLi/uPYMk7wtwyMCfUBfeMawH70FUbbc9mG8KMYeYMjVAsMLPm3wO UmRUtVp6r1e99TTWht2cMOODZTmu3qPtvQKbtBF4/MO9eno1zsOX8hsjZgS/2cr0nKXvp5gJWDN ZpHma4O4szUkNQs4wsKHV9e0zN5H3TviOHbqK4rqZcWE27VguYN2KslbbhE= X-Google-Smtp-Source: AGHT+IFMVkYIvPZsK9wf3xiMVnja1VgXU1NvHcHwkEPO6tjuC1TRujkYP7j5/RB/cHpBOd2B4zUhPA== X-Received: by 2002:a17:907:9714:b0:ac7:391b:e688 with SMTP id a640c23a62f3a-aca9d728b45mr156142866b.58.1744181228426; Tue, 08 Apr 2025 23:47:08 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:08 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: m fally , Christian Herber Subject: [PATCH 01/12] RISC-V: memmove() size optimized version: Use compressed register Date: Wed, 9 Apr 2025 08:46:50 +0200 Message-ID: <20250409064701.3435-2-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-10.2 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org Replace register t2 with register a5, so that lb/sb instructions can be compressed. Reviewed-by: Christian Herber Signed-off-by: m fally --- 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 66d9cd494..0f7216a68 100644 --- a/newlib/libc/machine/riscv/memmove.S +++ b/newlib/libc/machine/riscv/memmove.S @@ -26,8 +26,8 @@ memmove: add a1, a1, a4 1: - lb t2, 0(a1) - sb t2, 0(t1) + lb a5, 0(a1) + sb a5, 0(t1) add a2, a2, -1 add t1, t1, a3 add a1, a1, a3 From patchwork Wed Apr 9 06:46:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110086 Return-Path: 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 CBDFD384F02D for ; Wed, 9 Apr 2025 06:55:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CBDFD384F02D 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=XWDT57Lr X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) by sourceware.org (Postfix) with ESMTPS id 737A4384DED8 for ; Wed, 9 Apr 2025 06:47:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 737A4384DED8 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 737A4384DED8 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::52b ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181231; cv=none; b=eD/oCNUqoCzxdC4XIfBHzgiGMrn41BbAh0LOsV9QKGxktd6d7Kob3DE+foCqtjA/txSW7sMGjgbo8EjNATdg42jD0zUFIYugfsGInJ0x363x/EANlHMGimkmPaJTW8KE00+PGqjkHltzGuoC8O28DRhwWLiIAq/Db/xwgAgPP9o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181231; c=relaxed/simple; bh=PzMKKbq9VQ6hfuv03HSl32Qqo6HPSJ/QL+PI4AWRV6w=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=jmFUChpZ4zs4glixwDlvdrKqViR0kfKUDT3+ex+nTkyE2bQZYH0D/kL1U5t5bkD4xLsOce1dHoBOJ0a70bZWr2QDO/elEZlYLG5/MsBcYoSQXzlxtaPXOuCvayDVqKVBR/CEivtPvY7N1d+RX264N6Cu9mjji5A+is6TfZYIr1E= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 737A4384DED8 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5efe8d9ebdfso1382085a12.3 for ; Tue, 08 Apr 2025 23:47:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181230; x=1744786030; 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=wY7GCQu1BVch5XM7tCiBRkNvN+K/jwgfmanwxJg5rwQ=; b=XWDT57LrkQclDJ3ktvKkUirWsJldF0HpOikKqpRkYDsdoihRU6VnicpL+lutrZy4Lw uMi7XvvmF8qfTwWm7KmLRrJxZsI2RZt7VyPGorIvj9fK4St68g8CXAbN5GbkurZYVSNZ 5r2jglB6R2R22yj3S67XMd/B03U+Q7syk6O1cZ7EvIdowlq61OejnKfR2jH5BOPgIcfL 9+BjxkAcRX+1yN98ZrDsHdUjaDH8FkdY+UzL0ypQXg9lLuQf8wdQMaCOV702Bx6mHyxr DqGL/BN1ZyPYLU9HrdgBgr96999JhQTiS70iywIsnmS/WKGannebQBdcZJdwV0ghMfEL iY9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181230; x=1744786030; 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=wY7GCQu1BVch5XM7tCiBRkNvN+K/jwgfmanwxJg5rwQ=; b=tMv8RVFEUmTkBKBQU02KH2xCzjVi0Y+Ccdr0uVi/3Y9Lx5sv+QU7wVCCQ+qn9vFJ2d 68PNfY72bx/NpSNyYfI2Zvox5+JoojMbrNmGVWnTB6pFhhXEJGCYWGKS0kxIo38IC8WH vl201oLrDD4sB8z+OdRvNzhwmWLXW+0MF5t/dXiulZUpHq5swzKCiXmEWzCTsmoVodTt 5dGR0ft47fjfxTggt9h0fsXTrNsb6k5DC2EPg27UlHL5fAT5ePYcG4ueZPFolHuGSVOl u1N8HfQTuWR1qe6gFabZpHlGkP+AxPXtwXQXmzUbJUJ6kR20fGZ/85zbWvmSTQEKbkVu OWJg== X-Gm-Message-State: AOJu0YzzakXmstukf7u9XV2QpQywK/f/dleQopez6VRUertBMYVUaGYR AtmMgU/Y3wEnqS9PBh6Yxb5p8c8kSxhQx2GjmJl4UJ62AnHWuULGNK9xGbDtsnY= X-Gm-Gg: ASbGnct0+W/BaOteQpdEUH0QUnaQqc5dCYHT/fu6OfmyckELFaSx8C8yuD1Xchj1mXl lfyG5YfnyOPQGQHL7MqK+Fiutlk3+p7lfllNLWtqMw8ZhImQvgG4YJTExo2+9vXqtfFV9tqQc6L GjhlqtxtUgHhUgiTYnKkyeoYWyUt9MzMmBVaISBDRlmXBQI+2K7+EWrItV6GAjw+GVUeZemZD5B DlvNkxgeALmUbmmumt0XOyFk6NmI6CfqDTL/69I7bjyUt0CKzpRvVo/iN8pA4JzWXXNtiO1WOUU MS0H1XpPybtEGWvQwBf3tR1J3hmxHiRHBy3k4bsXfn2edBLF0LrhBV9qaf8= X-Google-Smtp-Source: AGHT+IG7gw4jx2q6zm7GfhC3IHyNq9RHygCDIBoLTKyPPvIomKxGNcgKA0n8kq2e6qVdAWDCRPCGsg== X-Received: by 2002:a05:6402:3590:b0:5e5:debf:3f09 with SMTP id 4fb4d7f45d1cf-5f2f86bc653mr1150952a12.27.1744181229829; Tue, 08 Apr 2025 23:47:09 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:09 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: m fally , Christian Herber Subject: [PATCH 02/12] RISC-V: memmove() size optimized version: Use compressed registers only Date: Wed, 9 Apr 2025 08:46:51 +0200 Message-ID: <20250409064701.3435-3-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-10.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, SCC_5_SHORT_WORD_LINES, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org Change register t1 to register a4, so that the affected instructions can be compressed. Since now we have less registers available, the following changes need to be made: In the previous version of this function, a4 was used to hold the offset that needs to be added to source and destination addresses before copying any data in the case of source address > destination address. Since a4 now holds the destination address, this offset is not calculated anymore. Instead, the value in a2 (the number of bytes to be copied) is added to the source and destination addresses. Therefore, in the case of source address > destination adress, a value of 1 needs to be subtracted from both addresses before starting the copying process. Reviewed-by: Christian Herber Signed-off-by: m fally --- newlib/libc/machine/riscv/memmove.S | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/newlib/libc/machine/riscv/memmove.S b/newlib/libc/machine/riscv/memmove.S index 0f7216a68..123ab3834 100644 --- a/newlib/libc/machine/riscv/memmove.S +++ b/newlib/libc/machine/riscv/memmove.S @@ -16,22 +16,22 @@ memmove: beqz a2, 2f - mv t1, a0 + mv a4, a0 li a3, 1 bgtu a1, a0, 1f li a3, -1 - addi a4, a2 , -1 - add t1, t1, a4 - add a1, a1, a4 + add a4, a4, a2 + add a1, a1, a2 +3: + add a4, a4, a3 + add a1, a1, a3 1: lb a5, 0(a1) - sb a5, 0(t1) + sb a5, 0(a4) add a2, a2, -1 - add t1, t1, a3 - add a1, a1, a3 - bnez a2, 1b + bnez a2, 3b 2: ret From patchwork Wed Apr 9 06:46:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110079 Return-Path: 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 17100384DEDC for ; Wed, 9 Apr 2025 06:48:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 17100384DEDC 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=YHYEmdSz X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id A79DF384DEDC for ; Wed, 9 Apr 2025 06:47:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A79DF384DEDC 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 A79DF384DEDC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::62c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181232; cv=none; b=C4unkxWn2DqZF5QUfnilUnmX85UKAQ1//KtwoZJqeK/iKyiDALmc6tG3FLe1vzgunBcwzWnvLvsNcxOC8rD9zc3QO7F+gH3PPUtaLi28kj9nv59n5YDXl06OaH8sryTtDV6TBPrfNuIPl89vW7YCKZ+7z3nzf/+Rd8t34CSSX3k= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181232; c=relaxed/simple; bh=xusw2HljC/6dKElxI2b+Va66JW1ohAkEjQW/c7e+9hQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=AFo0NCygq5AwOQiRJlptgh0TdsUiNK3enEe/08XNF+5yyI4/HBJRhZYjlWrrsTEAnTV4a7MFi6JqZ6aeiiYqD0xDyTekxoOaacKv/Cpa0e41QDmOKv4aCHCer2kpsHGvS1cORN3RbHAph1z93eehhgozqR0hJyAgVKxSsOjkqOU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A79DF384DEDC Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-abf3d64849dso1074285766b.3 for ; Tue, 08 Apr 2025 23:47:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181231; x=1744786031; 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=vTYRU06knZA+DZ9Ab46R9Il4vU5B5qjT4zFVibXZabs=; b=YHYEmdSzMU7tuUIHlEc1x+yBsSp5wxZlv7ceENpgU8gdwUNJwVsZnVi1WnZ/vaZO8b QRWNkfv66gxB65SwsSjAPokFr84zEEQHb+xQRUrXiGvOXukrm6MxBN58Ql53Wtdbx49T 1Xds67JqVrdAHoD3L5annymcYi7ogENi4D0S+KER2UJM0hTsm7QrBvL0e1zcvv98LpAv xX6oRmzjedL28J3CvztLeegdLIAU4AI8DJGFKUIUtCPuOx2rRIAz+DYr5WLPj2L5O9H0 JmleHI6fjemgISQ+SNlRuuMPZ4DzEhZHogVo8fFuie0JHDLGz6IBUjOu6Aihab0tYOav yN2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181231; x=1744786031; 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=vTYRU06knZA+DZ9Ab46R9Il4vU5B5qjT4zFVibXZabs=; b=D+y5jJbPrP8pcVE0iG64KnK/tcdW4630ZOh4YFbgJoGX4p9URQZAopjNcn9g7nq/UM NaxLq+NGiYl5GffcJD3WrB9oE+9oBzIHfGXeEMrCgCEaXpHKKpek7KRHJxS2FVuWvORb TaRcipMVuEWuQO3wVfGPYUd8Qv2D6DLMod98t64iAo3K4TGwWb6655x3REkMeA+HINje Al8c7H6VTLp4E8FIW3plgJf+tq+f7hMu46LYvgSSd2aXG77BtJsonRh0JXeXlev/O/uC ZMKnmaaVnamv2ZwjDp/Z+L6cddWSaa1y6eI1XDwSAz8JdmwvP0N+iHW77MJgdwF1kwYF gjYA== X-Gm-Message-State: AOJu0YyLdZr8LNkH/IOoQZjSML1Jo62ukeIY0SpvaCg+nquuatKOk+5S Wx/5eDyNKqhyjZcTF24m3itWkvfFcTsDNq+8VlqYyUFHzBFn2QYheJESOgIVn1c= X-Gm-Gg: ASbGnct7g9Azy91ilYyvgSeQA0VcIyQg99GxO8FqSCeaz8PU2Ll3xHQKS3FlyN8R86i nvBHuEZfPiKNwjM6vDPUWfSwBv9V72XyJ8YvcvQV+vF5HVlMzznXaTVX4L7Kt1RO1745WHSZyr9 1xl7gE8XkNaLBC0JK39kyMEGrpHFelhTvLZ80NkW76RAji40n8P0+6hWy418/beiEPqPh6Y2QeB RD0m1wquFH6buC7LUsNuXsuOKxbp4Pkrxx2jFvZdAuqQCYpcdr/6eP2XVZwQFKH8H12FKoYf5Hd DeTNqu1uwajjsBEn0ek3UcxTgMm9I0p2Nu5zCtedycR1dnRipNrnFks8R+COY2cfdJavVg== X-Google-Smtp-Source: AGHT+IF3cbb7vGZJaZP3+sLCqXdttQk9fncqh8goRxp1GhwCFQRbuj83TBubfBEiPQtYfgHxo3/3rw== X-Received: by 2002:a17:906:1304:b0:aca:a171:8ae4 with SMTP id a640c23a62f3a-acaa171a490mr64340066b.9.1744181230852; Tue, 08 Apr 2025 23:47:10 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:10 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: m fally , Christian Herber Subject: [PATCH 03/12] RISC-V: memmove() size optimized version: Rename local labels Date: Wed, 9 Apr 2025 08:46:52 +0200 Message-ID: <20250409064701.3435-4-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org Rename local lables so that the structure of the function is clearer. Reviewed-by: Christian Herber Signed-off-by: m fally --- newlib/libc/machine/riscv/memmove.S | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/newlib/libc/machine/riscv/memmove.S b/newlib/libc/machine/riscv/memmove.S index 123ab3834..a77ac44be 100644 --- a/newlib/libc/machine/riscv/memmove.S +++ b/newlib/libc/machine/riscv/memmove.S @@ -14,26 +14,26 @@ .global memmove .type memmove, @function memmove: - beqz a2, 2f + beqz a2, .Ldone mv a4, a0 li a3, 1 - bgtu a1, a0, 1f + bgtu a1, a0, .Lcopy li a3, -1 add a4, a4, a2 add a1, a1, a2 -3: +.Lincrement: add a4, a4, a3 add a1, a1, a3 -1: +.Lcopy: lb a5, 0(a1) sb a5, 0(a4) add a2, a2, -1 - bnez a2, 3b + bnez a2, .Lincrement -2: +.Ldone: ret .size memmove, .-memmove From patchwork Wed Apr 9 06:46:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110081 Return-Path: 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 8A166384DED1 for ; Wed, 9 Apr 2025 06:49:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8A166384DED1 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=RF6nyfnF X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by sourceware.org (Postfix) with ESMTPS id 864AA3858431 for ; Wed, 9 Apr 2025 06:47:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 864AA3858431 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 864AA3858431 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::534 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181233; cv=none; b=wkanqnxh5y+wTWRDBYW0tI6H1WEmz5YwuNuP294p6jzZLPkAGcGzw+pUt57Ag0yDn8mhcyIRX6IJ1i+i6E+ixCOB+zDGD/VXKl5efKHs7Pmmm+bStvEqelGsKF8D2HKYYEuMR6qi1O4VFnPKMyWHMDIgYY20/OVK1xGlSQCRBZw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181233; c=relaxed/simple; bh=vTEVPFKucZ8RANnE72IDtwFq9byMp7a8EpC1V5QRQgM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=C7hSLULB38GgxcEtHLpT/6gNRJBauooqYvhB5qEMdMFx6SDCC3kZWB3ygEJQlx1iEeu1J15zBIw6OlqIAgxjn37CfJZTTMMLlnNXkvvIrpebYBHn5e8BlUojQ5NP44/2B1BJQ11n2byb5ctwyEqYiO+BKDSYVEjhssCt61IatzI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 864AA3858431 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-5e677f59438so9621516a12.2 for ; Tue, 08 Apr 2025 23:47:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181232; x=1744786032; 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=Yw8LeRGU/bjDEtvGtVc89vEGpEEuBMUp7pmWYIltna4=; b=RF6nyfnFoLv0spZVghJO2wkxVcNJqaW9ojH5KWUl17t5M9LCdNxJRRVsQ/PIYdXGYL /1bRHhLZs5mOfShzeTGMWDcfiEMlpN4tC6tLzEWKHMWJN4AtEESP2sI6W/jtBcbJtFV2 qdkb64PxGMa6l5jj+ghQrNvxYEX+8Fhlb7LqgiDgCxPS4iaI+PqguHx9fEkY2isv3luY bq14FP9n/Gapgfqp8UuTw+upsuZruRukF8zGrxCSYhz8bylVktEm/tdUIWzjF5TULIQY 6olgGxorGD8twbYYsuhVSEkjqFz40to5Hmw5Cokw0CCvKHj026BYzTdO1uU9CD5lRFYr qf7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181232; x=1744786032; 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=Yw8LeRGU/bjDEtvGtVc89vEGpEEuBMUp7pmWYIltna4=; b=Pred7ZRzQ5BhwV6qeN4y/NJPoz9JVyXmdVdmzfuGaEar7oDGd1yE+Xd5YKtENyB3we RW8TZko3TKCeO2oRcuIkcCFTbEmNVYEI7FM0Nq58qshRa95IP80tvcxapMLm9DTvaRO1 0ctQldVJKRbcpKoPChopcIopNMHMxICYpM5HZ1IURDvShvCd8mdoWUPwCedLrOgdovPc ylZL3z13JZDRa4IEis0VV6ocpoLHfbemR29d1gzj9lfOQk+aoeNli6WBzt4ieE3ED3Kx EFKvTUDTxwppuALfGHoSW31sgwaqz+/TK0QLLhAP9GIzUFJ5pSSiFBtKu7M2igAZL3Wd yUEA== X-Gm-Message-State: AOJu0Yy38ArGWT9sFIGE7lbjR4fiKmbuXprfypR0YNmxlVkgHTRWYWtE yVI5Sf/It3GudEzrMZDwH1x6CfNDwwbsYoOWfOehk4h/kC4cuDSYNR3IQdeUPBE= X-Gm-Gg: ASbGncvk54BYS/KMXBCBxB4378MEMFSoddIJinHwYxkUBG2wIMIZQ9Zo0mXgEbtxRwQ p6huASo+7yPIJJ+nDHCylXhXmisjO/Fbixpa1XuhEEXg239d2IqZtRXu7qpJHCJE14NEpf0dpXb Od4ScmGXPA3rfxtjb6C0VvU2FOcvJNBcc9MbxOQiWN+1JDy/Q+qvOaXQcyRwYEc8VE+MkMKB9YX e5iY617Cw7nx2PQtLltZ4Tr84doAxRuG8TEPpk0UVdAv7CxZ5Ig2Y4AEPuJpyoolzMxoxRdAVHk 5zFjJ/VMmCjBmpT6FkWnwyYLfkDbEx4gtJt3wk80B1ez/Bt7GYVJqgOz7AU= X-Google-Smtp-Source: AGHT+IH0w8+4iVzwGlrVgjrMWtzQwVncDpw2Pt2/hSzKfgkv6VhvKCx5RqWC6oov3R6Sj2skYvMpMg== X-Received: by 2002:a05:6402:e84:b0:5e7:b02b:1eb8 with SMTP id 4fb4d7f45d1cf-5f2f76db765mr1512736a12.14.1744181231942; Tue, 08 Apr 2025 23:47:11 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:11 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: m fally , Christian Herber , Eric Salem Subject: [PATCH 04/12] RISC-V: memmove() size optimized version: Add comments Date: Wed, 9 Apr 2025 08:46:53 +0200 Message-ID: <20250409064701.3435-5-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.8 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org Since the algorithm in this version of memmove() is different from the original version, add comments to give a description. Reviewed-by: Christian Herber Reviewed-by: Eric Salem Signed-off-by: m fally --- newlib/libc/machine/riscv/memmove.S | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/newlib/libc/machine/riscv/memmove.S b/newlib/libc/machine/riscv/memmove.S index a77ac44be..36fe00eba 100644 --- a/newlib/libc/machine/riscv/memmove.S +++ b/newlib/libc/machine/riscv/memmove.S @@ -14,21 +14,21 @@ .global memmove .type memmove, @function memmove: - beqz a2, .Ldone + beqz a2, .Ldone /* in case there are 0 bytes to be copied, return immediately */ - mv a4, a0 + mv a4, a0 /* copy the destination address over to a4, since memmove should return that address in a0 at the end */ li a3, 1 - bgtu a1, a0, .Lcopy + bgtu a1, a0, .Lcopy /* in case of source address > destination address, copy from start to end of the specified memory area */ - li a3, -1 - add a4, a4, a2 - add a1, a1, a2 + li a3, -1 /* otherwhise, we need to start copying from the end of the specified memory area, therefore after each copied byte, increment the addresses by -1 */ + add a4, a4, a2 /* add the number of bytes to be copied to both addresses. this gives an incorrect address, */ + add a1, a1, a2 /* therefore we need to subtract 1 from both addresses in the next step before starting the copying process. */ .Lincrement: - add a4, a4, a3 + 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: - lb a5, 0(a1) + lb a5, 0(a1) /* copy bytes as long as a2 (= the number of bytes to be copied) > 0 */ sb a5, 0(a4) add a2, a2, -1 bnez a2, .Lincrement From patchwork Wed Apr 9 06:46:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110089 Return-Path: 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 8311C384DECA for ; Wed, 9 Apr 2025 06:58:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8311C384DECA 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=IbnWzEan X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) by sourceware.org (Postfix) with ESMTPS id 980073850868 for ; Wed, 9 Apr 2025 06:47:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 980073850868 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 980073850868 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::52d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181234; cv=none; b=U83UsLgQDB68/2g1z1fk7tPkcshRJL3tP0VQSl9dCeNT8HNxBWg5ueH4rMhcXDfmxLWc1rkDMePSraP2ruge+POUqqBWkAre+7pcvUS5zKRvOi6DNp1v0IjpU8lp1wdVh0A+QZ8bL4nL9d3EniDl2dtAoQpxvn+TY2nckYGaE4M= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181234; c=relaxed/simple; bh=00MQjNRt8MTuRM7Fo6rbFgr9jRB5IBdCCMAYhpfEzVg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=sRDj/koXh1xDhSq4usZ5rDhWPhaX3foEow8Z5iOp1SkmXFo1GX5lTHTotsUW/DsRbHRwSofX19lU4n6SuFxnCO02v4AW/5kje/3//p+6Hq/2xMYkHXN2IEtnB7gbhAgiDRlrFFo0ItrFxb8E6ij03jKNgnmTaxNp/Pbcs8o1qpg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 980073850868 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5e5e22e6ed2so9296742a12.3 for ; Tue, 08 Apr 2025 23:47:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181233; x=1744786033; 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=qIylHNuvzw7ZCMQHSAp+a5X3jcOxnZazgspXi6ok9+A=; b=IbnWzEanCUcmIp2FECDCGxKr7vtitoZDHqMePGe7Tk2lKEELKP+nCbtrOmbaFjrTsT v6TRC5p4tVU0mVDljxPdPfOjSnp8Hok1+Sn6PjgSVrk3bPBDMzLtCDmEFWfAe5cGhA5j 0Cimotb5zdFTZwha7o4+lknAAihpzEdWq7bE+ngJw+VZOY4R2MMsGJKvs95MOSrCWIC4 D+7zOdE8MQm9tXIz3oV0v6eCRDcYGKpt34USZKf/NqNCDldQrPgrU2XAmiNuj1g2Q+nV n8D3Pd3cYqatQECmA0/WierPqWWYAcw93AsvB4AwH1hxqtQX2bWR6EczMRGRf1yXKw5C h2ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181233; x=1744786033; 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=qIylHNuvzw7ZCMQHSAp+a5X3jcOxnZazgspXi6ok9+A=; b=RaMfyXBw7RYfJ4Dv8tnQ9B4aQGxA+u9GjEu/ovWNSUMzb/ldcZlLACDxuTlaeZk+99 ROhelPNhertjdew/SQ76NvFsN27WMokuCIW01okcUJkHQXE59RUQCqfbp+SAmphPgnAb 1K2q/4+HitOwVox2ClI1Hlw3Wpnk708qQK17sHgkMf6bmAAp0tyBiSyutowjUAWQWuJS Lchg1lHl55DKCKZLY9dEHk9E4jD80ZpefDea+ZqxNm9e8q2YnOiwszdvVLqzgGFHgwyp eXS+plLajZDwZ6bqNKmgfSuHgzOqnLgu3JE54yRteTHOXFEUY7ByJmxD6mKBxuF6D+Nz 1dpg== X-Gm-Message-State: AOJu0Yxo6E3jB7nAuUycAwretU4Zrpn8gYXJ5XlUz3jYi0ttOpOh+ruN LpDHF9O4IxMsrKjROnqvWRujPQPgyMxiOajVALPQYFuhlA/PE48JKqi8N8q7hhU= X-Gm-Gg: ASbGncsgBXuTh5Ci6BBeZhGvnB7b50BoQxNkdYFaR/vINK28MRLnYF+UfQTxQzYljC8 /KC7vrxEnmAWfy4z2cA0BS+z6KTt5ST2FV09Ttr7FUE5gRhiGqJ3ORLucNDNQ09ncwS0V3t9EAM 44nn8hiPT/lL54I9oG2LxbudB+QPaf9CmqhZ8KroqGQUQJqJuV7wg9sv6Ihvez5AJersuFvh4dr aMbAur+tvESr91n1ZR8fjCRc14sCSaiq2lFPYAlVSDlycsmm6DrM/Al/Nm9d5BJf6SZR38onX19 9fin3MBiiiOhaHYLI2ax9pV4c/QFg8dfULDPKCPHHKxDITiPM6D2J+Xqk8d1tYuDYszsgg== X-Google-Smtp-Source: AGHT+IHIXUz/1bh6ToC7avlkRn4xE4LRxIeA76KIjZLDTUZI+lx+Ab4+vdbAcG4ecc7ErZ+X6Nx5+Q== X-Received: by 2002:a05:6402:51cd:b0:5de:cbed:c955 with SMTP id 4fb4d7f45d1cf-5f2f76e3783mr1205013a12.17.1744181233111; Tue, 08 Apr 2025 23:47:13 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:12 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: m fally , Christian Herber Subject: [PATCH 05/12] RISC-V: memmove() size optimized version: Replace lb with lbu Date: Wed, 9 Apr 2025 08:46:54 +0200 Message-ID: <20250409064701.3435-6-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.9 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org Replace lb with lbu to avoid unnecessary sign extension. Reviewed-by: Christian Herber Signed-off-by: m fally --- newlib/libc/machine/riscv/memmove.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/newlib/libc/machine/riscv/memmove.S b/newlib/libc/machine/riscv/memmove.S index 36fe00eba..671a6a158 100644 --- a/newlib/libc/machine/riscv/memmove.S +++ b/newlib/libc/machine/riscv/memmove.S @@ -20,15 +20,15 @@ memmove: li a3, 1 bgtu a1, a0, .Lcopy /* in case of source address > destination address, copy from start to end of the specified memory area */ - li a3, -1 /* otherwhise, we need to start copying from the end of the specified memory area, therefore after each copied byte, increment the addresses by -1 */ - add a4, a4, a2 /* add the number of bytes to be copied to both addresses. this gives an incorrect address, */ + li a3, -1 /* otherwhise, start copying from the end of the specified memory area in order to prevent data loss in case of overlapping memory areas.*/ + add a4, a4, a2 /* add the number of bytes to be copied to both addresses. this gives us the address one byte past the end of the memory area we want to copy, */ add a1, a1, a2 /* therefore we need to subtract 1 from both addresses in the next step before starting the copying process. */ .Lincrement: 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: - lb a5, 0(a1) /* copy bytes as long as a2 (= the number of bytes to be copied) > 0 */ + lbu a5, 0(a1) /* copy bytes as long as a2 (= the number of bytes to be copied) > 0 */ sb a5, 0(a4) add a2, a2, -1 bnez a2, .Lincrement From patchwork Wed Apr 9 06:46:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110088 Return-Path: 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 1F373384DEDA for ; Wed, 9 Apr 2025 06:57:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1F373384DEDA 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=QP2be+V6 X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by sourceware.org (Postfix) with ESMTPS id A70FE384F00A for ; Wed, 9 Apr 2025 06:47:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A70FE384F00A 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 A70FE384F00A Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::532 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181235; cv=none; b=fLIBBekmwWmCJ30bwva0Xh5gIA2hxcnQGfkZxzSz+YmFx2Pqu4vFPq3LDd2a6bsCEnAvu7Nh3Uw8EltDpKwc4llqItiTak+6dubSGixGs8apyDV1liXlGLvZEB4P+l3wX0UrFaZwhGu6ppjbpplSldBGgC5w/opEFX9MCNZqYMI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181235; c=relaxed/simple; bh=5nj+E0ro3Yki8KBcN8HKIbAGSbpIIDa4YLZQbW91koA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=rYkZQDtgqMFKFB8JenV7IDkvB8YHhPvOhYom/rD+E2C/iacdI6uhlmCQDsn0xOsPAeQXbLgiO9bVsDD92wTWEYilW+Hp90clHagcIAKUhlMU3zqp+/N2SVdYM/Ut8fA8HIQKD8PKt+KbJLZZPDsusVIcirjLaX3wL+LpBOE6cu0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A70FE384F00A Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-5e5cd420781so11592509a12.2 for ; Tue, 08 Apr 2025 23:47:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181234; x=1744786034; 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=QP2be+V67Lvjtsq+kGJ3EMfG+80J2KXHcTMAX/OtxYUKkAEKf1LiCr+/b15ZcPoqGj cIGTfbsHeA7wP8TM0ebcBep9J+1oJab3jg8C+N95oui5APltYJ4AGCIMByCBJwAzlbXT 0nWKlWmOC/0UPvNO7Qd9RrTKxR9rSaC3je9uRb6C+ScrPf0VFuI/pLDz9WK/HkmRXTYG mThfAiaQXxJwVNlScBon36AWZCSagzS6h6D6aLW2JeF8itHw0Hx4zwphyjF3YbREuU2o G+MIO1Tfqu+8I8gK8adhfj8byLfT99ahlLpoKby807mA/zgfxYhuL5UpBwUJAF4Re06U k+/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181234; x=1744786034; 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=lxy2JzlhzsiBmQ3cQE7mFFC/WL3jD2e2OJoYEiI3vQy4wWO29CbAn1xKpHgef0I4Ve CjF+IFUPcRr7rQWEkQNSBq278ImENhQzCp5/Q6IQJJ1JNEJ2sbLbUdB7g4OM5c7NWQ0S uMliXzPLEUW0DV3V9Ext+wSnkUutuMCslZvGwhFjPb10yIF+4ML5IYyiZuBbV5vGmpsK fbedog8c3Ny6jkw3Xd28sUzHITc6feOIFsCtnjCh1UM0NPtGWft26Yh1kMnVwP+LBb43 bTDCszjNROssx88Ek24lUCBY4OeuTh8TDdq92jsPo5cYUzDYrJXwdKj32GstQX4ANvnO ccSA== X-Gm-Message-State: AOJu0YwOlsT7BJffk4EjQXlolc8Ls+4uzUPdsviMEUP6jhJA4FawHMmP PxdKQssgGYVMSlmjhkD/vLP7X2xcF8fLBlAirZaPGUpeRYCML+NIdL2bS6eznvg= X-Gm-Gg: ASbGncunDUXHKxBeG0UvHf9k2VBI6B7iy2b6Umj5mNkg8SGcrQ0mMynNVdR5sAo2led 8pYgXASVeIBImbrv+A3wzmJY7a9Y/Czd2aPT7AkZ4SF6nGH+B/PX0NmP3chuM/2VWieHrpf9ca9 rYXI2q7v5DZt2AlDtnT/E/UKtvai3DTOK+2MAN1fkGIpjdwg//2vPEeYRxHLsvQ+YiWxS5aGolx uoGejZrsyTb+c0Aal9vQWFHOFAU/vzv2j5WGvW1wtWjhSJNcSowte11QrKdEb3PhEIRsHd+1kYy NwO9QZjAB95t6qm+0mTy0ybyojIUXEgQBWtbtBT7ajM6ZT+K696EdXV3cNs= X-Google-Smtp-Source: AGHT+IHSUPTSlLcYJ3mwlkJb+xF2Lv/2LEoiO4Nemz6Rx2bt3B+g8lce46kXvxMhVxN5y+h6kpQATQ== X-Received: by 2002:a05:6402:241f:b0:5e0:60ed:f355 with SMTP id 4fb4d7f45d1cf-5f2f76e6812mr1579436a12.18.1744181234051; Tue, 08 Apr 2025 23:47:14 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:13 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: m fally , Christian Herber Subject: [PATCH 06/12] RISC-V: memmove() size optimized version: Relax RAW dependency Date: Wed, 9 Apr 2025 08:46:55 +0200 Message-ID: <20250409064701.3435-7-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.6 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org 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 Signed-off-by: m fally --- 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: From patchwork Wed Apr 9 06:46:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110090 Return-Path: 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 93E7C384DECA for ; Wed, 9 Apr 2025 06:59:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 93E7C384DECA 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=G0qSUnfC X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by sourceware.org (Postfix) with ESMTPS id 8C3B0384DEEF for ; Wed, 9 Apr 2025 06:47:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8C3B0384DEEF 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 8C3B0384DEEF Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::536 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181236; cv=none; b=Px9GgxiKWhAjeiX7W+PKJ++HPwRpM5QOxIDpWsv8QneeulV+hr8x34v0wq+nYTfVV/EchKQ1MTUYh8j/6MeX4D+s+nq04QZgChv9mjwZbHvCFjR5YeEteTf4utIm3v5M9m+ni4dh10cpByRgBod8yHB4YCfpbki4Oxx0kSIi224= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181236; c=relaxed/simple; bh=SzJtd43ANYSRdn6SpOWxgyXNRsnXAjZ7KqOFN33Ppvk=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=AI4mLLuDacqp6VI8l9AlFS1Kug5jlf8XF7S0tTHgTtixWYv4CGc+FkOZ2D9CcetDouHkIYwEJ1uO+h7DHYi2rRZe3anHVVOhm+cOu80hADz3YwIx1hvQQ4aPwhPSeEPeY8U5DjQOCvoIMVLn3QzXSoM6C+ytaUMniSZyG0xEdK8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8C3B0384DEEF Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5f0c8448f99so9249017a12.1 for ; Tue, 08 Apr 2025 23:47:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181235; x=1744786035; 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=DU6QmZRZ/Uzzp/cuQ8gu64fMro54dpKBp31l7456ktU=; b=G0qSUnfCoLXll7oNliC5r/HGSNfKk654w5loIRiuWmk4ArPCuILhAPlYCP04Cmr7yV yxinVlyBJWHcQQwrwl7PE8apxbcg5omeVYj1+UdUV63rJzos1ZpZymdHDRmgLNXi20Ls ei7EkUekOf/kV2eJCf3FYdYoyN6CJgkSyHrrtO5ouw3Y5jwDYnX/DXs4xeHdvjydDBo/ PgBo1wOHADMw/RCeJcbwQNSkqCyclWx61oU7t4aKN0mCxmKIOfOEkYR8cYYgDFe+8+g/ BLSkRs2+EkUnjFymPJxyv7s1YNHSeXiQWlllHHiNE9pI0cn3Fbsei2v0QpjIrVnPwpx4 /7fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181235; x=1744786035; 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=DU6QmZRZ/Uzzp/cuQ8gu64fMro54dpKBp31l7456ktU=; b=ry+bM09dQPzLyes3hdJvE/p+gQjsA15JG9wc0UFVW7q7bGJxBo198xz9u0uw6xzbwA ur3qS1lKZCntyKeEFAvoP5lS0XIf/K8Rsl1QYHMTcUN4i62MCsIiEMwCloJUIgiU25xh L5SMlzd/5XXQpEalG0K8IfrZr7YYlMp39vZlMqiHfX8xpywbsafbW79UByYZ8nZ2amDP 2rRqAh15S5ZITIT+LHDS6J1hYzVXDrSbyPVkCWgcTT7uPM9ljCklzbzGODHCfkMpDAJX WnKaqMFJ+nk2Ci5e5dVpjw2hrM0aiKCcVOjIzTnJhtTZqNLIuoWgxLhHHv5JnGcpjfU4 i0mA== X-Gm-Message-State: AOJu0YxJ5EK0PJOYMgUIWoSmk54KmI+tuebm2dczhy3MbALYJ1Hma5OQ AZ+4n9DMuLe4H5yIWs1r37d7Jvrh/GbBOWypVPgb6mUURSgieWC3X26AmI0zD3g= X-Gm-Gg: ASbGncuAkNTqEKgJfLT6vs86DW282X9nHealyenxZaxAI4gkoqH8Q0u8Xcic5Qp2Aw1 4LBLOOeXvL3LiTA509Z57qUnwCqdDCn+V9LWSKS2I/u0g1ghEXp7lN/XiaupFV0i8s0fQoEQ+kf pYZ7Gc5TaN2ScEH33dTVyyHKGdHrf03QtEHIrVXc9pA55QfmRyqysW+DbFjtVO2MWmw3uGG7/Cy be+H8g418KnfkvDplkuVladcKyQBZuEOy31Q2KYfh8uTYA3fOyqDK2MkOrg2ByyPtU8z250hkSI /nICwsUczVqfPuQ8OXDhRgrCo51SgJUUCxm5jmJ6VwbXBxdwQ/226TtQHto= X-Google-Smtp-Source: AGHT+IEj/peZHOmm+t3WPKxd03M6ajdjUMWfu0xqDIXnGj8MRyt05eBBEdW1KBIFjfmNDFfffArz0Q== X-Received: by 2002:a05:6402:35d1:b0:5e4:c532:d69d with SMTP id 4fb4d7f45d1cf-5f2f8475c05mr1001074a12.0.1744181235042; Tue, 08 Apr 2025 23:47:15 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:14 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: Mahmoud Abumandour , Christian Herber Subject: [PATCH 07/12] RISC-V: memcpy() size optimized version: Replace lb with lbu Date: Wed, 9 Apr 2025 08:46:56 +0200 Message-ID: <20250409064701.3435-8-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.2 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org From: Mahmoud Abumandour Replace lb with lbu to avoid unnecessary sign extension. Reviewed-by: Christian Herber Signed-off-by: Mahmoud Abumandour --- newlib/libc/machine/riscv/memcpy-asm.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/newlib/libc/machine/riscv/memcpy-asm.S b/newlib/libc/machine/riscv/memcpy-asm.S index 5571e4704..d05ff5055 100644 --- a/newlib/libc/machine/riscv/memcpy-asm.S +++ b/newlib/libc/machine/riscv/memcpy-asm.S @@ -18,7 +18,7 @@ memcpy: beqz a2, 2f 1: - lb t2, 0(a1) + lbu t2, 0(a1) sb t2, 0(t1) add a2, a2, -1 add t1, t1, 1 From patchwork Wed Apr 9 06:46:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110084 Return-Path: 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 05FE5384DEFD for ; Wed, 9 Apr 2025 06:52:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 05FE5384DEFD 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=AfyNIFER X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by sourceware.org (Postfix) with ESMTPS id 747173850205 for ; Wed, 9 Apr 2025 06:47:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 747173850205 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 747173850205 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::536 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181237; cv=none; b=LL4PVdfpmdfxI0l+mue/sm6Yp1RIXFavxSzoL/Szf+Rb/XpVb9ucL7k63vp6O3pWmConKo+8/82dySd8Us65/5Jp8nueL7j7lxZhOS6WnPwlryCj+8XMS2UxJHZi9hoqrW0nf8FkpO+Q769trVEQSqTwUsUusWBsWtAEHhAxURo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181237; c=relaxed/simple; bh=5hAPHAyiwwq0mENXRtdIvbovO2Y2bfGjtTAk+Ooo3ZY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=sI3WoKyh4ocK5RTqbx3QsY3ispyWum4dqdyFdaEzUn/UETOPr4Be0Ndt2YsZnvlfOpN9zi2KEjW1C2phbcb6YnAmUo9zlFGvIMs301v3GWnoVd6EVZ7X3+ZGPLrr/ndfAtpPvABpjxipqKYAx1tLHPjFzU/5KQDzdz4vehk4pqA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 747173850205 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5e5e1a38c1aso8496345a12.2 for ; Tue, 08 Apr 2025 23:47:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181236; x=1744786036; 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=QwTN+uMdzV23rAaVP06q9kPs7ZZqFt2GSFmW0Uf2/a4=; b=AfyNIFERegKsYBL15az6WwIGSPpT9eTSwOu4aJjgDjuXOmaYatu9yABNU+UqA0XD8U XhP5fQU4btV+PcCZtH/a1bkBMLumzx1K0Od37TyiY88g58mBDpwzzEBYhXPKB3xla0Wj vrgz04gMwkJUUNL21zefEW7O7KB51n2zbiXOMWxc3oZyM5HjLkIUteWsfnu6NOzXZDUE sTrjL1L7Bfb+gmNv1yogSQUnTNPFYqWai0FilavrdQWEGnZ2t/DDzzGSd9gFxxufdtpy ttA6J6tUO+x8PMkBzkKDRdsaTlxWg/DH7+TzewixGz3JOu0BhcTURBBgSu7Q7wu9mZb2 8i7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181236; x=1744786036; 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=QwTN+uMdzV23rAaVP06q9kPs7ZZqFt2GSFmW0Uf2/a4=; b=up1xaE5qg5tnjIU3Dx6LvkdJA/LKjubs0Y/C3qeUbxJQb5/RwzTDdP56pAlgqkSVtp pAhh+BuKcELglQMxprP+kpOoTdgCQtW7W4J+tLYpWp7OszUkHIjL5Thik1KFF0m89Bur eJu7l9FIBWO7nZGtCd9PIm9a9G0PZwVdaM3+PlG5mF6WbUBgjgAlxSFceStCc4Z8TGrS VV/6B3RXrz63YdufZfrIee6MHFUeNRUzoJmdmRLP0ejOcb4WxSg7j/jAT0VGps+V6gDb pgTS2iBCkE3UxO0VdHozPr246GDSmZEdxSIJDHkUlvad/K16syhA1tZ+JEsAN7i5UetJ WTsA== X-Gm-Message-State: AOJu0YziaMMf7gAX8VG+bRLjzDmNUSBIcljSRK5zujhSNb48JmcQ2GcW Ud+4WpCoNu+shrLwwBNccXtB6a3O5aesYQnQkVmbwC5kUQR/qRxyJSai9xYB4ss= X-Gm-Gg: ASbGncvlVzPKgK3KMMt0k5rES1gLmnvH5ZR4GPn4H9cMVIUAy7VISph+tEUk756i1n7 GH7DBBznilvyLGQ1v5Hbs7QdBdX/vvlpk2IMK7tYUVPDLUf5vddVuNPlNk3+TcgV8EUg3jjt4Hg 9+9T8+0EDCk7LakHc6bB4kKw8uz88pKc/OT8pGnPV+c1U7GDsNhpZxMbVSPG4a7KEpm09Qo4Hzc Cafz3PCyWJ0VulifT2f62Mr7q331QLpZ+jsuZN1KPOt8hlyvvcspncbizWIrgNHKS4Fvk2QiAFn EzIEi7CbmYDew2l6e2v1Tt8eXE7R3oah0PA6KAO7RCpBG4QtzxgZEcQ5VYykZJFcEZRgcw== X-Google-Smtp-Source: AGHT+IHJOjd4vCSqPN3aBGMN9LIaZ0kHVOgsO2RJRNNNjc6y4wqL167wiwnyFfULkJSstmfueLvaRQ== X-Received: by 2002:a05:6402:1d4c:b0:5ec:9e6e:c48f with SMTP id 4fb4d7f45d1cf-5f2f8671ca1mr824013a12.29.1744181236010; Tue, 08 Apr 2025 23:47:16 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:15 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: Mahmoud Abumandour , Christian Herber Subject: [PATCH 08/12] RISC-V: memcpy() size optimized version: Use compressed registers Date: Wed, 9 Apr 2025 08:46:57 +0200 Message-ID: <20250409064701.3435-9-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.3 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org From: Mahmoud Abumandour Replace registers t1 and t2 with registers a3 and a4 respectively, so that the affected instructions can be compressed. Reviewed-by: Christian Herber Signed-off-by: Mahmoud Abumandour --- newlib/libc/machine/riscv/memcpy-asm.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/newlib/libc/machine/riscv/memcpy-asm.S b/newlib/libc/machine/riscv/memcpy-asm.S index d05ff5055..e9fe381d9 100644 --- a/newlib/libc/machine/riscv/memcpy-asm.S +++ b/newlib/libc/machine/riscv/memcpy-asm.S @@ -14,14 +14,14 @@ .global memcpy .type memcpy, @function memcpy: - mv t1, a0 + mv a3, a0 beqz a2, 2f 1: - lbu t2, 0(a1) - sb t2, 0(t1) + lbu a4, 0(a1) + sb a4, 0(a3) add a2, a2, -1 - add t1, t1, 1 + add a3, a3, 1 add a1, a1, 1 bnez a2, 1b From patchwork Wed Apr 9 06:46:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110080 Return-Path: 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 D2AB4384DED8 for ; Wed, 9 Apr 2025 06:49:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D2AB4384DED8 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=BZxihBj7 X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by sourceware.org (Postfix) with ESMTPS id 87BF8384DED1 for ; Wed, 9 Apr 2025 06:47:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 87BF8384DED1 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 87BF8384DED1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::531 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181238; cv=none; b=HP4jBXehfiXsfDtFQHM5xz5ANFvzrtNkbb7mFyoo+LO+SpNC/2hDAPb0BgTubDL1BwDFBu1467tC0E+NC6cyUNGDeexBldTPDx+OBEkd2gM8+OIYGu8mm7KEzBqzf7P5KEUD/V23xOZerT2YTAmEjPbSAbpHhx7/6uap6LsDbhU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181238; c=relaxed/simple; bh=sVqIn62Df/zXNxRxqmLsWK19/yvVGH/fjfR8Iuu9elM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=QP6ZQhLvFy8R4wGc9PFwknHm5iWoEywlUGQrGQ/QCDafG/fAJUBAeyA7CFBVLoEvud1lTT/1hpkjJIcKeDnY1LqstrMP+/1kzLdWWR7GbHLWQQbULlkVBs9j4ymuRQ3tjKRZxXxl99ZuRPxEPX5IGBgIDZ7GOhnufm6sHkii88E= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 87BF8384DED1 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-5e6c18e2c7dso12459974a12.3 for ; Tue, 08 Apr 2025 23:47:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181237; x=1744786037; 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=PeizCKbLFwm1nwtYpVkkwJq2tsPr7mX25gapd0j9CdA=; b=BZxihBj7ow4eXdyqziIq1RZ+mU/lGyI5LvKdanU4Fukjh0SOar6qPB6eOSsnT2kRAw DwcvsiY8gbfGqR4EqE3Bk0eZ0qs3d6uANmvuySOnYRB7JV3K0ItvRICaoK1bmYnB8XeA StAVH9mOD6/PP67z/NB9DGgNCT8Z2fC9EJZidsxwKMZjD+9Fky8AAvYrE/Fv2IipJ04N uyiSv4NNlYRbAvzFGJzqmEl6K5+XUDrRo8BR1e7cvOiP6j/CJs9NDUOIlI95/rCtiiIK uiXKDcAJDaXuJb+Vm8IfgrNo6bF952uItbVic6t2lRj4We3EhxqYN5uJlNmhkpzVtr3b Kg0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181237; x=1744786037; 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=PeizCKbLFwm1nwtYpVkkwJq2tsPr7mX25gapd0j9CdA=; b=stkq+dk38nnjfa/5imwid6g9LtiqyTnVVj3xFlgwSA+RP/w9bV0En4QIeKfmX80KcO 4Wd2Bh5LyG7WGDicedwuC8jbH6VEBPEJmHqPUHMKukcmLDl3zYzJPi2aG+uE5g6OVFvh ylz0FAJlH3AlmscBGwRQZ4soZ0/FYWn+ZVSKJ/5o1r+85YQTRWJemf9PVfV7b1FH3s/F N+PCsZI6jacdiEDnG5mZlVU9Zg402Kt50Sszzcg7VtAzzZQYxrMx5NcowDZLX5jvcwAI VVlkl/txSxPhPUJDIAIVLr4ZtmH0/rfdcCIW3rNmcHLwmLLkt0Ipjcyxg1vCsKACKU0z WQuA== X-Gm-Message-State: AOJu0Yx1/DoaWLo6LtCIxsu0LAy0Ekojyr1SZ6PyBQANuBf1FO9CZUJg 6aSdOkVJFVOiqS9xQd5oQn3MCrDU/hsre6FAAz0qIdz3znSHfGClD6eCFpj4tHY= X-Gm-Gg: ASbGnctmVUEXyO/GdMZUxM0EYI1TfW+ALf95E0qoXKiZbuAIFS6cUnPuUfk3DgrTnzO ETmILH0i9wiGC3BCRaaMimFla5cKhM1J2qYgE1zo8FMZGbjDSkcfyp2pPRlr3Lgy2iDfQqE1/Zp cnx2m4did6HzQ0Rd4o+sEkZylHJ8lWwsDC/HgEegBA2KFrTB6Js1gT6Vxv3g6Ve/YZoRP1Vp/oO IifbP7ywx2AlTXJWt+vVq2dtL5CmMQkAtacJ34XlgPX2nqZtA0i/W+oT/T0Q213ZcUV12AjX1x0 9jztfIT/RRn9LBZlL+oDCcWWm7PE40beBMusW+p9aZsP1BBoxXO+VotbL44= X-Google-Smtp-Source: AGHT+IEQLbhABbuyUtXFYzTFTuSRGjFXtFTDiPej23OoSxGeE4d4Wh8m0wkw1Ci8uVN5/GrAV+5HlA== X-Received: by 2002:a05:6402:5187:b0:5de:dfd0:9d20 with SMTP id 4fb4d7f45d1cf-5f2f773fcb1mr1414693a12.24.1744181236985; Tue, 08 Apr 2025 23:47:16 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:16 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: Eric Salem , Christian Herber , m fally Subject: [PATCH 09/12] RISC-V: memset() size optimized version: Use compressed registers Date: Wed, 9 Apr 2025 08:46:58 +0200 Message-ID: <20250409064701.3435-10-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.3 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org From: Eric Salem Swap register t1 with a3, so that the affected instructions can be compressed. Reviewed-by: Christian Herber Reviewed-by: m fally Signed-off-by: Eric Salem --- newlib/libc/machine/riscv/memset.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/newlib/libc/machine/riscv/memset.S b/newlib/libc/machine/riscv/memset.S index a717ae7fb..fac0f73a2 100644 --- a/newlib/libc/machine/riscv/memset.S +++ b/newlib/libc/machine/riscv/memset.S @@ -14,13 +14,13 @@ .type memset, @function memset: #if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__) - mv t1, a0 + mv a3, a0 beqz a2, 2f 1: - sb a1, 0(t1) + sb a1, 0(a3) add a2, a2, -1 - add t1, t1, 1 + add a3, a3, 1 bnez a2, 1b 2: From patchwork Wed Apr 9 06:46:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110083 Return-Path: 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 9BD8B384DECD for ; Wed, 9 Apr 2025 06:52:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9BD8B384DECD 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=KN2+Oqeh X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by sourceware.org (Postfix) with ESMTPS id 58655384DEC7 for ; Wed, 9 Apr 2025 06:47:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 58655384DEC7 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 58655384DEC7 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::536 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181239; cv=none; b=Z/Hp0waK20o4VUEXzc4G+zF4/XMB84tnWSSY+YP2PRdW+qmazQS+wpAfao0X7uJisn+y5ndZy0piiSCGdfVpYydoHw0VkOXATouDZcPvwO1Vrmtc1XYV3A+t0VJSnUPdH6pwI2ia5iHTjNov2zoLbfVIoFxUKvQo/Eru6pNNJmQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181239; c=relaxed/simple; bh=wvxWX91996TIKSLTjEKBFlIhF7ovcuiF6z5yj3BOaCM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=OiN6S1YGY/+l3bsNQLiBPRd8a8nwzd52EyxOYV9pEo5Cqn//ZcQ5WJINDv3m9TeTt2LIYDQpOwvJGzOkiP4i3YENTYf6hrkT2nu94zW5srPwPaG/CAfXVIoPxVmfCmMlY5poScFWBV3pHUo1x0bQ1wyamGOp/yU+Ld/OFgkTY+g= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 58655384DEC7 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5e5c9662131so9973276a12.3 for ; Tue, 08 Apr 2025 23:47:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181238; x=1744786038; 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=eueOHYXxepOFiO96ewXJ9k4rOGtTazlvNU9cOvhPAOc=; b=KN2+OqehXN8xFMvyLupjkKh+FlD03c8rLDYsBJ6YB8sLa+CUlqGziTsOU5CU7np64U 8q19R6g9syT/fZNyc0PXy8LNgBZfHHtaTIWPKZ3gBhMjCWQ0SzqG1anyfKgp1zpvyrDK 4C5LQX9LwL6Vf/glQmnHHx57DUDtTfCbLCOoeBc/dJ24d2uyy3/m9vv8g0G/45UlmD+y fkn8is2c1IvrsKlyoKFTM2BJehewL0KVyx5NJtk1dHBwK6W1Ngooh12Sd1AiGA5GRsix bkCNM8bc6qp+hMsi1N9myCC+BT2ozvEYRbrAp1VMyFcqUN7JQgPOlVBOzdr6oc5EcIzd 4SNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181238; x=1744786038; 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=eueOHYXxepOFiO96ewXJ9k4rOGtTazlvNU9cOvhPAOc=; b=qKaYYJrm8KKYsk/SwdZsSsvQ+CKDt4ggbBDza9uz0TQtGh7A7xp87BUfDRLjYMQLa+ VYQe16L1jRFU3kE8IasKYJTuF9YDobPCnIq7yrGiw+o9y4LE+o9Y/MC1Qd2dEIHTjXyC k2bgRUrMsebb+J+B9dAUoWfDwrdyPR/OlukSsZUJUI+x+xACcft37394nWYJ0zlIctAV B/GapgSLDICdOanJGzRQ+m/Tn7PT2muV7NILNmb9T+y2pAfz6xeEDQ7Y3oV5ulE2OMGO hvLcYIEPMYlOa1OOPReo3yyexbl9dCUQwWML+gSoYaYMKscbT9j4QkcGIzi0/wQu0l6a BaXA== X-Gm-Message-State: AOJu0YzNwt6LuG0qB68owQok1QhvDu2+X5cQZvVbCa6kIcIuUNkK9ryT dkX5yaQvdrANeys28TzQFTflMOgB3Goq5DpmlElkuooRPGOPuozSh4zWKOF2jOk= X-Gm-Gg: ASbGncuWwhDYK2lQVQrePiDHTb3IN1kY2V7ZK4UHdVvBwft9LZl3ovFTObqrnnniue2 FItoTu5iGyciLhxXlkNZSHD4cjebRbjKWFqGAJoDpIJGup6TZukT0XyQv/BDP0ThRSB+Dp5aEHO uiKfxBk6DrOl+mLIujYOXnUwpUzW3G/rAhDbj2pEJpzCk2dIa5jE71DpaMKPtT1wC5gK/BjaFpP mphbZLiKjKdu0vz7/h+VKUz8HS99+6pkvhrJGhTFbE64p9vz+BP/Dhfp2stUByTaJl5g+QIVonS +v4OY4pjkHRI+27bEZpXQO+xvNPHCbXe4VIAXvQ12iMuMDK11o9tS0eFcfA= X-Google-Smtp-Source: AGHT+IFy+HiM/BAtP1Ct3MLdgHUSNuLPNnN59HEZZLDmY/GH9Q7OsF25pG38tTgkWv6l7xvgx9YXLQ== X-Received: by 2002:a05:6402:27cd:b0:5ed:1909:d435 with SMTP id 4fb4d7f45d1cf-5f2f76a6e82mr1227063a12.5.1744181237949; Tue, 08 Apr 2025 23:47:17 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:17 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: m fally , Christian Herber Subject: [PATCH 10/12] RISC-V: memset() size optimized version: Rename local labels Date: Wed, 9 Apr 2025 08:46:59 +0200 Message-ID: <20250409064701.3435-11-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.3 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org Rename local labels to improve readability. Reviewed-by: Christian Herber Signed-off-by: m fally --- newlib/libc/machine/riscv/memset.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/newlib/libc/machine/riscv/memset.S b/newlib/libc/machine/riscv/memset.S index fac0f73a2..943835dc5 100644 --- a/newlib/libc/machine/riscv/memset.S +++ b/newlib/libc/machine/riscv/memset.S @@ -15,15 +15,15 @@ memset: #if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__) mv a3, a0 - beqz a2, 2f + beqz a2, .Ldone -1: +.Lset: sb a1, 0(a3) add a2, a2, -1 add a3, a3, 1 - bnez a2, 1b + bnez a2, .Lset -2: +.Ldone: ret #else From patchwork Wed Apr 9 06:47:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110085 Return-Path: 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 C7E16384F02D for ; Wed, 9 Apr 2025 06:54:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C7E16384F02D 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=M2m6fDBf X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id 7A72D384DEE6 for ; Wed, 9 Apr 2025 06:47:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7A72D384DEE6 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 7A72D384DEE6 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::62a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181240; cv=none; b=GTvuCKetR54uDb3enhi/6cyT7BM0GgBqXp7nnfF2E1oq4iS8zQCG5GjJe1W+/TiOGpe41cMuMz8Cuu+XgdbP4+VcUTnqYnyIdWYjGTe1K7Jahx0LAMBzhY8nUWU1Api3jVMXCr7phYHSetu2jQzz2jCHHGFP5Vcot/StdSaUfN0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181240; c=relaxed/simple; bh=qrgqNGl2Sk1sOUuXgMGEBYyrwfpJBScBXiDlSHtLcBk=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=V7i5HPk8Nvdt8gn7s6zmrnS34Ur4r4GQDUKpD/L3Ps9dfUyXVGyAtN2ZvLvxFcPnjFEj3JswsF0KIobmH5iUSNyA8TG6NnXE34+7N/R+fZu0UcysBhI0VU80eZYPYkzAy2keTTifNb9Ccd8Jwr11bsYQev3x68tnRFdVBFjVw0c= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7A72D384DEE6 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-ab78e6edb99so924057766b.2 for ; Tue, 08 Apr 2025 23:47:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181239; x=1744786039; 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=VpZk5YdueV5bDbBnl0WSdXnESI/j8dFamj2x3XYJtaI=; b=M2m6fDBfijSe7zrEMzd2vNfwrGYJkJnQGz0MJW07KSrt+nkrC9uJ21Wc2XMFx8sWmu Z/BVt6ZKKxdiofkxqCdrhX6oLUZ5AUFS2VsPmndrpZcTzOgnq7FMB5tWaff5nwf0qUH0 k7ToV3F/rCa3wz8IIkXtrpCw6V1h9PzvrOuftH281zGxptcke/eLZCG8DX3q2dxgOgDk q5OwF5mGRDUQ4axYmL2JJSN/WF4aYraiXdih2MiQSFibvEMAtuHAm4AIJR7WwFpvo1BX LDAZfVLvABTtsLk2U+ibdoJM+HvrlVjnewl0ymTRTCoC9iUo/DBBkYCIzC2gsPmUgCzi 7cSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181239; x=1744786039; 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=VpZk5YdueV5bDbBnl0WSdXnESI/j8dFamj2x3XYJtaI=; b=P+fAoSQWy1yJAw5fMt1mrxH5Zr5o9cgnCmE5LE1onKM1IZDYACW6SQUlZqhxp5w2FC 76kUP0oTHVBYnS6rXrduVX3mMAhIC2/5rHgS+1Hnkxyfmpd96g1NiLgW79dtgklW26gO 6m/SS6xGtC5T/Q6BtVcdXPbjm7Rh+/Uj+6OQRs7Eoxc+UqGS8JX5P743hWyps6/hhYcj WNHKlD7wxyWGCXxoV5z6OBBVogk40T8AjLXhhv7Uj29XHH0zqZYUyc5u/kkQKuayQYAD ny3vlc7v1Y//I6Kxpv6sxylywKOM3c3TqWZ7IwXjD9W/t5VmJc0AtodklmSeqmRe97MX ja/A== X-Gm-Message-State: AOJu0YwC/EnSevhLAhgQfkaSIC7B9uCy9Mg7lt1wUNVOfhYKrd+oHbIv /g8b2xKz4is4yDh8oWR+00j1RZQPjAYjywOc/r+kyPhy/pHPacT93N09eTOgoJo= X-Gm-Gg: ASbGncvF+5jROG9ZTOUcOs4jpoTynzU8PZng0Z95XOjgODKMpqIrr02I47NgJ3wkRj9 QYeLeU7q8MlNT+8uL7r10qfZnGApBzzaIiY10E2CaD7Pl4IWiMsV+Cfp+KRSsRU0N6g3igeGx7R TiyQ0NC1fgnZB1eS1qsuqGyzz6Qb3g3HbbetYJMdrP1ih99Xqz5VADdvJ4rKmO+GK0QLwJ0l2Vd p2I2YOwMmvp54g0l50GYeVJRl1xF0edmpFeYmDpkX6Papzpfhs/9SOZ9wYMXASX1Zr/2Df0KpWg DtBvRxmuj6T1bQDU47ZVSY7VR2rLL7bXyHENuzdcB8dmSUElUD2n+of4gTQ= X-Google-Smtp-Source: AGHT+IFJdBltp/yTxrgUyUvegHNF6gAk4f3OV0ZwsMIAkwpKbZxNb8k3AGE+q1Hcf9PCIFmcI7DpgA== X-Received: by 2002:a17:907:9816:b0:ac7:3457:720 with SMTP id a640c23a62f3a-aca9b65dc8bmr137665866b.15.1744181238975; Tue, 08 Apr 2025 23:47:18 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:18 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: puranikvinit , Christian Herber Subject: [PATCH 11/12] RISC-V: strcmp() size optimized version: Use compressed registers Date: Wed, 9 Apr 2025 08:47:00 +0200 Message-ID: <20250409064701.3435-12-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org From: puranikvinit Swap uncompressed registers with compressed registers. Move the li instruction downwards, so t2 can be replaced with a5. Reviewed-by: Christian Herber Signed-off-by: puranikvinit --- newlib/libc/machine/riscv/strcmp.S | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/newlib/libc/machine/riscv/strcmp.S b/newlib/libc/machine/riscv/strcmp.S index cc29b7b8b..b49569db5 100644 --- a/newlib/libc/machine/riscv/strcmp.S +++ b/newlib/libc/machine/riscv/strcmp.S @@ -30,8 +30,6 @@ strcmp: .size strcmp, .-strcmp #else - li t2, -1 - #if !(__riscv_misaligned_slow || __riscv_misaligned_fast) or a4, a0, a1 and a4, a4, SZREG-1 @@ -48,12 +46,13 @@ strcmp: REG_L a2, \i*SZREG(a0) REG_L a3, \i*SZREG(a1) - and t0, a2, a5 - or t1, a2, a5 - add t0, t0, a5 - or t0, t0, t1 + and a4, a2, a5 + or t0, a2, a5 + add a4, a4, a5 + or a4, a4, t0 - bne t0, t2, .Lnull\i + li a5, -1 + bne a4, a5, .Lnull\i .if \i+1-\n bne a2, a3, .Lmismatch .else From patchwork Wed Apr 9 06:47:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: m fally X-Patchwork-Id: 110087 Return-Path: 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 3F7E9384DEDA for ; Wed, 9 Apr 2025 06:56:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3F7E9384DEDA 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=Kxq4TQ8m X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) by sourceware.org (Postfix) with ESMTPS id 8E831384F02D for ; Wed, 9 Apr 2025 06:47:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8E831384F02D 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 8E831384F02D Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::52f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181241; cv=none; b=F9+uqLLCtVJU7FCgIXch749wdcloXGeKornfpX4cIc/oMEDekNRG0FFQN4UDqUcTEv1jUMi16dom/pgGpyq1kc6ViVtyjSvg0ypHvbwyI65hdL1AxLFmf5ttDPivXBcmy9Q6bKyvJpGhTpOmyjwg55hTEMsieDyJSOxTXM4R2I0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744181241; c=relaxed/simple; bh=5FFXMTX7f/l87E4vs9TGsso8fSiSGigTJXGMAuOEseY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=oObCTzctk2suJlZ5QMlTylOuM//BjPhcCBG992KVk5rwaH3M5lNSqMafSlz4uPUcdkvX92MQKQxCKuyI5gdewIAhlvaLt3yREplkzX+6UuNughU/aqOIpA/LsqC83AiQunfRf3q3iWNTPEs4gtFWrsUZ6NIzcOMjdZ1YQUSlq5w= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8E831384F02D Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5e6c18e2c7dso12460032a12.3 for ; Tue, 08 Apr 2025 23:47:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744181240; x=1744786040; 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=bQxFmVwHzHFoqYDAMunYoTkOBY76sP5tEQBqzkpseDw=; b=Kxq4TQ8mI2R6uzS9Ji8MgJNXf64tf6jmlaoaxNRM10P/NBaj4LHxCkxoQU2ULf8tri 3SF19h/GssCZDP8Lk/82S2JHjdMTtSIrBq3N4puYfikOxUvlLkjcV7mfP/rHnd2LKlIF jpSZ6n9uAIC+T1vFRChKJ4co3ycNFzFP4UhtAkSGxbSDGbWg4mvdF4k/KCcyiGtIGwcL W/q10bptMHMWIGsBdkvbauTgabpIOwgjIzG9A7sJlkGJlPdPNHFkRG2gFC8bieGX6zou 1mahMejgZOMeb4iadIXViPmE9SErmb1a84UYYM/2q4bGyGWAHwUpSQvH0dtaecltXimB KdDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744181240; x=1744786040; 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=bQxFmVwHzHFoqYDAMunYoTkOBY76sP5tEQBqzkpseDw=; b=fKxdcIROkW1Zgy7xaTzWhNity+nnDam6uDi1vAWLYrzQoXxde7wA64EIdi+sxYdHVa pZH12/DhiRCSowNL/WTf2L3PahQgS9Wmw26PTkvAfVIqBeapr81rVoUnQyb5FwJTjMaR 9FEGYrDSBb0JnZ1ldR52Os04q7ermL5LTExy/1n2IMWGyFYo976pGTUXfDdbphvz4cpx qKRmB1VZCeCMoo/UrFttvPpD1eZ8xoY3UpEPWwqFVloI7c02ttbvIkZ5iT/1gHE4Fvmh kclUmFWMzPuAai1tF3O4K3hWtOPBMZRPdPF6YmQE/8R9/8S2RCaGHkC0wo8MLpjkrRO4 faXA== X-Gm-Message-State: AOJu0YwASxcL7dimi0GkhkGTLgcBkAVPXiiXHpbTrg5rx/UbBqcyTZWS YhHDzarOxavkRbTCNI+u/UnAzifsQrj0JhQBELnbcpsgEgYa+E4gmjKz/4b78oM= X-Gm-Gg: ASbGnctvqZQRpp2TKBv8UZMMhrsd/OqCBxcq1pVlZVX24AXQqECf36dJ0kSXQjStduQ ZAcYfKavydtEsVQv4ntDXc4NZZj8BN2ajNlnEH2U7GE0PxF0H2mEuTNq3ytKXhCJRH/TiaP91N1 iKoVjSlk2tXMuxY+GPDtpVDca6iAo4xuiUK0Jy5WzJ6igzq7WGMCY7awGCYU40MtwxBfujh5pOx 2dmDKGKeG+jiy8sXNNjr2MaEbD0Uk5u+BgGpt4aRO2aTy+x0U+z752rC85KHqLe8wuUoDphoUok 39o3o8jagCA28Ohezqde0dNmwES/GlJGbNzAS8erg5BrxxYcpWTrawIuao0= X-Google-Smtp-Source: AGHT+IEJfutZOPt+FKfFdtOYfvbojZOMnUt6pOIAnKm2aUEDW/NbeURUiNWit3gCTKlVMJM4y8PcoA== X-Received: by 2002:a05:6402:5187:b0:5de:dfd0:9d20 with SMTP id 4fb4d7f45d1cf-5f2f773fcb1mr1414830a12.24.1744181240191; Tue, 08 Apr 2025 23:47:20 -0700 (PDT) Received: from localhost.localdomain ([2001:4bc9:a46:d00f:b073:3e3:923:aedd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f2fbc2cf69sm318413a12.37.2025.04.08.23.47.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 23:47:19 -0700 (PDT) From: m fally To: newlib@sourceware.org Cc: m fally , Christian Herber Subject: [PATCH 12/12] RISC-V: Size optimized versions: Replace add with addi Date: Wed, 9 Apr 2025 08:47:01 +0200 Message-ID: <20250409064701.3435-13-marlene.fally@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250409064701.3435-1-marlene.fally@gmail.com> References: <20250409064701.3435-1-marlene.fally@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.2 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, SCC_5_SHORT_WORD_LINES, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org Replace add instructions with addi where applicable in the size optimized versions of memmove(), memset(), memcpy(), and strcmp(). This change does not affect the functions themselves and is only done to improve syntactic accuracy. Reviewed-by: Christian Herber Signed-off-by: m fally --- newlib/libc/machine/riscv/memcpy-asm.S | 6 +++--- newlib/libc/machine/riscv/memmove.S | 2 +- newlib/libc/machine/riscv/memset.S | 4 ++-- newlib/libc/machine/riscv/strcmp.S | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/newlib/libc/machine/riscv/memcpy-asm.S b/newlib/libc/machine/riscv/memcpy-asm.S index e9fe381d9..2771285f9 100644 --- a/newlib/libc/machine/riscv/memcpy-asm.S +++ b/newlib/libc/machine/riscv/memcpy-asm.S @@ -20,9 +20,9 @@ memcpy: 1: lbu a4, 0(a1) sb a4, 0(a3) - add a2, a2, -1 - add a3, a3, 1 - add a1, a1, 1 + addi a2, a2, -1 + addi a3, a3, 1 + addi a1, a1, 1 bnez a2, 1b 2: diff --git a/newlib/libc/machine/riscv/memmove.S b/newlib/libc/machine/riscv/memmove.S index 6ecad9ad6..061472ca2 100644 --- a/newlib/libc/machine/riscv/memmove.S +++ b/newlib/libc/machine/riscv/memmove.S @@ -29,7 +29,7 @@ memmove: add a1, a1, a3 .Lcopy: 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 */ + addi 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) bnez a2, .Lincrement diff --git a/newlib/libc/machine/riscv/memset.S b/newlib/libc/machine/riscv/memset.S index 943835dc5..3d207e7eb 100644 --- a/newlib/libc/machine/riscv/memset.S +++ b/newlib/libc/machine/riscv/memset.S @@ -19,8 +19,8 @@ memset: .Lset: sb a1, 0(a3) - add a2, a2, -1 - add a3, a3, 1 + addi a2, a2, -1 + addi a3, a3, 1 bnez a2, .Lset .Ldone: diff --git a/newlib/libc/machine/riscv/strcmp.S b/newlib/libc/machine/riscv/strcmp.S index b49569db5..2b2447df5 100644 --- a/newlib/libc/machine/riscv/strcmp.S +++ b/newlib/libc/machine/riscv/strcmp.S @@ -19,8 +19,8 @@ strcmp: 1: lbu a2, 0(a0) lbu a3, 0(a1) - add a0, a0, 1 - add a1, a1, 1 + addi a0, a0, 1 + addi a1, a1, 1 bne a2, a3, 2f bnez a2, 1b