Message ID | 23531015089930bb0165eeb69a6b5e24d6c5a3f7.camel@espressif.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 954DE3857C7F for <patchwork@sourceware.org>; Mon, 27 Jan 2025 10:46:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 954DE3857C7F Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=espressifsystems.onmicrosoft.com header.i=@espressifsystems.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-espressifsystems-onmicrosoft-com header.b=Pljft7Fq X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2072f.outbound.protection.outlook.com [IPv6:2a01:111:f403:2011::72f]) by sourceware.org (Postfix) with ESMTPS id D2102385843D for <newlib@sourceware.org>; Mon, 27 Jan 2025 10:45:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D2102385843D Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=espressif.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=espressif.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D2102385843D Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2011::72f ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1737974719; cv=pass; b=bWcrmln5PLZvtqYQyIG2e3WcUvkTjQuHYDq132dNz6PUQChjrrljjvJKGZAyENWzls7uZkSpGD1EEcySqE+TEaBEoGxVIt9wkYYNMfrF7NfRtxnnDjOWGT/qvannDkdfXpcc5oW9B4bKxGy8fK0dwgGOJHnDBf8i8VuD2RAnO8s= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1737974719; c=relaxed/simple; bh=wA/gys9U8bKr5a4qxde83YlGvL6phBoh8Ixvgd2sXGc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=ePb75qwiQW2DIYmdatMJPvVunz7HsIfo8XtY8RBmp4AHgA/oWpdiV9qFffN7IWz1UH+h/k264JR3JUHkZ+mQOh6TLPZlZEH2yoxRLdr9VxLsheMHeekMQAmg3mZfs8NlEvIwW41Fu77JC4jWdtluTFACozxElxpvn5nUKehYfvg= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D2102385843D ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MJIms0CDXOVo6iKSwC8OHlCwA0Jpl8UoWnqUKvKmxumOtboYhcj87x1UKmriua23d3BjK1FZ9cH51C7wF4zffbYtQyblob+xUqwh7J8bfaxGZarqLBws5jHOpoepHYCimJAf/SuD5Baa5J+313gdv3JHDd1VgAxwcOXoR4ZkvP3k7TJMqv6rm9TfFsW38K4QrraP7WyGFN2jjCzd6au/RNuiZ1YXvMrvWHyeqoQMQtSAT977xiNiekWmu7Zt3hhAMqVXQx3dfSjioGX2zff7wKfqwtnYwWRJjt5TswkNJc7CafiiQIAu/kmnenNRNTI8xXgddkYP/vlRxnPgN3VVmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wA/gys9U8bKr5a4qxde83YlGvL6phBoh8Ixvgd2sXGc=; b=Ts4174AkpoCTXtYi5SFkuR1t7I4i8YGfAPbmZ+V5M8ShYafFeaR4+H7WXoBYF4csdcSk+xi3T65OoWZSzpiR5Up3PKNKTogVM0P0LYu2pRlomBpXiwQLMddvRohCDtWcXJhWH76MQ0pRiSck8vB95+qC/x75R1X6VVKBGbsKQ1f0Zxgr5wedf8nmeO+UA7fQ2pYkCwe8ZxrG6jNW44GkTg4mMk49c0fBGaw9gM1629nTUOMEFSTGbUVa5+JndxJ0p47Axb1K6WSPH9iGhAS0nnU2wpz2Nqr6kMSFkOr6WfbT7+zZKY5mypK+eLZny9y8/x3a1YeZlvpMPYrz4D1ssw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=espressif.com; dmarc=pass action=none header.from=espressif.com; dkim=pass header.d=espressif.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=espressifsystems.onmicrosoft.com; s=selector1-espressifsystems-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wA/gys9U8bKr5a4qxde83YlGvL6phBoh8Ixvgd2sXGc=; b=Pljft7Fqq4uFN7bl7WJ1yQ9KZRvN9kU5Z41YoHd6s3yUc2zaf2KZ8Uy2SSIsTH9BVJ7Egmcr4HYqHAA4nHbHe0osxck+Rgy8C6j/Zr2cfGwrkSmMtqZXQ0f0FTWLk8ElEu6JXVdcUzuEndBcHq3ZVrnU/gS3UbL5WSmhsKeBi6Y= Received: from TYZPR04MB5736.apcprd04.prod.outlook.com (2603:1096:400:1fa::7) by PUZPR04MB6488.apcprd04.prod.outlook.com (2603:1096:301:f4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Mon, 27 Jan 2025 10:45:11 +0000 Received: from TYZPR04MB5736.apcprd04.prod.outlook.com ([fe80::6d6:9923:c880:a521]) by TYZPR04MB5736.apcprd04.prod.outlook.com ([fe80::6d6:9923:c880:a521%6]) with mapi id 15.20.8377.009; Mon, 27 Jan 2025 10:45:11 +0000 From: Alexey Lapshin <alexey.lapshin@espressif.com> To: "newlib@sourceware.org" <newlib@sourceware.org> CC: Alexey Gerenkov <alexey.gerenkov@espressif.com>, Ivan Grokhotkov <ivan@espressif.com> Subject: [PATCH 2/6] newlib: memccpy: unify mask filling with other memory functions Thread-Topic: [PATCH 2/6] newlib: memccpy: unify mask filling with other memory functions Thread-Index: AQHbcKiKtffC/puspkGOxMAkebh/cg== Date: Mon, 27 Jan 2025 10:45:11 +0000 Message-ID: <23531015089930bb0165eeb69a6b5e24d6c5a3f7.camel@espressif.com> References: <4ca70bc28f5edbc5a23c747313151ac5d290f54b.camel@espressif.com> In-Reply-To: <4ca70bc28f5edbc5a23c747313151ac5d290f54b.camel@espressif.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=espressif.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR04MB5736:EE_|PUZPR04MB6488:EE_ x-ms-office365-filtering-correlation-id: d5b807e6-f8fd-4b5e-e50c-08dd3ebfacd5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?q?NjKv2FJFH/wq0DJORN2bMMLCyqQeXeq?= =?utf-8?q?VdlRoVSvOypuY/G8KoLqflT3kV7FiulUzZX/gLx1uLg2uS011rE8xqAnIrvswW6r3?= =?utf-8?q?hjzo+WQwHrqirqLPbcaG5guN7EOY6c07mlrm9mogLWnLU38E+CbSr9ev3pGMihjjS?= =?utf-8?q?gwOOZ0qvsSIbNv0vMYOqlcDkgdXIYG2Yjk/T/n8rfFkC7SLJHcnCWqmsBR9oVHNQo?= =?utf-8?q?P83z4gypt9gUmnadRSA9N2NsAdOhyBo9Tw5yRAWkdwvVC5QURlaj7fwccdpiIm0cE?= =?utf-8?q?xwE/EGS52FR7W6IF3iK2haB1g5x82dcr/DJRgCeK8vVvueZSrEzCQHuzm3tlouXOY?= =?utf-8?q?IBlHBUTBsX5cS6FPHNpFbkCI7K/K9jgiKu/Bc1972j7qN0D5zZ6gxHQKp6onvNk11?= =?utf-8?q?Xd8WxP5HyAXL1mZ8CIjGbFPAz8FtNXfjOaTw3C+b4AAvV0pk35bFSkqraFJLfBkeH?= =?utf-8?q?U7r21c0EpIDX90U2Ai2tFZnelD8HqbTt5y5XtGQiuSWvA/dH+yPqKevvlI0K2I3YG?= =?utf-8?q?+/Paz87NzIuu4yUA97UOjNWoiHxhE5K01niVARrDZjlNdfKLFkM5gCQRWPCj33DCH?= =?utf-8?q?ye431BR65YhEJN/pbRuLs1V8XRIdCoSPVgUS00A7E3hXFm5LPAeKbLBRswMSgcv7r?= =?utf-8?q?anxWu3RRN8pMj86y2XQPXop71/3mUy/5GJ4G1xK/15L+o5E9FumrkgNOEeA3G5ePH?= =?utf-8?q?Yxa9DEJ5JQZQSiGP40SUaIL7Wisykd4RCJAyndurGFCTRhEgVpYOX0dGJGrsdTtmo?= =?utf-8?q?Irnt3kQnOFg5Gk7eHTjXLRFLgymlfubCpwYO0P8NZIbG6z3X8zehCQftAgpA+Vdr1?= =?utf-8?q?cTGqhwzC7HCri13Joui2zKdTqPvOXJV6k8EAG2jgHVjtYAzPgW2QDuE6syk+VOo+2?= =?utf-8?q?/VaTpm59F1hE5LgdWCnq8kWkYZWk+bd/kdrTPc1ktGUyyiS++bEaj5ilXLTYeFuxt?= =?utf-8?q?ulE6+HZyEm93EgN0/JX/HS6CDUnl4F590dwB3c/4Bg2G/McVo/diyWZYS7rUYAMAH?= =?utf-8?q?sThL8jKpRa7yl7PMZWlMKccbfdkEVUUu+qRL3kkH86VvMjYAlPu41BSjh77Tt7q9b?= =?utf-8?q?aSFCMAsqtQlaU/S+AzLj+IWIHMl6LjqTIjgh2ooyc6dUKRpY+Z13ZR2rG9Ckecsn5?= =?utf-8?q?dxNrDZmK1qEXAcTQsgE0Ww+qMJiIfcB3b2qFz1tbrj1iZX9ePrGiH4hYufex0nYEY?= =?utf-8?q?j9bMImK9cTcUSmgRLKlpF7xJrcURQSIRmfyu0RiD1SPlq9Zzht5ofYVXp9UtZuihT?= =?utf-8?q?jTC4se2b+Q43n5S4QEMFnwIn+34d5Cqtb/SfIeviH+xSNVm00+g21zhQssWvNW9Zy?= =?utf-8?q?+/nhfYCnVDgKH10YiLG2tyjLMh/w9zq9zo92pdYV3RCkn0o+LKEfk1d9GmWJVBW6y?= =?utf-8?q?pY4ix/MjTFE?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR04MB5736.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?23rGdLfYuO4951Pz9J9HGfHnwjMx?= =?utf-8?q?eFemdWqfOpu9ZZUVCUiwr45otB0JxiG+wcrg4ZWHvaWEmrv/kW91lBR0Z3s0GWxwi?= =?utf-8?q?CupDADLnOnHrYamRfuQrl1r8nKHt3K7gogapctc+GDtNZbfEbOGZqG+YwZcdIGDvp?= =?utf-8?q?3m1hrWp9VJ/2a63E027eWoLztcvr2L6o8BNE3zS6ynI8B1OjabHLpyCqOnzB+2a+8?= =?utf-8?q?VTbv1pv53/eVKxaiCp8VdW13gnQGY/7HDz3X15liiXgCXiR6rgTkltulDd34/PmJm?= =?utf-8?q?EcRn8F2L3Lldq68z8N9DI4ZOdEu8lIqAj0Gp+gZiHbGIXGNuIewKKnt1Hib7lL2dM?= =?utf-8?q?zGVCoZ20VignjDsxBhXwSL1R7ICN4mAqDlQjdJmvyUWGJI8ZvWyI07ZON4XtmQeif?= =?utf-8?q?/aCwCg+sjO2OR58DTVfFvqdtj69f1bkN3tbm1rDtVEdlhfQ9yLJrhRI+/21f3NYUI?= =?utf-8?q?lWONCxKcmBmA03FQmm7K613PnLOIn63HFDbdKk0Ofpsf0CZnIDXEodnsPhsC3HWPL?= =?utf-8?q?SXmUbQY6gQCdujtm496hYoSykvg1GXX+GsRs+noraAp1hycyKJ9FOWKeI6n671mt4?= =?utf-8?q?Z8x4UWdJE3AzqZpP5LufZcY1FT+gsBhn8F+NoNtLgtLQPIRxrQVlXgSdO5EfwTAbF?= =?utf-8?q?xc8pv7hfN2a3kxXxNJrfVlIF5R+Hi2mpoO1xxLVgh5gOReyt0JyIaiM0dBhm8mzHy?= =?utf-8?q?Q/4y8SWPNhNOJDZrx1BX1NCZiUkRWm2h5qtrq+72rkuoFIPmHmDeVST7vTvj3DzGU?= =?utf-8?q?vpnShtMM6SBAemdEOIyfIuwMnPC5g8FgLz+QW5hEjfjGe3pOy2ixlX7skvegD2woy?= =?utf-8?q?fp/+hUtx8WM0up5Glzs9nyz2XI2DUAjZzO91YEEGXRH0qcSokGA+RTZnSgiHHrDMU?= =?utf-8?q?9FP2KurnanHpn0W1aZ4x9gq6zHE0E9/A+Jz8gFQssKaLJCOnmtv0KJ/vVjPLBP+yK?= =?utf-8?q?lCZgBgcOz2r8znCYosDZl+6yje1gdhLkN4l/W6xTtwdW47c/PequwU5J83Zq8RVus?= =?utf-8?q?/kX8RiKsKb7yi8orDEp9gKDF8lIxzsL+uaUms6Az+/0mLM+zVAstPvEdOWlgg1AUy?= =?utf-8?q?WGUoLndFLyOky32BApc+2AaaKjOJPs4QnkCN0MeqdZbUXBCf4An0RmdZCTXwNT/B5?= =?utf-8?q?az19m6fZ55VLDXk/pO/pY1rrr3671/rgS7uY+axVglHxAgDlcWOQ7TqjZ58T5Rhte?= =?utf-8?q?2Bhe4Gl+qGmBFFBPxDwm7rw4BrNf2Q3K6XC9ozXNvTDvAnE/uA2mXeoQ3jhmFap+M?= =?utf-8?q?97PURyDwnWabPIAUQoKIiJaClapkKXCJnM10BOB5EJrDx5+yz65PzC60jxpij4Ruk?= =?utf-8?q?8AG9NkfuWpmlS/HJrF9tY2hHr6BrVVujWFmPC0B4k2rQWvGc1IdpWl/kwyZaPhUIV?= =?utf-8?q?WjA7pMLxxbblLnGyW3x8lTA6dldeqOYm5KeDIiJ1mku9A2UhqGkpFPDP/4EvyvF1y?= =?utf-8?q?SNf43esRzDSRsXV73kfnQi9o5sfXVs3E9pFtCiPqUdLmh6l+tOB1eEGVeTZ9L63AZ?= =?utf-8?q?Nzm7t3xZvW0ivj62IbjbKzreB5iI0jdjL0yRdLcYMqc+VDm21eKHhpk=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <90988E671392F546A5AD7F1A39C7D51B@apcprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: espressif.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR04MB5736.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5b807e6-f8fd-4b5e-e50c-08dd3ebfacd5 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2025 10:45:11.5752 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5faf27fd-3557-4294-9545-8ea74a409f39 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wk+0o/+ti/RB+2HB18UUTucopU7htkaxcUXeoxdQIlTtHrwiZgtFXoehZK+eIxmYuQ3spo23A6QE/uDClCnFMZVew/+tHhuRyCxLuMjWjDg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PUZPR04MB6488 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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 |
Refactor and optimize string/memory functions
|
|
Commit Message
Alexey Lapshin
Jan. 27, 2025, 10:45 a.m. UTC
This change made just to have memccpy like others mem-functions --- newlib/libc/string/memccpy.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) -- 2.43.0
Comments
On Jan 27 10:45, Alexey Lapshin wrote: > This change made just to have memccpy like others mem-functions > --- > newlib/libc/string/memccpy.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/newlib/libc/string/memccpy.c b/newlib/libc/string/memccpy.c > index 332332489..802723a2e 100644 > --- a/newlib/libc/string/memccpy.c > +++ b/newlib/libc/string/memccpy.c > @@ -69,7 +69,7 @@ memccpy (void *__restrict dst0, > if (!TOO_SMALL_LITTLE_BLOCK(len0) && !UNALIGNED_X_Y(src, dst)) > { > unsigned int i; > - unsigned long mask = 0; > + unsigned long mask; > > aligned_dst = (long*)dst; > aligned_src = (long*)src; > @@ -80,9 +80,10 @@ memccpy (void *__restrict dst0, > the word-sized segment with a word-sized block of the search > character and then detecting for the presence of NULL in the > result. */ > - for (i = 0; i < sizeof(mask); i++) > - mask = (mask << 8) + endchar; > + mask = endchar << 8 | endchar; > + mask = mask << 16 | mask; > + for (i = 32; i < sizeof(mask) * 8; i <<= 1) > + mask = (mask << i) | endchar; ^^^^^^^ Shouldn't that be mask? Corinna
diff --git a/newlib/libc/string/memccpy.c b/newlib/libc/string/memccpy.c index 332332489..802723a2e 100644 --- a/newlib/libc/string/memccpy.c +++ b/newlib/libc/string/memccpy.c @@ -69,7 +69,7 @@ memccpy (void *__restrict dst0, if (!TOO_SMALL_LITTLE_BLOCK(len0) && !UNALIGNED_X_Y(src, dst)) { unsigned int i; - unsigned long mask = 0; + unsigned long mask; aligned_dst = (long*)dst; aligned_src = (long*)src; @@ -80,9 +80,10 @@ memccpy (void *__restrict dst0, the word-sized segment with a word-sized block of the search character and then detecting for the presence of NULL in the result. */ - for (i = 0; i < sizeof(mask); i++) - mask = (mask << 8) + endchar; - + mask = endchar << 8 | endchar; + mask = mask << 16 | mask; + for (i = 32; i < sizeof(mask) * 8; i <<= 1) + mask = (mask << i) | endchar; /* Copy one long word at a time if possible. */ while (!TOO_SMALL_LITTLE_BLOCK(len0))