From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752699AbbJWDdn (ORCPT ); Thu, 22 Oct 2015 23:33:43 -0400 Received: from mail-bn1on0141.outbound.protection.outlook.com ([157.56.110.141]:18709 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750922AbbJWDdl (ORCPT ); Thu, 22 Oct 2015 23:33:41 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Message-ID: <1445571207.701.152.camel@freescale.com> Subject: Re: [PATCH 8/9] powerpc: simplify csum_add(a, b) in case a or b is constant 0 From: Scott Wood To: Christophe Leroy CC: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , , , Date: Thu, 22 Oct 2015 22:33:27 -0500 In-Reply-To: <5549ecca2c921f34d076c47b5e2a91a3e78b20a7.1442876807.git.christophe.leroy@c-s.fr> References: <5549ecca2c921f34d076c47b5e2a91a3e78b20a7.1442876807.git.christophe.leroy@c-s.fr> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.0-fta1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [50.157.106.250] X-ClientProxiedBy: CY1PR0801CA0029.namprd08.prod.outlook.com (25.163.136.167) To BY1PR03MB1482.namprd03.prod.outlook.com (25.162.210.140) X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;2:cBnsDGSDXU5RgZKsoaEUjMfvoVbLdtzrYq8+KAmLorgVxOW9i1pjSq/an8nWArf4MbSHPWuIk/Vre+MhvOJR7z/pJhpPZRyxtv7hLFg7SEGoY7y5naapKUtLNGHgd5pBn5CpmbuIVvOJUW6im2gijkgELCYc5iHn5npT+DprDZQ=;3:zdGL6fGJ3XKRYSS0b7Y3iFHzk05FCRKXmaR0eNRnVfTOXowHTUi0JiI/0gnlelTwkC6vRcvAMqVhfu/BA6JmT0zHSh6l6xXrTH2Wb/NMBW+mgK1Qf9+3jESeiYLvkcFEH8/aXODqc/DeLchFqRtBAQ==;25:BFHa4Jxk2cYZuTmpj6ou8PRDsKcp3U1YW/FHru0qnFFhFmgactvgyHBDt5+lqnViVyhaaTlfeqARkibmB60yWG5uWMaBUuTSbZb9/qAa6Ebq1DX5+P5VYlNA7fCUvGdQi+JJwtzyN8XMZKzuMVHMvkthB3xlY7eFCq1oUu75yuV2EsZiD+jm0YGOU3qshouwTUoMGmyH2y/UPC0Ku0MmedCO0sn755UrA1yg4wr1N57etor2oQf14y0viXBl3uzO X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1482; X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;20:hFPmKcCpuuoz/SKHvrBjiF8neCtU2snQ8xh9xbVZkuvGviE9rPrjNDG3MaA/cZ2c+qia+z9Bfr+4wXJuhU4iPBf2QfQb/iGeXEoFeUQJaBH7ZPKWaQqB3TVFEu03leHKmBl5YXUTzzBDMpg+9aKQBMxV6xZlOm/OFBIah1/psTVjtFcz7bZRw9xNmt55Pn18UAR+MlyrKTnV49Hh2uZBh9L04/wJNw5eltWxczqqkDHWwk6Uxv5ql3NIEYtvBCcEkDvGjtrCszQXGWlcpB+wtCDXZW3NvQRFDZtesWKALE4uz/1hZCXER5VkfxgUN/+FwQEtStHFd/asjmX7FQCiEFtpFvgxqUTDqdfgiJGJ1Q1Mqy8Ng7an+jP23mooYGil9pUKBoFoERrdP1dqFirrZLVr3dIcVq5w6VRxsR5N+n2TwCQuA+i4rtGnvRsyBykPzhjVrPmB7Uo9fkgFRqTxTSRnQt5AwXrXd5LcpE04B/rziB9pkvXhQcTCLYQWeuta;4:5OZqdOPnCA1+8cgnUkfeWWrPucaOqRiEApW0MggrnmEbAdFkdqRPusKN/4Q78FZNoVjkWQm2mqvqbAW2uSyNRqGQVMHZH/7wML+uqbPHEWnDodaziNvryJmfX0lEy6HI5RBYYEdGDk2caDRVM5IXuLRGRtWEAGv2W60cwvQu03xclcd20fUGGOGTWagr3O4Se4TVeh2Uh3ms4pNm4tCpLGwJXWjmOs6dS1vqUcYZudFks9vapIP835U/ESMeK3B7LVo082t6IzYLjm0A53GtE81wV+ap8AC6yCAbOlt7eebWVDsxQqw+B6LJtNv757GCQxN42T1a8pDRXU+RTwDAgxFyrLTYo+7ptrf1EuMXlLPWG2+9CnD4B/uAMJxqN3D5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(102215026);SRVR:BY1PR03MB1482;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1482; X-Forefront-PRVS: 0738AF4208 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(24454002)(377424004)(199003)(189002)(66066001)(77096005)(76176999)(106356001)(101416001)(105586002)(87976001)(50986999)(47776003)(33646002)(36756003)(103116003)(19580405001)(42186005)(5008740100001)(92566002)(122386002)(50466002)(40100003)(2950100001)(5007970100001)(189998001)(5001960100002)(50226001)(110136002)(5004730100002)(86362001)(5820100001)(81156007)(97736004)(23676002)(99106002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR03MB1482;H:snotra.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzTUIxNDgyOzIzOnFuWHZVRHlCSHBIa29TMWlDM2tRcVIyRmJa?= =?utf-8?B?eVRzaGlaelFZVmMraUxBWEJFTk52Wjd6M3ptaTR6Zk9RZ3pQdk94NWNvdy9M?= =?utf-8?B?RHo5VGhOMXBzZkZYSmF0RnE5cnlUYVhiaXhUVUVIR3pYUmNVQ0xkWGhIUEda?= =?utf-8?B?ZHpjNEFHVDAwL2pFbFV1aEUxU04xeTg5TUNWK0xHR2dXaU9KaGR1Z01mYmNp?= =?utf-8?B?MzZ4MjM0eHV0cGo3U09qVmpPUDZoVGl3Vy9tMGN6bXBkblhKKzgyVHdtTndF?= =?utf-8?B?aHFTS2FWbkdLYVE3OWt6cVNwRDUzZjRJRkJzNFB5Sm1YS0l3alZvR1NoSjNn?= =?utf-8?B?anpiMm1na2JkK21wOFJNSStyMERycU1oaUNmRzg3VENZUEpLTW9KeTl4NFht?= =?utf-8?B?dlZKUEhWOXczOWgvVHBUNjFXTDMvM1p2YlRTbVk3ZWd1MThwWHNRb3hLNjV5?= =?utf-8?B?N1ZNU3E3cWdZVG5DRWwxc3d1YUl2Q0xSdGxOczZtdDZYM0tiMEVmVk5xQUx3?= =?utf-8?B?TXhIWkliQjJYM2wwTmpNWXpGbkkrZG00SGJ1R1M3RStSUjhzYWhVK2xGdjA1?= =?utf-8?B?MDIvUDNBUFpOaEhEU0xsYXpwRldqOG1nSVJLN1BSRllVK2t3cjBQOFUrbGhV?= =?utf-8?B?aktqbkwzb2s1RFUyd21kVEN1S2RCR01icEJheHg5TTMrYSt5MnYrdHhQbFFK?= =?utf-8?B?aDZEQ3h3eDVJRm9kQ0sxTXEwaVpNcGxvdkhtWURhOFhiTG5kVVVzSjE0bjgv?= =?utf-8?B?VW9IOWF6U0hiVVBSMjJFZnNiaW5ha2xvaGk0bXZQdG93akVEVWN3TXh1YS9R?= =?utf-8?B?a3ZUZlRudCtnMXVDUGgwbUxwQm9tOUtwWDZIYS9maGo2TithL0hhUEFzSzFW?= =?utf-8?B?TkplNG1pcGtUMEp3MkFpVDFYVlFlNVg1WG5BWTI0cmIxbEIzdCtTelZVQ3BQ?= =?utf-8?B?VXlmdm0yR2pxaVpLcDgyQXJ5TzYwZllEQlFZYkoyVC9UZjZYRlFSckJta3dy?= =?utf-8?B?bFJNdkI5bkpqbFF6dkttNnY2bVpsamNtRURVL0p4L1ZqN0dQUkNlSTkwRVhB?= =?utf-8?B?VHBHRXphUWJCOGQxODI4TGQ4Q3VsUUJaYXVwbkdlQ1o5Yld5djZHWkZVOG11?= =?utf-8?B?V01JL2V6SGMyUzRYSTBIWkhzRlRMTklLNVNQVW1jcEhYZ3JOV0lscjlaSzdV?= =?utf-8?B?clNGaUxFU3ZNaGo0YzJqTzBRQnVpTGxaS3ZwUzUydDdON3laalFaRDdMa21W?= =?utf-8?B?bnMwU3Y4NXB5N0N5ZStsMktLbDFVVWdKb0JWb1BlZ3c5OEFhT0VOTE5rTzA1?= =?utf-8?B?R3hTcndJRjBMMk1MNThEM3BPaUUvYlRZRFQ0VzRrRHRWV3BUVkNwMTQ1RWEx?= =?utf-8?Q?iqhRFGAi?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;5:tihE5/Ws2gCXopSyucCLEs2r4OzAMdaTL/6Iy5YfYdFabnh7VvrmbTXRFSgHkWmMrjKT0slGowoJrRhHOH0yokOt3nx3kt+1xnnHOvyGNfYqucN9w85UNMZW1sN/F8SdmPv5FosqM3N6Bbnq2LrdvQ==;24:RQnheI6YAbEr9ulNMdfkOjl2e6prg25H86T7mSr+CBA8dbveXUi4GeTw/HKwsTyidk5ddJzrEqmZxrbnInUl/f7gyZJTB4p7A5Lk7wpcJVo=;20:YszELs3FH5yN/ny6FClax2M7uk5qPfghdfxLLhiW2/bbl+XPCTakoJL3lAwy/D4lSSQJEXkugN9NnlyirzP2Ug== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2015 03:33:37.6334 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1482 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2015-09-22 at 16:34 +0200, Christophe Leroy wrote: > Simplify csum_add(a, b) in case a or b is constant 0 > > Signed-off-by: Christophe Leroy > --- > arch/powerpc/include/asm/checksum.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/arch/powerpc/include/asm/checksum.h > b/arch/powerpc/include/asm/checksum.h > index 56deea8..f8a9704 100644 > --- a/arch/powerpc/include/asm/checksum.h > +++ b/arch/powerpc/include/asm/checksum.h > @@ -119,7 +119,13 @@ static inline __wsum csum_add(__wsum csum, __wsum > addend) > { > #ifdef __powerpc64__ > u64 res = (__force u64)csum; > +#endif > + if (__builtin_constant_p(csum) && csum == 0) > + return addend; > + if (__builtin_constant_p(addend) && addend == 0) > + return csum; > > +#ifdef __powerpc64__ > res += (__force u64)addend; > return (__force __wsum)((u32)res + (res >> 32)); > #else How often does this happen? -Scott