From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53045) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ycbrq-0004tP-IM for qemu-devel@nongnu.org; Mon, 30 Mar 2015 11:44:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ycbrl-0007qh-KV for qemu-devel@nongnu.org; Mon, 30 Mar 2015 11:44:46 -0400 Received: from mail-qc0-x22b.google.com ([2607:f8b0:400d:c01::22b]:36842) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ycbrl-0007pW-6s for qemu-devel@nongnu.org; Mon, 30 Mar 2015 11:44:41 -0400 Received: by qcgx3 with SMTP id x3so17513563qcg.3 for ; Mon, 30 Mar 2015 08:44:40 -0700 (PDT) Sender: Richard Henderson Message-ID: <55196F64.6050409@twiddle.net> Date: Mon, 30 Mar 2015 08:44:36 -0700 From: Richard Henderson MIME-Version: 1.0 References: <1426593410-21405-1-git-send-email-stefanha@redhat.com> <1426593410-21405-6-git-send-email-stefanha@redhat.com> <5508410B.8030003@redhat.com> In-Reply-To: <5508410B.8030003@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 5/7] omap_intc: convert ffs(3) to ctz32() in omap_inth_sir_update() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Peter Maydell , Markus Armbruster On 03/17/2015 07:58 AM, Paolo Bonzini wrote: > On 17/03/2015 12:56, Stefan Hajnoczi wrote: >> + for (f = ctz32(level) + 1, i = f - 1, level >>= f - 1; >> + f != 33; >> + i += f, level >>= f) { >> p = s->bank[j].priority[i]; >> if (p <= p_intr) { >> p_intr = p; >> sir_intr = 32 * j + i; >> } >> - f = ffs(level >> 1); >> + f = ctz32(level >> 1) + 1; >> } > > Since it's 2.4, we might as well make the code nicer: > > while (level != 0) { > i = ctz32(level); > p = s->bank[j].priority[i]; > if (p <= p_intr) { > p_intr = p; > sir_intr = 32 * j + i; > } > level &= level - 1; > } Agreed. r~