From patchwork Sun Jan 6 15:04:43 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Cristian_Rodr=C3=ADguez?= X-Patchwork-Id: 209776 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 118AE2C0086 for ; Mon, 7 Jan 2013 02:28:44 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756051Ab3AFP2m (ORCPT ); Sun, 6 Jan 2013 10:28:42 -0500 Received: from mail-gh0-f169.google.com ([209.85.160.169]:64185 "EHLO mail-gh0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756039Ab3AFP2m (ORCPT ); Sun, 6 Jan 2013 10:28:42 -0500 X-Greylist: delayed 996 seconds by postgrey-1.27 at vger.kernel.org; Sun, 06 Jan 2013 10:28:42 EST Received: by mail-gh0-f169.google.com with SMTP id r11so2276927ghr.28 for ; Sun, 06 Jan 2013 07:28:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cristianrodriguez.net; s=google; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :mime-version:content-type:content-transfer-encoding; bh=nizYKZUFDVjJhEI9hpCzNCEOtKJ7f1cZ16+KQCzgIK8=; b=V2nGckrtu/AYgUyVpPI8K42FEo+ojr/+cnWkCxI+989atBlElz790cHueldH4UDBkH SqU33mENTke5mumv7kRUV3pINwxyIIa4LTUJzQjqropWbU0yHnk6T1BIVNGyN8rlCa14 piONBSd2EPaeDgCYtpT18A14g/xPi/Rn11Uw4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :mime-version:content-type:content-transfer-encoding :x-gm-message-state; bh=nizYKZUFDVjJhEI9hpCzNCEOtKJ7f1cZ16+KQCzgIK8=; b=Eu5BTW+5LcT1LZQNBlz5fe9V5EhtoGFbmHaKkXzEselFuaD1ctPSyjPSF9htufstNo tq/YlKOa/GD4nuwdTYbEfwKY8u/K5cNN34LiRTuKq3QmnU7Y3jODUdy6awVaqZ8ihCq6 s2n1ubjDu2b/Wj1n8QIVDF85EgxHto+s0VvHdweoKIf+7rLhpgQd23vmL3k2lgBSK0B0 6zSPExCYo90U+ECeUyK5WZ2MITH7VBBe5Mfs2UcYNGDbgmDFfCe/ja/X4S/iXfbaR2Lo K2fYu2YpWgI2PKR57lDAo7OB8fdyxy2Tb9T6WQeZWVRuSqLLhOnBMVf9xt2iljdssico cMfw== X-Received: by 10.101.180.27 with SMTP id h27mr18212097anp.60.1357484746703; Sun, 06 Jan 2013 07:05:46 -0800 (PST) Received: from xps9000.cristianrodriguez.net (pc-81-47-101-190.cm.vtr.net. [190.101.47.81]) by mx.google.com with ESMTPS id i26sm62852982yhc.10.2013.01.06.07.05.44 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 06 Jan 2013 07:05:45 -0800 (PST) From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= To: linux-ext4@vger.kernel.org Cc: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Subject: [PATCH] =?UTF-8?q?lib/ext2fs:=20Use=20=5F=5Fbuiltin=5Fpopcount=20?= =?UTF-8?q?when=20available=20Signed-off-by:=20Cristian=20Rodr=C3=ADguez?= =?UTF-8?q?=20?= Date: Sun, 6 Jan 2013 12:04:43 -0300 Message-Id: <1357484683-3021-1-git-send-email-crrodriguez@opensuse.org> X-Mailer: git-send-email 1.8.1 MIME-Version: 1.0 X-Gm-Message-State: ALoCoQmD3/NT8n+2Lm/mYNeMoOQ4ur+05y+4mRkmmEXtLBGBBCkNnO9h4vq/RD6Q55QBjCbHh+aX Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org --- lib/ext2fs/bitops.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/ext2fs/bitops.c b/lib/ext2fs/bitops.c index 7c3f215..0668469 100644 --- a/lib/ext2fs/bitops.c +++ b/lib/ext2fs/bitops.c @@ -125,11 +125,15 @@ static unsigned int popcount8(unsigned int w) static unsigned int popcount32(unsigned int w) { +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) + return __builtin_popcount(w); +#else unsigned int res = w - ((w >> 1) & 0x55555555); res = (res & 0x33333333) + ((res >> 2) & 0x33333333); res = (res + (res >> 4)) & 0x0F0F0F0F; res = res + (res >> 8); return (res + (res >> 16)) & 0x000000FF; +#endif } unsigned int ext2fs_bitcount(const void *addr, unsigned int nbytes)